Zum Inhalt springen

CertiHound - AD CS Enumeration for BloodHound Cheatsheet

CertiHound - AD CS Enumeration for BloodHound Cheatsheet

CertiHound ist ein Active Directory Certificate Services (AD CS) Enumerationswerkzeug, das Zertifikatvorlagen und CA-Konfigurationen über LDAP sammelt und im BloodHound CE-kompatiblen Format exportiert. Es fügt PKI-Knoten und Zertifikatsangriffskanten (die ESC1–ESC-Angriffspfade) zu deinem BloodHound-Graphen hinzu, damit zertifikatbasierte Privilegiesteigerung neben den klassischen AD-Angriffspfaden erscheint. Es schließt die Lücke zwischen der ADCS-Missbrauchsfunktionalität von Certipy und der Angriffspfad-Visualisierung von BloodHound.

Nur für autorisierte Bewertungen geeignet. Die Enumeration von AD CS erfordert Domain-Anmeldedaten und Genehmigung.

Installation

MethodCommand
pippip install certihound
From sourcegit clone das Repo, dann pip install -e .
RequirementLDAP-Zugriff auf die Domain; BloodHound CE v6 zum Anzeigen
Verifycertihound --help

Collecting AD CS Data

certihound -u analyst -p '***' -d example.local \
  -dc dc01.example.local -o output/
FlagZweck
-u, --usernameDomain-Benutzer
-p, --passwordPasswort (oder Hash/Kerberos)
-d, --domainZiel-Domain
-dc, --domain-controllerDC zum Abfragen über LDAP
-o, --outputAusgabeverzeichnis für JSON
--ldapsVerwende LDAPS (636)

Die Ausgabe ist ein Satz von JSON-Dateien, die du in BloodHound CE importierst.

What It Enumerates

AD CS objectWarum es wichtig ist
Certificate AuthoritiesEnrollement/CA-Konfiguration, Web-Enrollement
Certificate templatesDas Herz von ESC-Fehlkonfigurationen
Enrollment rightsWer kann welche Vorlagen anfordern
Template flagsENROLLEE_SUPPLIES_SUBJECT, EKUs usw.
CA permissionsManageCA / ManageCertificates Rechte

ESC Attack Paths Surfaced

ESCFehlkonfiguration
ESC1Vorlage erlaubt dem Enrollee, das Subjekt + Auth-EKU bereitzustellen
ESC2Any-Purpose-EKU-Vorlage
ESC3Enrollement-Agent-Vorlagen
ESC4Anfällige Vorlagen-ACLs (beschreibbare Vorlagen)
ESC6EDITF_ATTRIBUTESUBJECTALTNAME2 auf der CA
ESC7Anfällige CA-Berechtigungen
ESC8NTLM-Relay zu AD CS Web-Enrollement

CertiHound kodiert diese als Kanten, damit BloodHound Pfade von einem Low-Priv-Benutzer zu Domain Admin durch einen Zertifikatsangriff ausführen kann.

Import into BloodHound CE

StepHow
1CertiHound ausführen, um JSON zu produzieren
2In BloodHound CE das JSON über die Ingest-UI/API hochladen
3PKI-Knoten/Kanten erscheinen im Graphen
4Abfrage von Pfaden zu wertvollen Zielen, die AD CS durchqueren

Common Workflows

# Enumerate AD CS and load certificate attack paths into BloodHound CE
certihound -u audit -p '***' -d corp.local -dc dc.corp.local -o adcs/
# → upload adcs/*.json into BloodHound CE, then query
#   "shortest path to Domain Admins" including PKI edges

# Combine with Certipy for the actual abuse once a path is found

CertiHound in the AD CS Toolkit

ToolRolle
CertiHoundAD CS enumieren → BloodHound CE-Graphen
CertipyAufzählung und Missbrauch ESC1–ESC17
BloodHoundVisualisiere/Abfrage Angriffspfade
NetExecBreitere AD-Erfassung + Relaying

Resources