當前位置:
首頁 > 新聞 > 防禦Mimikatz攻擊的方法介紹

防禦Mimikatz攻擊的方法介紹

簡單介紹Mimikatz攻擊

Mimikatz在內網滲透測試中發揮著至關重要的作用,主要是因為它能夠以明文形式從內存中提取明文密碼。眾所周知,攻擊者在他們的滲透中大量使用Mimikatz, 儘管微軟推出了安全補丁,但是在較舊的操作系統(如Windows 2008 Server)中Mimikatz還是仍然有效,所以在很多情況下它可能導致橫向移動和域許可權提升。 值得注意的是,如果Mimikatz是從本地管理員等許可權執行的,則它只能導出用戶憑據和密碼哈希值。下面通過幾種方法來防禦Mimikatz攻擊:

Debug許可權設置

根據Microsoft的調試許可權確定哪些用戶可以將調試器附加到任何進程或內核。默認情況下,此許可權授予本地管理員。然而,除非他是系統進程,否則本地管理員極不可能需要此許可權。

本地管理員-調試許可權

在默認安裝的Windows Server 2016系統中,未定義調試許可權的組策略,這意味著只有本地管理員具有此許可權。

調試許可權-組策略

從攻擊者的角度來看,可以通過使用Mimikatz以下命令執行此檢查:

檢查調試許可權

Mimikatz需要此許可權,因為它要與LSASS進程交互。 因此,將此許可權僅設置為需要這許可權的特定用戶或組,並將其從本地管理員中刪除是非常重要。 可以通過將策略定義為不包含任何用戶或組來禁用SeDebugPrivilege。

Group Policy Management Editor -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment -> Debug programs -> Define these policy settings:

禁用SeDebugPrivilege

Mimikatz-禁用調試許可權

WDigest

WDigest協議是在WindowsXP中被引入的,旨在與HTTP協議一起用於身份認證。默認情況下,Microsoft在多個版本的Windows(Windows XP-Windows 8.0和Windows Server 2003-Windows Server 2012)中啟用了此協議,這意味著純文本密碼存儲在LSASS(本地安全授權子系統服務)進程中。 Mimikatz可以與LSASS交互,允許攻擊者通過以下命令檢索這些憑據:

sekurlsa::wdigest

Mimikatz?—?WDigest

Microsoft在Windows8.1,Windows 10,Windows Server 2012 R2和Windows Server 2016系統中默認禁用此協議。但是,如果您的組織使用較舊的操作系統(如Windows 7和Windows Server 2008等),Microsoft已發布了一個補丁(KB2871997),允許管理員啟用或禁用WDigest協議。打完補丁後,建議驗證是否已經從註冊表中禁用WDigest。

HKEY_LOCAL_MACHINESystemCurrentControlSetControlSecurityProvidersWDigest

WDigest-禁用

Negotiate和UseLogonCredential註冊表項值應設置為0可以完全禁用此協議。 應該注意的是,在較新的操作系統(Windows Server 2016,Windows 10等)中,UseLogonCredential註冊表項不存在。 當然,具有本地管理員許可權的攻擊者可以修改註冊表以啟用WDigest並獲取憑據,因為Dave Kennedy在他的博客中對此進行了大量解釋。 因此,如果在禁用此協議後將這些值設置為1,則表明存在攻擊。 應該不斷監視註冊表修改,以便在早期階段獲得警報並捕獲威脅。

如果我們禁用此協議,攻擊者嘗試從WDigest檢索純文本憑據將失敗:

Mimikatz-WDigest已禁用

LSA保護

本地安全許可權服務(LSASS)驗證用戶是否進行本地和遠程登錄,並實施本地安全策略。 Windows 8.1及更高版本的系統中,Microsoft為LSA提供了額外的保護,以防止不受信任的進程讀取內存或代碼注入。Windows 8.1之前的系統,攻擊者可以執行Mimikatz命令來與LSA交互並檢索存儲在LSA內存中的明文密碼。

sekurlsa::logonPasswords

Mimikatz-與LSA交互

建議Windows Server 2012R2和Windows 8.1之前的系統應啟用LSA保護,以防止Mimikatz訪問LSASS進程的特定內存位置獲取明文密碼。可以通過創建註冊表項RunAsPPL並設置其值為1來啟用此保護。

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA

LSA保護已啟用

在啟用了LSA保護的系統中,攻擊者將收到以下錯誤:

Mimikatz-LSA保護

受限制的管理模式

Microsoft在WindowsServer 2012 R2中引入了一項額外的安全功能,可以有效的防止本地管理員的純文本憑據在RDP會話期間存儲在LSASS中。即使LSA保護可以阻止Mimikatz檢索憑證,但建議在攻擊者禁用LSA保護的情況下使用此安全功能作為額外的安全保護。

應在以下位置創建「DisableRestrictedAdmin」註冊表項並且設置為0,這樣可以通過網路RDP會話請求管理員登陸系統。 此外,創建「DisableRestrictedAdminOutboundCreds」註冊表項值為1,可以禁止管理員執行RDP的系統內部的網路身份驗證。 缺少此註冊表項,管理員可以導出憑據。

HKEY_LOCAL_MACHINESystemCurrentControlSetControlLsa

已啟用受限制的管理模式

需要在域中強制執行「對遠程伺服器的憑據限制委派」策略,以確保所有出站RDP會話都使用「RestrictedAdmin」模式,因此才不會泄露憑據。

組策略限制憑證授權

需要使用「Require Restricted Admin」設置啟用該策略。

啟用受限制的管理員-限制憑證授權

強制執行此策略後,管理員可以遠程RDP到所需註冊表許可權的工作站和伺服器,以便控制Windows運行一些程序。

運行-受限制的管理模式切換

或者直接從命令提示符執行它。

命令提示符-受限制的管理模式切換

對於Windows 2012 R2和Windows 8.1之前的舊操作系統,此選項是Microsoft補丁的一部分KB2871997。

憑證緩存

如果域控制器不可用,Windows將檢查已緩存的最後一個密碼哈希值,以便使用系統對用戶進行身份驗證。 這些密碼哈希值緩存在以下註冊表設置中:

HKEY_LOCAL_MACHINESECURITYCache

如果執行Mimikatz以下命令,可以檢索這些哈希值:

lsadump::cache

默認情況下,Windows會緩存最後10個密碼哈希值。 建議通過將以下安全設置來防止密碼的本地緩存,將其值設置為0。

Computer Configuration -> Windows Settings -> Local Policy -> Security Options -> Interactive Logon: Number of previous logons to cache -> 0

互動式登錄-不緩存登錄

攻擊者嘗試使用Mimikatz檢索這些密碼哈希將失敗:

Credential Caching禁用後Mimikatz出錯

受保護的用戶組

WindowsServer 2012及更高版本中的Microsoft引入了一個名為「Protected Users」的新安全組。 此組使域管理員能夠保護本地管理員等有許可權的用戶,因為屬於該組的任何帳戶只能通過Kerberos對域進行身份驗證。 這將有助於防止NTLS密碼哈希值或LSAS中的純文本憑據泄露給敏感帳戶,這些帳戶通常是攻擊者的目標。

可以在「Active Directory用戶和計算機」中找到「Protected Users」安全組。

ActiveDirectory-受保護的用戶安全組

成為此安全組一部分的帳戶將在身份驗證方面自動歸入Kerberos策略,默認情況下配置如下:

Kerberos默認策略

或者,可以通過執行以下PowerShell命令將帳戶添加到「受保護的用戶」組中:

Add-ADGroupMember –Identity "Protected Users" –Members Jane

通過PowerShell添加受保護的用戶組帳戶

通過安裝Microsoft的補丁KB2871997,WindowsServer 2008等較舊的操作系統可以擁有此安全組。

結論

通過使用有效的端點解決方案與AppLocker等應用程序白名單相結合來防止惡意的可執行文件,執行一些PowerShell命令和cmd命令,還可以加固安全性。即使網路攻擊者已經實現繞過這些控制,執行註冊表修改,以便充分利用Mimikatz進行憑證獲取,在此過程中將會生成許多事件,管理員應該監視某些註冊表項,這有助於檢測攻擊行為

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

Mylobot——一種使用高複雜度逃避技術的新型殭屍網路
深入研究VBScript—CVE-2018-8174利用分析

TAG:嘶吼RoarTalk |