Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Certify — C#-Tool zur Aufzählung und Ausnutzung von Fehlkonfigurationen in Active Directory Certificate Services (AD CS), das Missbrauch von Zertifikatsvorlagen, Privilegienausweitung und Domain-Persistenz ermöglicht. | Kitploit
Tools/GitHubGitHub/ghostpack/certify
Authentifizierung & AutorisierungPrivilege EscalationSchwachstellenanalyseExploitationPenetrationstestsRed Teaming
GitHubghostpack/certify

Certify

C#-Tool zur Aufzählung und Ausnutzung von Fehlkonfigurationen in Active Directory Certificate Services (AD CS), das Missbrauch von Zertifikatsvorlagen, Privilegienausweitung und Domain-Persistenz ermöglicht.

Repository anzeigen
2.0k282vor 8 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Certify

Certify ist ein C#-Tool zur Aufzählung und Ausnutzung von Fehlkonfigurationen in Active Directory Certificate Services (AD CS).

@harmj0y und @tifkin_ sind die Hauptautoren von Certify und der zugehörigen AD-CS-Forschung (Blog und Whitepaper).

Inhaltsverzeichnis

  • Certify
    • Verwendung
    • Verteidigungsaspekte
    • Kompilierungsanweisungen
      • Anmerkung: Certify über PowerShell ausführen
        • Anmerkung zur Anmerkung: Certify über PSRemoting ausführen
    • Reflexionen
    • Danksagungen

Verwendung

Eine Befehlsübersicht und umfassende Nutzungsdetails findest du auf dem Wiki.

Verteidigungsaspekte

Certify wurde auf der Black Hat 2021 zusammen mit unserem Vortrag „Certified Pre-Owned: Abusing Active Directory Certificate Services“ veröffentlicht.

Siehe unser Whitepaper für Hinweise zur Prävention und Erkennung.

Kompilierungsanweisungen

Wir planen nicht, Binärdateien von Certify zu veröffentlichen, du musst es also selbst kompilieren :)

Certify wurde für .NET 4.7.2 erstellt und ist kompatibel mit Visual Studio 2022 Community Edition. Öffne einfach die Projektmappe .sln, wähle „Release“ und erstelle sie.

Anmerkung: Certify über PowerShell ausführen

Wenn du Certify über einen PowerShell-Wrapper im Arbeitsspeicher ausführen möchtest, kompiliere zuerst Certify und kodiere die resultierende Assembly als Base64:

root@kitploit:~
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\Temp\Certify.exe")) | Out-File -Encoding ASCII C:\Temp\Certify.txt

Certify kann dann in einem PowerShell-Skript mit folgendem Befehl geladen werden (ersetze „aa...“ durch die Base64-kodierte Certify-Assembly-Zeichenfolge):

root@kitploit:~
$CertifyAssembly = [System.Reflection.Assembly]::Load([Convert]::FromBase64String("aa..."))

Die Main()-Methode und alle Argumente können dann wie folgt aufgerufen werden:

root@kitploit:~
[Certify.Program]::Main("enum-templates --filter-enabled --filter-vulnerable".Split())

Anmerkung zur Anmerkung: Certify über PSRemoting ausführen

Aufgrund der Art und Weise, wie PSRemoting die Ausgabe behandelt, müssen wir stdout in eine Zeichenfolge umleiten und diese stattdessen zurückgeben. Glücklicherweise verfügt Certify über eine Funktion, die dabei hilft.

Wenn du den Anweisungen in Anmerkung: Certify über PowerShell ausführen folgst, um eine Certify.ps1 zu erstellen, füge etwa Folgendes an das Skript an:

root@kitploit:~
[Certify.Program]::MainString("enum-templates --filter-enabled --filter-vulnerable")

Anschließend solltest du Certify über PSRemoting mit etwa folgendem Befehl ausführen können:

root@kitploit:~
$s = New-PSSession dc.theshire.local
Invoke-Command -Session $s -FilePath C:\Temp\Certify.ps1

Alternativ leitet das Argument /outfile:C:\FILE.txt von Certify alle Ausgabeströme in die angegebene Datei um.

Reflexionen

Zum Thema öffentliche Offenlegung: Wir haben die Veröffentlichung unserer offensiven Tools (Certify sowie ForgeCert) für ca. 45 Tage nach Veröffentlichung unseres Whitepapers selbst gesperrt, um Organisationen die Möglichkeit zu geben, die Probleme rund um Active Directory Certificate Services in den Griff zu bekommen. Wir haben außerdem vorab einige Yara-Regeln/IOCs für beide Projekte sowie das defensiv ausgerichtete PowerShell-Projekt PSPKIAudit zusammen mit dem Whitepaper veröffentlicht. Allerdings haben wir festgestellt, dass Organisationen und Hersteller in der Vergangenheit oft Fehler nicht behoben oder Erkennungsmethoden für „theoretische“ Angriffe erst entwickelt haben, wenn jemand etwas mit einem Proof of Concept als möglich demonstriert hat.

Danksagungen

Certify verwendete einige online gefundene Ressourcen als Referenz und Inspiration:

  • Dieser Beitrag zum Anfordern von Zertifikaten aus C#.
  • Dieses Gist für die SAN-Spezifikation.
  • Dieser StackOverflow-Beitrag zum Exportieren privater Schlüssel.
  • Dieser PKISolutions-Beitrag zur Umrechnung von pkiExpirationPeriod.
  • Dieser Abschnitt von MS-CSRA beschreibt die Sicherheits-DACLs für Enrollment Agents.

Die AD-CS-Arbeit baut auf der Arbeit vieler anderer auf. Das Whitepaper enthält eine vollständige Behandlung, aber zusammenfassend:

  • Benjamin Delpy für seine umfangreiche Arbeit zu Smartcards/Zertifikaten mit Mimikatz und Kekeo.
  • PKI Solutions für ihre hervorragenden Beiträge zu PKI in Active Directory sowie ihr PSPKI-PowerShell-Modul, auf dem unser Audit-Toolkit basiert.
  • Das Buch „Windows Server 2008 – PKI and Certificate Security“ von Brian Komar.
  • Die folgenden offenen technischen Spezifikationen von Microsoft:
    • [MS-CERSOD]: Certificate Services Protocols Overview
    • [MS-CRTD]: Certificate Templates Structure
    • [MS-CSRA]: Certificate Services Remote Administration Protocol
    • [MS-ICPR]: ICertPassage Remote Protocol
    • [MS-WCCE]: Windows Client Certificate Enrollment Protocol
  • Christoph Faltas GitHub-Repo, das einige Details zum Angriff auf Zertifikatsvorlagen abdeckt, einschließlich virtueller Smartcards sowie einiger Ideen zu ACL-basierten Missbräuchen.
  • CQURES Beitrag „The tale of Enhanced Key (mis)Usage“, der einige Missbrauch von Subject Alternative Names behandelt.
  • Keyfactors Beitrag von 2016 „Hidden Dangers: Certificate Subject Alternative Names (SANs)“.
  • @Elkements Beiträge „Sizzle @ hackthebox – Unintended: Getting a Logon Smartcard for the Domain Admin!“ und „Impersonating a Windows Enterprise Admin with a Certificate: Kerberos PKINIT from Linux“ beschreiben Fehlkonfigurationen von Zertifikatsvorlagen.
  • Carl Sörqvist schrieb ein detailliertes und plausibles Szenario, wie einige dieser Fehlkonfigurationen entstehen, mit dem Titel „Supply in the Request Shenanigans“.
Tool herunterladen
  • Ceri Coburn veröffentlichte 2020 einen hervorragenden Beitrag mit dem Titel „Attacking Smart Card Based Active Directory Networks“, der einige Smartcard-Missbräuche und Certify-Erweiterungen detailliert beschreibt.
  • Brad Hill veröffentlichte ein Whitepaper mit dem Titel „Weaknesses and Best Practices of Public Key Kerberos with Smart Cards“, das einige gute Hintergrundinformationen zu Kerberos/PKINIT aus Sicherheitssicht lieferte.