adcs-template-abuse

Exploit misconfigured AD CS templates to impersonate domain users via SAN manipulation.

253|37|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/blacklanternsecurity/red-run --skill adcs-template-abuse
Or copy as Structured Prompt for Agentโ–ผ
Please help me install this Agent Skill.
Skill: adcs-template-abuse
Source: https://github.com/blacklanternsecurity/red-run/tree/main/skills/ad/adcs-template-abuse
Command: npx skills add https://github.com/blacklanternsecurity/red-run --skill adcs-template-abuse

SYSTEM DOCUMENTATION & REQUIREMENTS

๐Ÿ’ก This Skill requires certipy, Certify.exe, Rubeus, certutil, getTGT.py, gettgtpkinit.py, getnthash.py, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps penetration testers exploit misconfigured Active Directory Certificate Services (AD CS) to impersonate domain users, bypassing security controls.

Core Features & Use Cases

  • Exploit AD CS Misconfigurations: Leverages various ESC (Escalated Certificate Services) vulnerabilities (ESC1, ESC2, ESC3, ESC6).
  • Impersonate Domain Users: Obtain certificates to authenticate as arbitrary domain principals.
  • Use Case: A tester identifies a vulnerable AD CS template. They use this Skill to request a certificate for a high-privilege user (e.g., 'administrator'), then use that certificate to authenticate to domain services as that user.

Quick Start

Use the adcs-template-abuse skill to find vulnerable AD CS templates on the domain controller at 10.0.0.5.

Frequently Asked Questions about adcs-template-abuse

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I exploit AD CS certificate template misconfigurations for privilege escalation?โ–ผ

AD CS template abuse is the process of exploiting misconfigured certificate services to impersonate domain users. It targets ESC1, ESC2, ESC3, and ESC6 vulnerabilities to obtain certificates that authenticate as arbitrary domain principals via PKINIT or LDAPS.

Can I use Certipy to enumerate vulnerable Active Directory Certificate Services templates?โ–ผ

Yes, you can use Certipy to enumerate vulnerable Active Directory Certificate Services templates. The Skill utilizes Certipy alongside Certify.exe to identify exploitable ESC1, ESC2, ESC3, and ESC6 misconfigurations and request certificates for domain user impersonation.

What do I need to impersonate domain users through ESC1 and ESC6 vulnerabilities?โ–ผ

To impersonate domain users through ESC1 and ESC6 vulnerabilities, you need domain user credentials and network access to CA servers. These prerequisites allow you to enumerate templates and request certificates for high-privilege targets like administrator.

How does certificate-based authentication work after obtaining a certificate via PKINIT?โ–ผ

Certificate-based authentication via PKINIT works by using the obtained certificate to request a Ticket Granting Ticket. The Skill supports PKINIT and includes a LDAPS fallback mechanism to authenticate to domain services as the impersonated user.

What is the difference between ESC1 and ESC6 when abusing AD CS templates?โ–ผ

ESC1 and ESC6 are distinct AD CS template misconfigurations. ESC1 involves SAN manipulation allowing arbitrary user impersonation, while ESC6 relates to enrollment agent abuse within the certificate services infrastructure, both enabling privilege escalation.

Are there limitations when using gettgtpkinit.py and getnthash.py for certificate-based authentication?โ–ผ

Limitations include requiring valid domain user credentials and network access to CA servers. The Skill depends on gettgtpkinit.py for PKINIT and getnthash.py for hash extraction, meaning failures occur if CA servers are unreachable or templates are properly secured.