VulnHub是一個面向所有人開放的安全靶場,裡面有很多安全環境,只要下載相關映像檔,在相關虛擬機器上面執行就可以練習相關靶場了。裡面設計了好多關,如果有耐心一定可以到達峰頂。許多考OSCP人員,也會利用Vulnhub靶場進行刷題。我們下載了一個經典漏洞靶場,給大家進行演示,希望讓初學者知道滲透測試的套路,可以更快的成長。
這題猜測網站路徑後,隱藏在原始碼裡的base64,得知upload頁面,接著上傳Reverse shell php,進入主機查看.bash_history,進行提權,取得root。
首先,先查詢自己本地的IP,可以透過 ifconfig查詢。
eth0 192.168.44.136 這是本地IP ,同時也是攻擊者端
透过nmap -sP,使用Ping來快速掃描當前網段主機。
得知該標的端為 192.168.44.139
透過nmap -A 完整掃描該主機服務,並掃描端口 0 - 65535。
發現只開啟了80 port,Apache 2.2.15版,系統為CentOS
使用Dirb掃描該網站頁面,除robots.txt外,沒其他資訊。
經一番搜尋後,實在找不到可利用的頁面,而robots.txt提供的路徑也只是一張圖片,最後嘗試輸入該網站標題fristileaks、fristi,才成功找到新的頁面,非常腦洞。
可以看到有個登入框,嘗試用SQLMAP與弱密碼爆破,沒有成功。
於是查看下網頁原始碼,可以看到有個提示,且 by eezeepz,看起來像是管理員留下的,這是個好資訊,非常大的機會是 管理員帳號。
在原始碼頁面下,可以看到一串base64,拿去decode。
decode回來,可以看到PNG開頭的字串,其實這是一張圖片。
於是我們要將這串base64還原成一張png圖檔。
將base64複製到txt檔後,我們直接base64 -d 轉換成 png檔,接著直接查看該圖檔
顯示 keKkeKKeKKeKkEkkEk ,極可能為 管理員密碼。
於是在剛才的登入框,帳號:eezeepz 密碼:keKkeKKeKKeKkEkkEk
便成功登入,顯示upload file,看起來是可以上傳檔案的頁面。
上傳檔案,立刻就想到上傳php shell,圖片木馬。
我們可以使用該 reverse shell來上傳
上傳php後,顯示只能上傳 png、jpg、gif圖片檔,於是我們將php-reverse-shell.php改為php-reverse-shell.php.jpg,重新上傳。
成功上傳後,訪問/uploads目錄,即可成功反彈shell。
透過nc 監聽 4444 port ,並訪問reverse shell。
在/var/www目錄下,發現有個note.txt檔案,經查看後
可以使用 chmod, df, cat, echo, ps, grep, egrep命令,並需在tmp下放置個runthis文件
於是我們使用echo
echo "/home/admin/chmod -R 777 /home/admin/" > /tmp/runthis
然後訪問/home/admin目錄
在目錄下,可以看到兩個txt檔案,經查看後,發現看起來像是base64,但被動過手腳了
用python將txt文本的字串轉換下。
得到兩組字串,其中 LetThereBeFristi! 為 密碼
我們換一下用戶 ,su - fristigod
密碼為 LetThereBeFristi!
接著進入到 var/fristigod目錄下,並查看.bash_history檔案,該檔案可看到之前的紀錄。
可以看到 用了一大串的 sudo -u fristi /var/fristigod/secret_admin_stuff
都是透過 sudo 來執行
我們嘗試用 sudo -l 測試下
<REDACTED>
User fristigod may run the following commands on this host:
(fristi : ALL) /var/fristigod/.secret_admin_stuff/doCom
於是我們繼續輸入
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom id
發現成功提權為 root
接著進入到 /root目錄下,查看 fristileaks_secrets.txt
成功得到flag。
結束。