bat 域 本机管理员密码_Windows域中特殊的用户-计算机对象攻防
當普通的計算機加入域中時,使用ADExplorer查看該計算機的屬性:
可以看到屬性中包含了該計算機的名字($結尾),創建者的sid,最后密碼設置時間,說明在計算機加入域的過程中,windows域為其創建了密碼,用于建立與域控之間的安全通道。
如果我們拿到一臺域內計算機,并沒有域賬號登錄,此時可以切換到system權限,klist
可以看到已經有票證在里邊,這里其實就是利用的計算機對象的票證,我們可以利用該票證查看域內的管理員,域控,域用戶等等信息。
如何查看計算機對象的密碼呢,可以借助mimikatz,有兩種查看方式:
privilege::debug
sekurlsa::logonPasswords
或者
privilege::debug
token::elevate
lsadump::secrets
可以看到計算機對象的密碼是120個字符,240字節,有時候密碼包含不可見字符,會以十六進制形式顯示,類似于如下所示:
有時候虛擬機中的計算機切換到以前快照,由于當前計算機密碼和域控中保存的密碼不一致導致建立安全通道失敗
解決的方法大致分為以下幾種:
第一種方法可能導致計算機中數據丟失,下邊介紹第二種方法,修改計算機對象的密碼。
官方提供修改計算機對象密碼的工具有兩種:
reset-ComputerMachinePassword
nltest /sc_change_pwd:galaxy.local
以上兩種工具只能在已建立安全通道的情況下修改密碼且只能修改隨機密碼,密碼用戶不能指定。
分析nltest,發現最后調用了netlogon服務,具體地,就是調用了c:windowssystem32netlogon.dll的NlChangePassword函數。
通過調用函數NlGenerateRandomBits產生隨機密碼,因為netlogon服務在lsass進程中,我們使用windbg進行雙機調試,在RtlUnicodeString上下斷點,修改SourceString內存值為我們想要的密碼,比如這里為120個a:
成功修改客戶機與域控中計算機對象密碼為120個a。
下邊介紹計算機對象在域滲透中的應用:
默認情況下,計算機對象的密碼每30天修改一次,但這是客戶端自己設置的,并不受域控影響,我們可以設置計算機對象一直不修改密碼
修改DisablePasswordChange為1可以禁止計算機自己修改密碼,修改MaximumPasswordAge可以更改默認更新密碼的間隔。
這樣下次我們想登陸進來的時候可以直接用計算機對象的密碼創建白銀票據登陸系統:
如果計算機對象在一些高權限的組,那么就可以獲取該組的權限。
比如如下計算機test1在域管理員
那么我們就可以hash傳遞,使用test1的身份獲取訪問域控的權限。
這個常用在對郵箱服務器的攻擊上,因為郵箱服務器默認屬于Exchange Trusted Subsystem組,對整個域具有寫DACL的權限,默認可以拿到域控的權限。
使用普通域用戶test將test1計算機加入域,查看test1的屬性,mS-DS-CreatorSID可以看到創建者的sid:
查看test1計算機的DACL:
可以看到多了重置密碼的權限(更改密碼需要原來的密碼才能更改,比較雞肋,重置密碼可以在不知道原來密碼的情況下重置密碼)。如果我們拿到了test用戶的權限,就可以使用重置密碼的權限重置test1計算機的密碼,如果test1在高權限的組中,可以完全獲得該組的權限(見情況2)
注意:此處重置的是域控中的計算機對象的密碼,并沒有重置客戶端密碼,這會導致信任關系失敗。
使用以下命令可以重置計算機對象的密碼為特定值:
Set-ADAccountPassword test1$ –NewPassword (ConvertTo-SecureString -AsPlainText –String "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -force)
微軟的spoolsv.exe注冊了一個服務和若干個rpc。允許認證用戶遠程調用,其中RemoteFindFirstPrinterChangeNotificationEx這個函數運行傳進一個unc路徑,打印機服務就會去請求該unc路徑。由于打印機是以system權限運行的(打印機spooler服務運行在system權限下),所以我們訪問打印機rpc,迫使打印機服務向我們發起請求拿到的net-ntlm hash是機器用戶hash。這樣我們就拿到了使任意計算機(域控、郵件服務器對象)向任意機器發起SMB認證的權限。如果我們控制了一臺無約束委派的計算機,就可以實現完全控制整個域的目的。
這個漏洞最終可以實現郵箱服務器對象向任意用戶發起基于HTTP的NTLM認證,由于HTTP到LDAP可以實現中間人攻擊,我們可以中繼到域控,利用郵箱服務器的writeDACL特性,可以同步域內用戶hash。
參考資料:
https://adsecurity.org/?p=2753
https://adsecurity.org/?p=280
https://adsecurity.org/?p=2011
https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/pass-the-hash-with-machine-accounts
https://blog.netspi.com/machineaccountquota-is-useful-sometimes/
總結
以上是生活随笔為你收集整理的bat 域 本机管理员密码_Windows域中特殊的用户-计算机对象攻防的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wordpress如何让百度快速收录_百
- 下一篇: 干股和实股的区别怎么分钱