Situational Awareness

原文:https://pentestlab.blog/2018/05/28/situational-awareness/
傳統的內部偵察測試使用Windows內置命令,如net view、net user等,以獲取主機和域信息。因爲藍色團隊可以監視這些命令並觸發警報。所以使用其他方法,如PowerShell和WMI,避免在環境探索的過程中被檢測。

PowerView
PowerView是由Will Schroeder開發的PowerShell腳本,是PowerSploit框架和Empire的一部分。該腳本僅依賴於PowerShell和WMI (Windows管理工具)進行查詢。從現有的meterpreter會話PowerView中可以加載和執行以下命令來檢索關於域的信息:
meterpreter > load powershell
meterpreter > powershell_import /root/Desktop/PowerView.ps1
meterpreter > powershell_execute Get-NetDomain
PowerView有各種各樣的cmdlet,可以發現本地管理員。
meterpreter > powershell_execute Invoke-EnumerateLocalAdmin
Invoke-UserHunter可以幫助擴展網絡訪問,因爲它可以識別用戶登錄的系統,並且可以驗證當前用戶是否有本地管理員訪問這些主機。
PS > Invoke-UserHunter
PowerView包含多個cmdlet,還可以檢索域信息。
PS > Get-NetForest
還有一些模塊可以執行基於主機的枚舉。
(Empire: xx) > usemodule situational_awareness/host/winenum
(Empire: powershell/situational_awareness/host/winenum) > info
另外還有一個PowerView的Python實現,如果提供了憑證,它可以在不屬於域內的主機上執行。
#./pywerver.py get-netshare -w PENTESTLAB -u test -p Password123 --computername WIN-PTELU2U07KG
https://github.com/PowerShellMafia/PowerSploit

HostRecon
還有一個PowerShell腳本可以自動執行主機中的環境探索任務。Beau Bullock開發了HostRecon並可以使用PowerShell和WMI查詢從主機檢索各種信息以逃避檢測。HostRecon可以枚舉本地用戶和主機的本地管理員。該腳本將執行一系列檢查,以確定防火牆狀態、安裝的防病毒解決方案(如果使用了LAPS)和應用程序白化產品。因爲保持隱形是紅隊評估的首要任務,獲得這方面的知識對於在這一階段和以後使用的閃避行動是必不可少的。該腳本還會嘗試識別域名密碼策略,域控制器和域管理員等域名信息。
meterpreter > powershell_import /root/Desktop/HostRecon.ps1
meterpreter > powershell_execute Invoke-HostRecon
https://github.com/dafthack/HostRecon

HostEnum
HostEnum腳本由Andrew Chiles開發在主機上執行時提供詳細信息,和HostRecon類似。 HostEnum既可以在本地執行,也可以從內存中執行,並可以以HTML格式生成輸出。
meterpreter > load powershell
meterpreter > powershell_import /root/Desktop/HostEnum.ps1
meterpreter > powershell_shell
PS > Invoke-HostEnum -Local -Domain 參數-Domain將執行某些域檢查,如檢索域用戶列表和其他域信息。
https://github.com/threatexpress/red-team-scripts

RemoteRecon
在獲得本地管理員憑證並將這些憑證共享到多個主機的場景中,可以使用WMI在遠程主機上執行環境探索。RemoteRecon是由Chris Ross開發的,它的目的是允許紅色團隊在不部署原始植入物的情況下進行偵察。該腳本可以捕獲擊鍵和屏幕截圖、執行命令和shell代碼,還可以加載PowerShell腳本以執行其他任務。在進行任何操作之前,需要首先使用本地管理員憑證將腳本遠程安裝到主機中,或者如果當前用戶已經是目標主機上的本地管理員,則只需要計算機名。
PS C:\> Import-Module .\RemoteRecon.ps1
PS C:\> Install-RemoteRecon -ComputerName 'WIN-2NE38K15TGH'
通過腳本執行的命令的輸出可以用-Results參數來檢索。
PS C:\> Invoke-PowerShellCmd -ComputerName 'WIN-2NE38K15TGH' -Cmd "ps -name exp" -Verbose
PS C:\> Invoke-PowerShellCmd -ComputerName 'WIN-2NE38K15TGH' -Results
https://github.com/xorrior/RemoteRecon

參考:
https://github.com/PowerShellMafia/PowerSploit/tree/master/Recon
https://www.blackhillsinfosec.com/hostrecon-situational-awareness-tool/
http://threatexpress.com/2017/05/invoke-hostenum/
https://github.com/dafthack/HostRecon
https://github.com/xorrior/RemoteRecon

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章