vulnhub靶場之VULNCMS: 1

2023-01-15 18:00:12

準備:

攻擊機:虛擬機器器kali、本機win10。

靶機:VulnCMS: 1,下載地址:https://download.vulnhub.com/vulncms/VulnCMS.ova,下載後直接vbox開啟即可。

知識點:Joomla框架的注入漏洞、Drupal框架的命令執行漏洞、敏感資訊洩露、journalctl提權。

資訊收集:

通過nmap掃描下網段內的存活主機地址,確定下靶機的地址:nmap -sn 192.168.5.0/24,獲得靶機地址:192.168.5.94。

掃描下埠對應的服務:nmap -T4 -sV -p- -A 192.168.5.94,顯示開放了22、80、5000、8081、9001埠,開啟了ssh服務、http服務。

WEB服務-80:

存取80埠的web服務並進行目錄掃描,命令:gobuster dir -u http://192.168.5.94 -x php,html,txt,zip,ba -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt,發現index.html、about.html等頁面。

存取http://192.168.5.94/about.html頁面,發現一些資訊疑是賬戶資訊:mobley、elloit,但是告訴我們不要爆破,那這裡先放在這。

存取:http://192.168.5.94/vulnerable/頁面獲得6張圖片資訊,使用steghide、binwalk進行了嘗試讀取圖片檔案資訊,但是均是失敗。

WEB服務-5000:

存取:http://192.168.5.94:5000/頁面,存取hellworld進行跳轉時跳轉到了域名:fsociety.web,因此需要進行dns解析。win:開啟C:\Windows\System32\drivers\etc\hosts檔案,新增:192.168.5.94 fsociety.web,linux:修改/etc/hosts檔案。emmmm,但是後續發現這裡好像沒啥用。

對5000埠的web服務進行目錄掃描,命令:gobuster dir -u http://192.168.5.94:5000 -x php,html,txt,zip,ba -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt,發現wp-login.php、/rss等目錄。

存取:http://fsociety.web:5000/rss/頁面發現wp框架的版本資訊:5.7.2。其實直接使用wappalyzer外掛直接獲取版本資訊也行。

搜尋下wordpress框架版本:5.7.2的漏洞資訊,但是這個版本沒搜尋到有用的漏洞資訊。順帶使用wpscan進行了以下掃描,但是也沒發現什麼資訊,命令:wpscan --url http://192.168.5.94:5000 --enumerate t。

WEB服務-8081:

對8081埠的web服務進行目錄掃描,命令:gobuster dir -u http://192.168.5.94:8081-x php,html,txt,zip,ba -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt,發現README.txt、configuration.php、robots.txt、/administrator等目錄和檔案。

使用joomscan進行掃描,發現Joomla系統的版本資訊:3.4.4,以及一些漏洞資訊。

搜尋下Joomla系統版本:3.4.4的漏洞資訊,發現msf中存在該利用方式,那就直接在msf獲取下資料(或者看下指令碼的利用過程,使用sqlmap也是一樣的,可能獲取的資料會更直觀),獲取的資料儲存在:/home/kali/.msf4/loot/20230115112446_default_192.168.5.94_joomla.users_428555.txt檔案,讀取該檔案資訊獲得資料庫內資料,猜測是系統賬戶和密碼資訊(這裡如果能注意到有個郵箱資訊不一樣聯想到是密碼,那這裡就可以直接獲取一個較高許可權的shell,後面還是用的這個地方升級的shell許可權)。

[{"activation":"0","block":"0","email":"[email protected]","id":"46","lastResetTime":"0000-00-00 00:00:00","lastvisitDate":"2021-05-31 09:14:41","name":"Super User","otep":"","otpKey":"","params":"","password":"$2y$10$EYc6SKfMLzlLE/IcD9a6XeAe2Uv7WTBFlbbqRrnpht1K0M1bLrWee","registerDate":"2021-05-29 10:08:24","requireReset":"0","resetCount":"0","sendEmail":"1","username":"joomlaCMS_admin"},{"activation":"","block":"1","email":"5T3e!_M0un7i@N","id":"47","lastResetTime":"0000-00-00 00:00:00","lastvisitDate":"0000-00-00 00:00:00","name":"elliot","otep":"","otpKey":"","params":"{\u0026quot;admin_style\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;admin_language\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;language\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;editor\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;helpsite\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;timezone\u0026quot;:\u0026quot;\u0026quot;}","password":"$2y$10$jddnEQpjriJX9jPxh6C/hOag4ZZXae4iVhL7GVRPC9SHWgqbi4SYy","registerDate":"2021-05-31 09:16:30","requireReset":"0","resetCount":"0","sendEmail":"0","username":"elliot"}]                                                                                                                                                 

WEB服務-9001:

對9001埠的web服務進行目錄掃描,命令:gobuster dir -u http://192.168.5.94:9001-x php,html,txt,zip,ba -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt,發現README.txt、CHANGELOG.txt等目錄和檔案。

在CHANGELOG.txt檔案中發現Drupal框架的版本資訊:7.54。

搜尋下Drupal系統版本:7.54的漏洞資訊,發現msf中存在該利用方式,那就直接在msf中利用該漏洞獲取shell許可權。

提權-elliot:

獲取shell後在/var/www/html/joomla的configuration.php和/var/www/html/wordpress/public_html的wp-config.php檔案中發現對應的資料庫資訊,但是資料庫中密碼均是加密的,未破解成功。

這時候想起來上面利用漏洞獲取的Joomla資料庫中的資訊,存在的賬戶:elliot,但是其密碼同樣破解失敗,但是發現其email:5T3e!_M0un7i@N與正常的郵箱字尾不太一樣,猜測其是密碼,進行ssh連線:ssh [email protected],成功獲得elliot許可權的shell,並讀取user.txt檔案獲得flag值。

提權-tyrell:

通過:find / -perm -4000 -type f 2>/dev/null來查詢可疑檔案進行提權,發現了/usr/lib/policykit-1/polkit-agent-helper-1,利用其漏洞資訊進行提權,但是均提權失敗。

然後這裡思緒斷了以下,後面忽然間想起來還有另一個賬戶:tyrell,是不是他的密碼隱藏在某個檔案中,那就查詢以下,命令:find / -type f 2>/dev/null | grep tyrell,發現/var/www/html/drupal/misc/tyrell.pass檔案。

讀取該檔案資訊,成功獲得tyrell賬戶資訊:tyrell/mR_R0bo7_i5_R3@!_,使用獲得賬戶資訊成功切換到tyrell賬戶。

提權-root:

檢視下當前賬戶是否存在可以使用的特權命令或檔案:sudo -l,發現存在/bin/journalctl命令。

查詢下journalctl的提權命令,按照sudo方式進行提權,成功提權到root賬戶並在root目錄下發現root.txt檔案,讀取該檔案獲得flag值。