tricks
Nopac
- CVE-2021-42278,机器账户的名字一般来说应该以
$
结尾,但AD没有对域内机器账户名做验证。 - CVE-2021-42287,与上述漏洞配合使用,创建与DC机器账户名字相同的机器账户(不以$结尾),账户请求一个TGT后,更名账户,然后通过S4U2self申请TGS Ticket,接着DC在
TGS_REP
阶段,这个账户不存在的时候,DC会使用自己的密钥加密TGS Ticket
,提供一个属于该账户的PAC
,然后我们就得到了一个高权限ST。 - 假如域内有一台域控名为 DC(域控对应的机器用户为
DC$
),此时攻击者利用漏洞CVE-2021-42287
创建一个机器用户SAMTHEADMIN-48$
,再把机器用户SAMTHEADMIN-48$
的sAMAccountName
改成 DC。然后利用 DC 去申请一个TGT票据。再把 DC 的sAMAccountName
改为SAMTHEADMIN-48$
。这个时候 KDC 就会判断域内没有DC
这个用户,自动去搜索DC$
(DC$
是域内已经的域控DC 的 sAMAccountName),攻击者利用刚刚申请的 TGT 进行 S4U2self,模拟域内的域管去请求域控 DC 的 ST 票据,最终获得域控制器DC的权限。
CVE-2021-42287&CVE-2021-42278 域内提权
kali里有脚本
p4 python3 noPac.py xiaorang.lab/zhanghui -hashes ':1232126b24cdf8c9bd2f788a9d7c7ed1' -dc-ip 172.22.11.6 --impersonate Administrator -create-child -use-ldap -shell |