dNSHostName Spoofing (Certifried)
CVE-2022-26923
Check
If there's an object SID printed when requesting a certificate based on the User or Machine templates, the AD environment is not vulnerable:
$ certipy req -u [email protected] -p 'Passw0rd!' -target CA01.megacorp.local -ca CorpCA -template User -dc-ip 192.168.1.11
Certipy v3.0.0 - by Oliver Lyak (ly4k)
[*] Requesting certificate
[*] Successfully requested certificate
[*] Request ID is 120
[*] Got certificate with UPN '[email protected]'
[*] Certificate object SID is 'S-1-5-21-1230029644-1443616230-1161330039-2139' <== NOT vulnerable
[*] Saved certificate and private key to 'snovvcrash.pfx'Exploit
Create a new machine account with dNSHostName containing FQDN of a DC:
Or change dNSHostName property manually for an already pwned machine account, e.g. via pre2k (will definitely break stuff!):
Request a certificate on behalf of that machine account with spoofed dNSHostName:
Abuse PKINIT
Authenticate with the obtained certificate and get DC's NT hash via PKINIT:
Abuse RBCD
Authenticate with obtained certificate and configure RBCD on a DC via bloodyAD to allow delegation to the fake machine account:
Clean Up
If dNSHostName was modified for an existing machine account, roll back the changes:
About the Fix
Last updated