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
CVE-2026-54121-CertiGhost — CVE-2026-54121 (Certighost) AD CS DC-Impersonation PoC. Gepatchte SAN-Verarbeitung + MAQ-sichere Kontowiederverwendung. | Kitploit
Tools/GitHubGitHub/marcgoam/cve-2026-54121-certighost
Authentifizierung & AutorisierungPrivilege EscalationSchwachstellenanalyseExploitationLaterale BewegungPenetrationstestsAdversarial-Angriff
GitHubmarcgoam/cve-2026-54121-certighost

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-54121-CertiGhost

CVE-2026-54121 (Certighost) AD CS DC-Impersonation PoC. Gepatchte SAN-Verarbeitung + MAQ-sichere Kontowiederverwendung.

Repository anzeigen
1025vor 1 MonatNoch nicht geprüft

CVE-2026-54121 (Certighost) - gepatchter Fork

Ein funktionsfähiger Fork des Proof-of-Concept-Tools für CVE-2026-54121, auch bekannt als Certighost. Originalforschung und PoC von @H0j3n und @aniqfakhrul, ausführliche Analyse unter:

  • https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26.

Dieser Fork behebt die SAN-Verarbeitung, die PKINIT auf CAs, die das angeforderte SAN berücksichtigen, am Erfolg hinderte, härtet das Parsing von --target-san und überarbeitet die Behandlung des Computerkontos, sodass die ms-DS-MachineAccountQuota nicht mehr ausgeschöpft wird.

Verwendung

Als Root ausführen, da die Rogue-LDAP- und SMB-Dienste die privilegierten Ports 389 und 445 benötigen.

root@kitploit:~
sudo python3 certighost.py -d playground.local -u lowpriv -p 'Password1234' --dc-ip 192.168.1.10

Nach erfolgreichem Abschluss werden das Zielzertifikat (.pfx) und der Kerberos-Cache (.ccache) in das aktuelle Arbeitsverzeichnis geschrieben.

Was dieses Skript tut

  1. Ein einzelnes stabiles Computerkonto wiederverwenden (CERTIGHOST$, beim ersten Lauf erstellt) oder ein über --computer-name angegebenes verwenden.
  2. Zwei Rogue-Listener starten: einen SMB/LSA-Server auf Port 445 und einen LDAP-Server auf Port 389.
  3. Eine Zertifikatsanforderung als dieses Computerkonto senden, die ein benutzerdefiniertes cdc-Attribut einbettet, das auf eine kontrollierte IP zeigt (über --listener; optional, wird bei Weglassen automatisch erkannt), sowie ein rmd-Attribut, das den DNS-Namen des Ziel-DCs trägt.
  4. Die CA verbindet sich zurück zu den Rogue-LSA/LDAP-Listenern. Diese authentifizieren sich als das erstellte Konto (über den echten DC per Netlogon validiert) und beantworten die Abfragen der CA stattdessen mit der Identität des Ziel-DCs (sAMAccountName, SID, dNSHostName).
  5. Die CA stellt ein gültiges Zertifikat aus, das dem DC gehört.
  6. Das Skript führt PKINIT mit der PFX-Datei des DCs durch, um den .ccache und den NT-Hash anzufordern.

Änderungen in diesem Fork

1. SAN-Fix (lässt PKINIT gelingen)

Das Original baute das SAN des Zertifikats sowohl in der CSR-Erweiterung subjectAltName als auch im Anforderungsattribut SAN:dns= aus dem Hostnamen des Rogue-Computers anstelle des FQDN des Ziel-DCs auf. Auf einer CA, die das angeforderte SAN berücksichtigt, trug das ausgestellte Zertifikat daher den dNSHostName des Rogue-Kontos, sodass PKINIT es dem falschen Principal zuordnete und mit folgendem Fehler fehlschlug:

root@kitploit:~
KDC_ERR_CLIENT_NAME_MISMATCH(Reserved for PKINIT)

Das SAN verwendet nun den dNSHostName des Ziel-DCs (rmd_value / target_dns), auf den PKINIT ein Maschinenkonto abbildet. Das ausgestellte Zertifikat präsentiert nun DNS:<dc>.<domain> und die AS-REQ schließt als der DC ab.

2. Robustes --target-san

--target-san akzeptiert nun jede der Formen MEEREEN, MEEREEN$ oder den FQDN meereen.essos.local (abgeglichen über sAMAccountName oder dNSHostName), statt nur der kurzen NAME-Form.

3. Wiederverwendung des Computerkontos (keine MAQ-Erschöpfung mehr)

Das Original erstellte bei jedem Lauf ein neues zufälliges GHOST********$-Konto. Da über die ms-DS-MachineAccountQuota erstellte Computerkonten Domain-Admins gehören (nicht dem Ersteller), kann ein Benutzer mit geringen Rechten sie nicht löschen, sodass wiederholte Läufe das Kontingent (Standard: 10) schnell durch verwaiste Konten erschöpften.

Dieser Fork verwendet ein einziges stabiles Konto wieder (CERTIGHOST$, wird nur erstellt, wenn es noch nicht existiert), sodass das Kontingent nie wächst und es zwischen den Läufen nichts zu bereinigen gibt.

4. Warnung zu zurückgelassenen Konten

Wenn das Konto zum ersten Mal erstellt wird, gibt das Skript eine Warnung aus, die darauf hinweist, dass es in der AD zurückbleibt:

root@kitploit:~
[!] WARNING: computer account CERTIGHOST$ was created and is left in AD.

Das Konto bleibt für die Wiederverwendung bei späteren Läufen erhalten. Um es vollständig zu entfernen, löschen Sie es mit einem Domain-Admin (dem Objektbesitzer):

root@kitploit:~
Get-ADComputer CERTIGHOST | Remove-ADComputer -Confirm:$false

Voraussetzungen

  • Python 3
  • impacket
  • cryptography, pyasn1, asn1crypto, pycryptodomex

Referenzen

  • https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54121
  • https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26
  • https://github.com/aniqfakhrul/CVE-2026-54121 (Original-PoC)

Haftungsausschluss

Nur für autorisierte Sicherheitstests und zu Bildungszwecken. Verwenden Sie es nur gegen Systeme, für deren Test Sie eine ausdrückliche Genehmigung haben.

Tool herunterladen