靶機位址:http://www.vulnhub.com/entry/grotesque-301,723/

我們在vmware中成功導入靶機之後,在kali中進行主機探測
<code>nmap -sn 192.168.33.0/24</code>
得到主機IP,接下來進行端口掃描
<code>nmap -sS -p- -v 192.168.33.230</code>
我們發現開啟了80和22端口,這裡說明可以進行ssh爆破,但是沒有線索胡亂爆破太費時間了,是以先去看看80端口web服務有什麼吧。
通路IP位址得到如下頁面
我們看看源代碼發現有一個圖檔,然後就啥也沒了。點進去看看,我還以為是圖檔隐寫呢,害得我一頓binwalk,foremost,stepgeek進行圖檔破解都無果,我在這裡替大家把坑都走了。最後看了大佬的部落格才發現圖檔裡面有一個mdXXXXX,這居然代表着md5,沃日我人傻了😱
然後接下來居然是從檔案名入手,我也不知道咋想的啥腦洞呀。我丢!👻意思是檔案名是經過md5加密的。接下來我們先生成一個md5的檔案名表。就用的kali自帶的字典/usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt。
執行以下指令将這個字典轉換成md5的字典
<code>for i in $(cat /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt); do echo $i | md5sum >> 2.txt; done</code>
接下來我們home目錄下面就有了一個2.txt,裡面都是經過md5加密的檔案名,這個2.txt一開始後面都會有兩個空格和一個短杠,這個是要去掉的。給它們替換成空就行了。
然後通過kali自帶的工具dirbuster進行檔案名周遊,在終端輸入<code>dirbuster</code>就可以開啟這個工具了。然後我們輸入位址,導入字典直接開啟了,最後就周遊出了一個php檔案。
我們通路這個php檔案傳回為空,接下來就行進行參數爆破了
通過kali自帶的wfuzz工具進行http參數爆破,最後爆破出了一個參數purpose
<code>wfuzz -c -w /root/dictionary/fuzzDicts-master/paramDict/AllParam.txt --hh 0 --hc 404,403 -u "http://192.168.33.230/f66b22bf020334b04c7d0d3eb5010391.php?FUZZ=/etc/passwd" -t 60</code>
我們通路這個頁面發現了使用者名freddie,接下來就是用hydra進行ssh爆破密碼啦,密碼我們就用剛剛md5加密的詞表去爆破吧,我也不知道作者咋想的,我估計這個writeup如果不是作者寫的話,神仙也做不出來吧。😂
執行以下指令:
<code>hydra -l freddie -P /home/2.txt ssh://192.168.33.230 -t 60</code>
接下來我們登入ssh:
<code>ssh [email protected]</code>
我們發現目前使用者是freddie,接下來我們就是想辦法提升到root權限。
我們看看能不能執行什麼系統指令,發現并沒有 指令:sudo -l
我們再看看也沒有什麼suid權限的檔案,發現也沒有 指令:find / -perm -u=s -type f 2>/dev/null
接下來我們執行<code>ss -tulpn</code>發現開啟了445端口,證明有smb服務在運作
接下來我們看看背景程序吧,發現有一個程序在執行,就是root使用者在執行一個指令<code>/bin/sh -c bash /smbshare/*</code>
說明root使用者在用bash這個指令去執行smbshare檔案夾下面的sh檔案,這個時候我們就可以傳一個sh的反彈shell到smb共享檔案夾下面,因為背景開啟了這個程序它會自動執行這個檔案夾下面的sh腳本,可能一分鐘執行一次,大家傳上去之後可以等等看kali過一會應該就能連上shell。
我們進到/tmp檔案夾,然後進入smb共享檔案夾(進入smb是不需要輸入密碼的,直接回車就行了。):
通過這個周遊出smb的檔案名,我們發現有三個檔案,依次嘗試發現第二個是能夠進去的。
<code>smbclient -L 127.0.0.1</code>
然後進入smb:
<code>smbclient //127.0.0.1/grotesque</code>
在這裡我們是可以下載下傳靶機的/tmp目錄下面的檔案進來的,通過put指令,接下來我們下載下傳一個sh的反彈shell進來就可以了。
shell檔案:
我們的kali建立這個shell檔案之後,通過python開啟一個http服務:<code>python3 -m http.server 9000</code>,然後我們靶機的shell去下載下傳這個檔案
最後我們就擷取到root權限了,我估計背景那個程序應該是過多久執行一次,是以如果你把腳本下載下傳進去沒有立馬反彈shell,你可以等等看,一分鐘左右應該就會彈shell了。
有什麼錯誤或者改進意見歡迎評論或發給我噢!大家一起共同學習!大佬多指教!!!!