Certipy is a free, open source data security & privacy project written in Python and released under MIT. It has 3,670 GitHub stars, 484 forks and 25 open issues, and was last pushed 2 months ago. On this registry it ranks #11 of 22 tracked projects in Data Security & Privacy, with 5 head-to-head comparisons available.

What is Certipy?

Certipy is an open-source Python toolkit, published under the MIT licence on PyPI as certipy-ad, for enumerating and abusing Active Directory Certificate Services (AD CS), built for red teamers, penetration testers, and defenders who need to assess AD CS misconfigurations in Windows Active Directory environments.

What it is

Certipy is an offensive and defensive toolkit that targets Active Directory Certificate Services, the PKI component that issues and manages certificates inside a Windows Active Directory forest. It lives in the security tooling ecosystem alongside other Active Directory attack and enumeration tooling, and it is written in Python, requiring Python 3.12 or later. The project is developed by @ly4k with contributions from the community, carries the adcs and pki topics, and holds roughly 3,670 stars and 484 forks on GitHub.

The concrete problem it solves is that AD CS deployments are frequently misconfigured in ways that allow an attacker to escalate privileges or persist inside a domain without ever touching a password. Certificate templates, certificate authority settings, and enrolment permissions are hard to inspect by hand and easy to get wrong, and the resulting weaknesses map to a known catalogue of attack paths. Certipy replaces manual inspection and one-off scripts with a single tool that discovers the configuration, flags the weaknesses, and carries an assessment through to requesting or forging a certificate and authenticating with it.

Key capabilities

  • Discover Certificate Authorities and certificate templates across an AD CS deployment.
  • Identify misconfigurations and map them to known attack paths.
  • Detect and exploit the full range of ESC1 through ESC17 AD CS vulnerabilities.
  • Request and forge certificates, including support for Golden Certificates.
  • Perform authentication to services using a certificate rather than a password.
  • Relay NTLM authentication to AD CS HTTP(S) and RPC endpoints.
  • Support Shadow Credentials and Certificate Mapping Attacks.

Who uses it and how

  • Red teamers use it to enumerate AD CS, request certificates, and authenticate with them during an engagement.
  • Penetration testers use it to validate whether certificate template misconfigurations are actually exploitable rather than only suspected.
  • Defenders use the same enumeration and misconfiguration detection to find and fix weaknesses in their own certificate services before an attacker does.
  • Engagements that reach NTLM relay against AD CS HTTP(S) or RPC endpoints use the relay capability to move from captured authentication to a usable certificate.
  • Anyone running it is expected to do so only in environments where they hold explicit authorization, because unauthorized use may be illegal.

Getting started

Certipy is distributed on PyPI as certipy-ad and installs with pip install certipy-ad; the project's README directs new users to the Certipy Wiki Installation Guide and Quick Start Guide for exact steps and common command examples.

How it compares

This registry entry names no paid products that Certipy replaces, and it names no directly comparable open-source tools either, so the honest statement is that Certipy stands alone here on the strength of its own description. Anyone weighing it against other AD CS tooling will need to look outside this page, because no such comparison is supported by the facts available.

When to use it — and when not to

Pick Certipy when the assessment targets Active Directory Certificate Services and the operator has written authorization for the environment, since the tool is explicitly offensive and unauthorized use may be illegal. It is not the right choice for anyone without that authorization, nor for anyone unwilling to run Python 3.12 or later. The README is deliberately sparse and pushes the real detail — installation, usage, vulnerability explanations, and mitigations — into the external wiki, so expect to leave the repository to learn how to drive it; the licence, authorship, and activity are all clear, with the last push in late July 2026 and 25 open issues.

project readme (upstream, from github) — read inline

Certipy - AD CS Attack & Enumeration Toolkit

PyPI version Python License

Certipy is a powerful offensive and defensive toolkit for enumerating and abusing Active Directory Certificate Services (AD CS). It helps red teamers, penetration testers, and defenders assess AD CS misconfigurations - including full support for identifying and exploiting all known ESC1-ESC17 attack paths.

[!WARNING] Use only in environments where you have explicit authorization. Unauthorized use may be illegal.


🔍 Features

  • 🔎 Discover Certificate Authorities and Templates
  • 🚩 Identify misconfigurations
  • 🔐 Request and forge certificates
  • 🎭 Perform authentication using certificates
  • 📡 Relay NTLM authentication to AD CS HTTP(S)/RPC endpoints
  • 🗝️ Support for Shadow Credentials, Golden Certificates, and Certificate Mapping Attacks
  • 🧰 And much more!

📚 Full Wiki & Documentation

Read the full step-by-step usage guide, including installation, vulnerability explanations, examples, and mitigations in the 📘 Certipy Wiki.


⚙️ Installation

See the Installation Guide for instructions on how to install Certipy.


🚀 Quick Start

See the Quick Start Guide for a quick overview of the most common commands and usage examples.


🎯 Supported AD CS Vulnerabilities

Certipy supports detection and exploitation of AD CS vulnerabilities across the full range of ESC1-ESC17.

For detailed explanations and exploitation steps, refer to the Certipy Wiki.


📎 Resources

See the Resources for selection of key resources related to AD CS security.


🤝 Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines on reporting issues, improving documentation, or submitting pull requests.


🌟 Sponsors

Thanks to these generous sponsors for supporting the development of this project. Your contributions help sustain ongoing work and improvements.


👤 Author

Developed by @ly4k, with valuable contributions from the community.


📘 Wiki

📖 Visit the Certipy Wiki for detailed documentation, usage examples, ESC vulnerability breakdowns, and mitigation advice.

Frequently asked questions

Is Certipy free to use?

Certipy is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Certipy do?

Tool for Active Directory Certificate Services enumeration and abuse

What is Certipy written in?

Certipy is primarily written in Python. Its source is publicly available at https://github.com/ly4k/Certipy, and it has 3,670 GitHub stars.