環境
靶機:ip未知
攻擊機kali:192.168.233.128 192.168.56.101
主機探測
鎖定靶機ip為108
埠掃描
nmap -p- -T4 -A 192.168.56.108
常規套路80和22
web打點
dirsearch -u http://192.168.56.108/
訪問robots,txt檔案
訪問/decode
發現其自動新增了/,懷疑是本地檔案包含漏洞,即可以實現目錄穿越
我們對其進行目錄掃描,來確定/decode在目錄的第幾層
返回結果顯示/decode的上面一層就是/
我們讀取/etc/passwd檔案
發現root、steve、ajneya、decoder這四個使用者的可執行檔案是/bin/bash
因為伺服器開放了22埠,所以思路是獲取使用者密碼使用ssh登入
爆破steve使用者的密碼,無果
發現steve的使用者目錄在/usr/share
讀取使用者目錄下的bash歷史命令檔案
decode.csr是一個證書檔案,下載下來使用openssl命令檢視
發現使用者密碼
成功登入steve使用者
檢視網路資訊驗證
提權
我們要拿到user.txt的檔案,但是放在了ajneya使用者的目錄下,需要從steve轉到ajneya使用者
suid提權
find / -user root -perm -4000 -print 2>/dev/null
發現doas,這是一個類似於sudo的二進位制程式
檢視其配置資訊
配置資訊非常簡單,當使用cp命令時steve使用者可以獲取ajneya使用者的許可權
cp是複製命令,結合ssh,靶機作者是引導我們透過ssh的公私鑰驗證去或得ajneya使用者的許可權
思路是透過doas程式短暫使steve使用者擁有ajneya使用者的許可權執行cp命令將ssh公鑰放入/home/ajneya目錄下的authorized_keys檔案中,再使用私鑰去登入使用者
sudo -l檢視sudoers中ajneya使用者的許可權,發現ajneya使用者可以使用root的許可權執行ssh-keygen命令,以此為提權的突破口
首先透過kali的msfvemon製作一個shellcode木馬
ip是本機
埠為9001,並開啟監聽
將製作好的木馬檔案透過ssh後門傳入主機
這裡的id是ajneya使用者的私鑰檔案
透過scp命令成功傳輸
再次觀察ajneya使用者的sudo許可權
需要將檔案存入/opt/目錄下,ajneya方可有許可權執行
聯想到steve使用者的許可權,可以透過steve使用者將lib.so檔案傳入/opt目錄
成功寫入,此時只需要執行ssh-keygen -D 命令即可反彈shell
成功拿到root許可權!
知識點
目錄掃描、埠探測、主機發現、目錄穿越、ssh後門、suid提權、sudo提權、msf木馬
參考
https://nepcodex.com/2022/05/decode-from-hackmyvm-full-walkthrough/
https://pwn.ar/n/decode