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
ForgeCert — Fälschen Sie Zertifikate für die Active Directory-Authentifizierung unter Verwendung gestohlener privater Schlüssel der Zertifizierungsstelle, um mit gefälschten .pfx-Dateien dauerhaften Domänenzugriff zu erlangen. | Kitploit
Tools/GitHubGitHub/ghostpack/forgecert
Payload-GenerierungPersistenzmechanismenExploitationAuthentifizierung
GitHubghostpack/forgecert

ForgeCert

Fälschen Sie Zertifikate für die Active Directory-Authentifizierung unter Verwendung gestohlener privater Schlüssel der Zertifizierungsstelle, um mit gefälschten .pfx-Dateien dauerhaften Domänenzugriff zu erlangen.

Repository anzeigen
715115vor 3 JahrenVon 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

ForgeCert

ForgeCert verwendet die BouncyCastle C# API und ein gestohlenes Zertifikat einer Zertifizierungsstelle (CA) zusammen mit dem privaten Schlüssel, um Zertifikate für beliebige Benutzer zu fälschen, die zur Authentifizierung bei Active Directory berechtigt sind.

Dieser Angriff ist als DPERSIST1 in unserem „Certified Pre-Owned“ Whitepaper festgehalten. Diese Codebasis wurde etwa 45 Tage nach der Veröffentlichung des Whitepapers freigegeben.

@tifkin_ ist der Hauptautor von ForgeCert.

@tifkin_ und @harmj0y sind die Hauptautoren der zugehörigen Forschung zu Active Directory-Zertifikatsdiensten (Blog und Whitepaper).

Hintergrund

Wie in den Abschnitten Background und Forging Certificates with Stolen CA Certificates - DPERSIST1 unseres Whitepapers beschrieben, wird der private Schlüssel für das CA-Zertifikat einer Zertifizierungsstelle auf dem CA-Server entweder über DPAPI oder Hardware (HSM/TPM) geschützt. Zusätzlich wird das Zertifikat (ohne privaten Schlüssel) im NTAuthCertificates-Gesamtstrukturobjekt veröffentlicht, das CA-Zertifikate definiert, die die Authentifizierung bei AD ermöglichen. Zusammengenommen verwendet eine CA, deren Zertifikat in NTAuthCertificates vorhanden ist, ihren privaten Schlüssel, um Zertifikatsignieranforderungen (CSRs) von anfordernden Clients zu signieren. Diese Grafik fasst den Prozess zusammen:

Die Sicherheit des privaten Schlüssels der CA ist von größter Bedeutung. Wie erwähnt, wird der Schlüssel, sofern er nicht durch eine Hardwarelösung wie TPM oder HSM geschützt ist, mit der Data Protection API (DPAPI) verschlüsselt und auf der Festplatte des CA-Servers gespeichert. Wenn ein Angreifer in der Lage ist, einen CA-Server zu kompromittieren, kann er den privaten Schlüssel für jedes CA-Zertifikat, das nicht durch Hardware geschützt ist, extrahieren, indem er @gentilkiwis Mimikatz oder GhostPacks SharpDPAPI-Projekt verwendet. THEFT3 im Whitepaper beschreibt diesen Prozess für Maschinenzertifikate.

Da das einzige Schlüsselmaterial, das zum Signieren ausgestellter Zertifikate verwendet wird, der private Schlüssel der CA ist, kann ein Angreifer, der einen solchen Schlüssel stiehlt (für ein Zertifikat in NTAuthCertificates), Zertifikate fälschen, die eine Domänenauthentifizierung ermöglichen. Diese gefälschten Zertifikate können für jeden Principal in der Domäne ausgestellt werden (wobei das Konto für die Authentifizierung „aktiv“ sein muss, sodass Konten wie krbtgt nicht funktionieren), und die Zertifikate sind so lange gültig wie das CA-Zertifikat (standardmäßig normalerweise 5 Jahre, kann aber auch länger eingestellt werden).

Da diese Zertifikate nicht aus dem normalen Ausstellungsprozess stammen, ist der CA nicht bekannt, dass sie erstellt wurden. Daher können die Zertifikate nicht widerrufen werden.

Hinweis: Der private Schlüssel für ein beliebiges CA-Zertifikat in NTAuthCertificates (Stamm- oder untergeordnete CA) kann verwendet werden, um Zertifikate zu fälschen, die eine Authentifizierung in der Gesamtstruktur ermöglichen. Wenn das Zertifikat/der Schlüssel von einer untergeordneten CA stammt, muss eine legitime CRL zur Überprüfung der Zertifikatskette bereitgestellt werden.

ForgeCert verwendet den BouncyCastle's X509V3CertificateGenerator zur Durchführung der Fälschungen.

Befehlszeilenverwendung

root@kitploit:~
C:\Temp>ForgeCert.exe
ForgeCert 1.0.0.0
Copyright c  2021

ERROR(S):
  Required option 'CaCertPath' is missing.
  Required option 'SubjectAltName' is missing.
  Required option 'NewCertPath' is missing.
  Required option 'NewCertPassword' is missing.

  --CaCertPath         Required. CA private key as a .pfx or .p12 file

  --CaCertPassword     Password to the CA private key file

  --Subject            (Default: CN=User) Subject name in the certificate

  --SubjectAltName     Required. UPN of the user to authenticate as

  --NewCertPath        Required. Path where to save the new .pfx certificate

  --NewCertPassword    Required. Password to the .pfx file

  --CRL                ldap path to a CRL for the forged certificate

  --help               Display this help screen.

  --version            Display version information.

Verwendung

Hinweis: Eine vollständige Anleitung zum Stehlen eines CA-privaten Schlüssels und zum Fälschen von Authentifizierungszertifikaten finden Sie unter DPERSIST1 im Whitepaper.

Kontext:

  • Das gestohlene CA-Zertifikat ist ca.pfx, verschlüsselt mit dem Passwort Password123!
  • Der Antragstellername (Subject) ist willkürlich, da wir einen alternativen Antragstellernamen (Subject Alternative Name) für das Zertifikat angeben.
  • Der alternative Antragstellername (d. h. der Benutzer, für den wir ein Zertifikat fälschen) ist [email protected].
  • Das gefälschte Zertifikat wird als localadmin.pfx gespeichert, verschlüsselt mit dem Passwort NewPassword123!
root@kitploit:~
C:\Tools\ForgeCert>ForgeCert.exe --CaCertPath ca.pfx --CaCertPassword "Password123!" --Subject "CN=User" --SubjectAltName "[email protected]" --NewCertPath localadmin.pfx --NewCertPassword "NewPassword123!"
CA Certificate Information:
  Subject:        CN=theshire-DC-CA, DC=theshire, DC=local
  Issuer:         CN=theshire-DC-CA, DC=theshire, DC=local
  Start Date:     1/4/2021 10:48:02 AM
  End Date:       1/4/2026 10:58:02 AM
  Thumbprint:     187D81530E1ADBB6B8B9B961EAADC1F597E6D6A2
  Serial:         14BFC25F2B6EEDA94404D5A5B0F33E21

Forged Certificate Information:
  Subject:        CN=User
  SubjectAltName: [email protected]
  Issuer:         CN=theshire-DC-CA, DC=theshire, DC=local
  Start Date:     7/26/2021 3:38:45 PM
  End Date:       7/26/2022 3:38:45 PM
  Thumbprint:     C5789A24E91A40819EFF7CFD77150595F8B9878D
  Serial:         3627A48F90F6869C3215FF05BC3B2E42

Done. Saved forged certificate to localadmin.pfx with the password 'NewPassword123!'

Diese Fälschung kann auf einem vom Angreifer kontrollierten System durchgeführt werden, und das resultierende Zertifikat kann mit Rubeus verwendet werden, um ein TGT anzufordern (und/oder das NTLM des Benutzers abzurufen ;)

Verteidigungsüberlegungen

Der TypeRefHash der aktuellen ForgeCert-Codebasis lautet b26b451ff2c947ae5904f962e56facbb45269995fbb813070386472f307cfcf0.

Die TypeLib-GUID von ForgeCert ist bd346689-8ee6-40b3-858b-4ed94f08d40a. Dies spiegelt sich in den derzeit in diesem Repository enthaltenen Yara-Regeln wider.

Informationen zu Präventions- und Erkennungsrichtlinien finden Sie unter PREVENT1, DETECT3 und DETECT5 in unserem Whitepaper.

Fabian Bader veröffentlichte einen hervorragenden Beitrag darüber, wie viele Verwendungen von „Golden Certificates“ durch Anpassungen am Microsoft OCSP eingeschränkt werden können. Beachten Sie jedoch, dass er im Abschnitt Final Thoughts erwähnt: This method is not bulletproof at all. Since the attacker is in charge of the certificate creation process, she could just change the serial number to a valid one. Dies wurde in seinem PR implementiert, aber denken Sie daran, dass die Seriennummer standardmäßig zufällig vergeben wird, was bedeutet, dass die OSCP-Prävention in vielen Fällen funktionieren sollte und unserer Meinung nach eine Implementierung wert ist.

Wir glauben, dass es Möglichkeiten gibt, Yara-/andere Erkennungsregeln für die Arten von gefälschten Zertifikaten zu erstellen, die dieses Projekt hervorbringt – falls defensive Forscher einen guten Weg finden, Signaturen für diese Dateien zu erstellen, lassen Sie es uns bitte wissen, und wir werden die Yara-Regeln/Verteidigungsrichtlinien hier aktualisieren.

Reflexionen

Es gibt eine deutliche Parallele zwischen „Golden Tickets“ (gefälschten TGTs) und diesen „Golden Certificates“ (gefälschte AD CS-Zertifikate). Sowohl der krbtgt-Hash als auch der private CA-Schlüssel sind kryptografische Materialien, die für die Sicherheit einer Active Directory-Umgebung kritisch sind, und beide können verwendet werden, um Authentifikatoren für beliebige Benutzer zu fälschen. Während der krbtgt-Hash jedoch remote über DCSync abgerufen werden kann, muss ein privater CA-Schlüssel (zumindest nach unserem Kenntnisstand) durch Codeausführung auf der CA-Maschine selbst wiederhergestellt werden. Während ein krbtgt-Hash relativ einfach rotiert werden kann, ist das Rotieren eines privaten CA-Schlüssels erheblich schwieriger.

Zum Thema öffentliche Offenlegung: Wir haben die Veröffentlichung unserer offensiven Werkzeuge (ForgeCert sowie Certify) für etwa 45 Tage nach der Veröffentlichung unseres Whitepapers selbst zurückgehalten, um Organisationen die Möglichkeit zu geben, die Probleme im Zusammenhang mit Active Directory-Zertifikatsdiensten in den Griff zu bekommen. Wir haben jedoch festgestellt, dass Organisationen und Hersteller historisch gesehen oft keine Probleme behoben oder Erkennungen für ‚theoretische‘ Angriffe entwickelt haben, bis jemand mit einem Proof of Concept beweist, dass etwas möglich ist.

Dies spiegelt sich in der Reaktion einiger Leute auf die Forschung wider: this IS StUPId, oF COurse YoU Can FORge CERts WITH ThE ca PriVAtE KeY. Darauf antworten wir: Ja, viele Dinge sind möglich, aber PoC||GTFO

Tool herunterladen