ESC8

NTLM Relay to AD CS HTTP Endpoints

Enumerate

Discover CES endpoints with certutil:

Cmd > certutil.exe -enrollmentServerURL -config CA01.megacorp.local\CA01

Discover CES endpoints with PowerShell:

PS > Get-CertificationAuthority | select name,enroll* | fl

Check a bunch of targets for the vulnerable endpoint:

$ for ip in `cat ~/ws/discover/hosts/ca.txt`; do curl -sSLkI -u 'MEGACORP\snovvcrash:Passw0rd!' --ntlm http://$ip/certsrv/certfnsh.asp | grep -e 401 -e 200 > /dev/null && echo "[+] $ip" || echo "[-] $ip"; done

Exploit

ntlmrelayx

PKINITtools

Backup original httpattack.py and copy one from the toolkit with a modified domain name and a template if needed (DomainController is by default, but also one may use KerberosAuthentication):

Perform the relay attack, request the TGT via PKINIT and get the NT hash based on U2U Kerberos extension:

Revert the original httpattack.py:

Certipy

Prepare for the relay attack:

ADCSPwn

Start a relay server:

Coerce the authentication, e. g. via Coercer:

Last updated