Skip to content
Skillpedia
Misc35k · #5736

exploiting-adcs-with-certipy

Lets your agent exploit flaws in Active Directory certificate systems. It can identify and exploit misconfigurations to gain full network control.

What it does

This tool helps find and exploit security flaws in a system called Active Directory Certificate Services (AD CS). It allows attackers with limited access to a system to become full administrators.

When to use it

  • ✓During authorized security tests on corporate networks.
  • ✓When you have limited access and want to become an administrator.
  • ✓To check if certificate security settings are correct.

Example of what to ask your AI

“Find security flaws in AD CS and tell me how I can become an administrator.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/exploiting-adcs-with-certipy/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/exploiting-adcs-with-certipy/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool looks for misconfigurations in AD CS that allow creating fake certificates. With these certificates, it's possible to impersonate high-privilege users, like administrators, without needing their password.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill exploiting-adcs-with-certipy

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/exploiting-adcs-with-certipy/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Exploiting AD CS with Certipy

Legal Notice: This skill is for authorized security testing and educational purposes only. Active Directory Certificate Services attacks can result in full domain compromise. Run these techniques only against systems you own or have explicit written authorization to test. Unauthorized use is illegal under computer fraud statutes.

Overview

Active Directory Certificate Services (AD CS) is Microsoft's public-key infrastructure role used to issue certificates for authentication, encryption, and signing inside a Windows domain. SpecterOps researchers Will Schroeder and Lee Christensen documented a family of privilege-escalation primitives in their 2021 whitepaper Certified Pre-Owned, naming them ESC1 through ESC8. The community has since extended the catalog through ESC16. Because a certificate that maps to a privileged principal can be used for PKINIT Kerberos authentication, an attacker who obtains such a certificate can authenticate as a Domain Admin or Domain Controller without ever knowing the password — and the certificate remains valid even after a password reset.

Certipy (package certipy-ad, maintained by Oliver Lyak / ly4k) is the de-facto offensive toolkit for AD CS. It is a pure-Python tool that enumerates certificate authorities and templates over LDAP/RPC, requests and forges certificates, performs PKINIT/Schannel authentication, runs Shadow Credentials attacks, and relays coerced NTLM authentication into AD CS HTTP and RPC enrollment endpoints. Certipy supports detection and exploitation across the full ESC1-ESC16 range, making it the primary tool for AD CS assessment. Source: ly4k/Certipy and SpecterOps "Certified Pre-Owned".

When to Use

  • During internal penetration tests and red-team engagements where AD CS is in scope
  • When a low-privileged domain foothold needs a path to Domain Admin / Domain Controller
  • To validate that certificate template ACLs and CA configuration are hardened
  • When testing detection coverage for certificate-based privilege escalation
  • During purple-team exercises to generate ESC1/ESC8 telemetry for blue-team tuning

Prerequisites

  • Authorized engagement scope that explicitly includes AD CS exploitation
  • A foothold: valid domain credentials (password, NT hash, or Kerberos ticket) for any low-privileged user
  • Network reachability to a Domain Controller (LDAP/389, LDAPS/636) and the CA host
  • Python 3.10+ (Certipy 5.x requires Python 3.12+) and a Linux attack host
  • Install Certipy:
    # Recommended isolated install
    pipx install certipy-ad
    # Or with pip
    pip install certipy-ad
    # Verify
    certipy --version
    
  • For ESC8 relay you also need a coercion tool (Coercer/PetitPotam) and reachable victim machine accounts

Objectives

  • Enumerate every CA, template, and enrollment endpoint in the forest
  • Identify which ESC1-ESC16 misconfigurations are exploitable from the current principal
  • Request a certificate impersonating a privileged target (ESC1 SAN abuse)
  • Relay coerced authentication into AD CS web enrollment to obtain a DC certificate (ESC8)
  • Authenticate with a forged/issued certificate to recover a TGT and NT hash
  • Document each finding with evidence and remediation guidance

MITRE ATT&CK Mapping

ID Technique Application in this skill
T1649 Steal or Forge Authentication Certificates Requesting, forging, and abusing AD CS certificates (ESC1-ESC16) to authenticate as privileged principals

Workflow

Step 1: Enumerate AD CS with certipy find

Collect CA and template configuration and flag vulnerable templates. find runs LDAP and RPC queries and produces JSON, a BloodHound-compatible ZIP, and a human-readable text report.

# Full enumeration, only enabled templates, hide built-in admin ACEs
certipy find \
    -u 'attacker@corp.local' -p 'Passw0rd!' \
    -dc-ip 10.0.0.100 -text -enabled -hide-admins

# Output only templates Certipy considers vulnerable
certipy find \
    -u 'attacker@corp.local' -p 'Passw0rd!' \
    -dc-ip 10.0.0.100 -vulnerable -stdout

# Authenticate with an NT hash instead of a password
certipy find -u 'attacker@corp.local' -hashes ':fc525c9683e8fe067095ba2ddc971889' \
    -dc-ip 10.0.0.100 -vulnerable -stdout

…

FAQ

What is Active Directory Certificate Services (AD CS)?

It's a Microsoft service that issues digital certificates for authentication and security within Windows networks.

What are the ESC1 to ESC16 flaws?

These are specific types of misconfigurations in AD CS that can be exploited to gain higher privileges.

Do I need permission to use this tool?

Yes, this tool should only be used in authorized security tests with explicit written permission.

Details

Original description by the author

Use Certipy to enumerate AD CS certificate authorities and templates over LDAP/RPC, then exploit ESC1-ESC16 misconfigurations - SAN abuse, NTLM relay to web enrollment (ESC8), Shadow Credentials, golden certificate forgery, and PKINIT/Schannel auth. Use during authorized penetration tests to escalate a domain foothold to Domain Admin, or to validate that certificate template ACLs and CA hardening

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#5736
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills