close

關於PersistenceSniper

PersistenceSniper是一款功能強大的PowerShell模塊,該工具專為藍隊研究人員、安全應急事件響應人員和系統管理員設計,旨在幫助大家尋找Windows系統中的持久化植入程序。
該工具目前正在積極開發中,可能隨時會更新,請確保在使用該工具前已升級到了最新版本。

支持檢測的持久化技術
Run Key
RunOnce Key
Image File Execution Options
Natural Language Development Platform 6 DLL Override Path
AEDebug Keys
Windows Error Reporting Debugger
Windows Error Reporting ReflectDebugger
Command Prompt AutoRun
Explorer Load
Winlogon Userinit
Winlogon Shell
Windows Terminal startOnUserLogin
AppCertDlls DLL Injection
App Paths Hijacking
ServiceDll Hijacking
Group Policy Extensions DLLs
Winlogon MPNotify
CHM Helper DLL
Hijacking of hhctrl.ocx
Startup Folder
User Init Mpr Logon Script
AutodialDLL Winsock Injection
LSA Extensions DLL
ServerLevelPluginDll DNS Server DLL Hijacking
LSA Authentication Packages DLL
LSA Security Packages DLL
Winlogon Notify Packages DLL
Explorer Tools Hijacking
.NET DbgManagedDebugger
cmd Hijacking
WMI Subscriptions
Windows Services
Terminal Services InitialProgram
Accessibility Tools Backdoor
工具下載
廣大研究人員可以使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/last-byte/PersistenceSniper.git
(向右滑動、查看更多)
工具使用
PersistenceSniper的使用非常簡單,以管理員權限運行PowerShell,然後運行下列命令:
PSC:\>gitclonehttps://github.com/last-byte/PersistenceSniperPSC:\>Import-Module.\PersistenceSniper\PersistenceSniper\PersistenceSniper.psd1PS C:\> Find-AllPersistence
(向右滑動、查看更多)

如果你想保持PersistenceSniper為PowerShell Galley中的最新版本,以管理員權限運行PowerShell,然後運行下列命令即可:
PSC:\>Install-ModulePersistenceSniperPSC:\>Import-ModulePersistenceSniperPS C:\> Find-AllPersistence
(向右滑動、查看更多)

如果你需要了解工具的所有參數和解釋,可以在導入模塊之後運行下列命令:
Get-Help -Name Find-AllPersistence -Full
如果你想檢測單個持久化技術,可以使用Find-AllPersistence的PersistenceMethod參數。比如說,你想通過Run和RunOnce註冊表鍵來檢測持久化植入程序,可以運行下列命令:
PS C:\> Find-AllPersistence -PersistenceMethod RunAndRunOnce
(向右滑動、查看更多)


PersistenceSniper的Find-AllPersistence會返回一個包含了PSCustomObject對象的數組,其中包含下列屬性:

$PersistenceObject=[PSCustomObject]@{'ComputerName'=$ComputerName'Technique'=$Technique'Classification'=$Classification'Path'=$Path'Value'=$Value'AccessGained'=$AccessGained'Note'=$Note'Reference'=$Reference'Signature'=Find-CertificateInfo(Get-ExecutableFromCommandLine$Value)'IsBuiltinBinary'=Get-IfBuiltinBinary(Get-ExecutableFromCommandLine$Value)'IsLolbin'=Get-IfLolBin(Get-ExecutableFromCommandLine$Value)}
(向右滑動、查看更多)

此時我們就可以對輸出進行格式化和過濾了。如果你想查看允許攻擊者獲取NT AUTHORITY\SYSTEM權限的持久化技術,可以運行下列命令:

PS C:\> Find-AllPersistence | Where-Object "Access Gained" -EQ "System"
(向右滑動、查看更多)


當然了,由於PersistenceSniper是一款基於PowerShell的工具,我們還可以將其輸出發送給Out-GridView來通過GUI界面進行交互:

處理假陽性
PersistenceSniper在搜索持久化技術的時候,可能會出現誤報的情況,因為很多合法軟件也會使用其中的部分技術。為此,我們可以通過創建一個包含已知誤報的CSV文件來解決這個問題。
這裡我們可以使用Find-AllPersistence,配合其他參數,我們可以直接將查找到的輸出保存到一個CSV文件中(或作為輸入以對結果分類):
PS C:\> Find-AllPersistence -DiffCSV false_positives.csv

許可證協議
本項目的開發與發布遵循CC0-1.0開源許可證協議。
項目地址
PersistenceSniper:

https://github.com/last-byte/PersistenceSniper
參考資料:
https://www.powershellgallery.com/packages/PersistenceSniper/1.0
https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns
https://www.hexacorn.com/blog/2017/01/28/beyond-good-ol-run-key-all-parts/
https://lolbas-project.github.io/
https://twitter.com/dottor_morte


精彩推薦





arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()