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
Tools/GitHubGitHub/trya9ain/certighost_cve-2026-54121
SchwachstellenanalyseExploitationPost-ExploitationPenetrationstestsRed Teaming
GitHubtrya9ain/certighost_cve-2026-54121

Certighost_CVE-2026-54121

# Ein-Klick-Exploit für CVE-2026-54121 (Certighost) zur gezielten AD-CS-Zertifikat-Identitätsspoofing Automatisiert die Erstellung von Maschinenkonten, Verkehrsumleitung, betrügerische Zertifizierungsstelle, PKINIT und NT-Hash-Extraktion zur Domänenkompromittierung.

Repository anzeigen
vor 11h 32mNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

certighost-oneclick

CVE-2026-54121 (Certighost) One-Click-Exploit-Tool – nur für lokale Übungsziele/autorisierte Tests.

Windows-native Version, basierend auf dem Upstream-PoC (@h0j3n Analyse / @aniqfakhrul Implementierung) umgebaut: Integrierter, selbst entwickelter WinDivert-Redirector (pydivert), ein einziger Befehl erledigt „Konto erstellen → Redirect → rogue Listener → CA-Chase → DC-Identitätszertifikat → PKINIT → DC-Maschinenkonto-NT-Hash", ohne den Server-Dienst zu stoppen, ohne Host-Konfiguration zu ändern, Beendigung stellt alles wieder her.

Unterschiede zum Upstream (Patch-Liste)

PatchBeschreibung
--redirectIntegrierter WinDivert-Redirector (445 → --lsa-port, schmaler Filter: hijackt nur Traffic der Listener-IP), startet/stoppt mit dem Prozess, stellt 445 beim Beenden automatisch wieder her. Ersetzt das offizielle PortBender (dessen offizielles Artefakt eine CS-spezifische 32-Bit-Reflective-DLL ist und nicht eigenständig lauffähig)
--lsa-portRogue-LSA/SMB-Listenport parametrisiert (Standard 445; bei --redirect Standard 8445)
os.geteuid-GuardUpstream-Root-Check crasht unter Windows → hasattr-Guard + Windows-Port-Hinweis
Readiness-Check parametrisiertUpstream hartkodiert port_ok(127.0.0.1, 445) → args.lsa_port
PEP-723-Headeruv run certighost.py ... direkt ausführbar, Abhängigkeiten werden automatisch aufgelöst (inkl. git-master impacket), null Umgebungsverschmutzung
--new-computer-nameBenutzerdefinierter Name für das Konto (umgeht GHOST*-Erkennungsmerkmale)
--new-computer-passBenutzerdefiniertes Passwort für das Konto (muss Domänen-Passwortrichtlinie erfüllen)
random.randbytes-Polyfillimpacket git-master verwendet 3.9+-API beim Import von smbserver; für 3.8 nötig, os.urandom-Implementierung
Beenden nach AbschlussNach GGWP flush + os._exit() (behebt das minutenlange Hängen durch impacket-Nicht-Daemon-Threads)
Exit-Code-Semantik0 Erfolg / 1 Fehler
<dc>.hash.txt-AblageDC-Maschinenkonto-NT-Hash wird in Datei geschrieben (nur eine Zeile name:lm:nt)

Verwendung

① Vorprüfung (nur lesend, bestätigt CA und Exploit-Voraussetzungen):

root@kitploit:~
uv run check_ca.py -d bingo.com -dc-ip 192.168.16.144 -u zhaolei -p 'pass'

Gibt Enterprise-CA-Liste, Machine-Template-Ausstellung und Registrierungsrechte aus (Domain Computers muss Enroll haben). Auf der CA-Maschine zusätzlich Chase-Flag prüfen: certutil -getreg policy\EditFlags (sollte EDITF_ENABLECHASECLIENTDC enthalten; bei Server 2016 Standardinstallation getestet aktiv).

② One-Click-Exploit (Windows, Administrator):

root@kitploit:~
uv run certighost.py -d bingo.com -u zhaolei -p '[email protected]' \
  --dc-ip 192.168.16.144 --listener <vom Host erreichbare IP> --redirect \
  --new-computer-name MACH$ --new-computer-pass 'Your@Pw123!'

Drei Artefakte (automatisch im Ausführungsverzeichnis abgelegt):

DateiInhalt
<dc>.pfxDC-Identitätszertifikat (PKINIT-Material)
<dc>.ccacheKerberos-Ticket-Cache
<dc>.hash.txtDC-Maschinenkonto-NT-Hash (nur eine Zeile name:lm:nt)

③ Bereinigung (Konto löschen):

root@kitploit:~
uv run cleanup_ghost.py -d bingo.com -dc-ip 192.168.16.144 -u administrator -p 'pass' --prefix MACH

Parameter (impacket-Stil)

ParameterBeschreibung
-d / -u / -p / -HDomäne / Niedrigprivilegierter Benutzer / Passwort / NTLM-Hash
--dc-ipDC-Adresse (erforderlich)
--listener IPRogue-Listener-IP (bei mehreren NICs unbedingt explizit angeben)
--redirectWindows-Kern: integrierter WinDivert-445-Redirect (benötigt Administrator + pydivert)
--lsa-port NRogue-LSA-Port (Standard 8445 bei --redirect)
--new-computer-nameBenutzerdefinierter Name für das Konto (fügt automatisch $ hinzu)
--new-computer-passBenutzerdefiniertes Passwort für das Konto (schließt sich mit existing-Pfad aus)
--computer-name/--computer-pass/--computer-hashOhne MAQ: Wiederverwendung eines kontrollierten Maschinenkontos
--target-san DC01$Ziel der Identitätsübernahme angeben (Standard: DC automatisch erkennen)
--templateZertifikatsvorlage (Standard Machine)
--ca / --ca-ipCA manuell angeben
--debugVollständige Protokoll-Phasen-Trace

Interner Ablauf

root@kitploit:~
Phase1  Niedrigprivilegierter Benutzer erstellt Maschinenkonto (MAQ-Pfad automatisch / --new-computer-* benutzerdefiniert / --computer-* vorhandenes wiederverwenden)
Phase2  [Windows] Integrierter WinDivert-Redirector: listener_ip:445 -> :lsa_port
        Schmaler Filter (nur diese IP), umgeschriebene Pakete verlassen den Filter = keine Re-Injection-Schleife; Handle wird mit Prozess geschlossen
Phase3  Rogue-Server: LDAP:389 + LSA/SMB:lsa_port (beantwortet cdc/rmd-Chase, füttert DC-Identitätsdaten)
Phase4  Zertifikatsanfrage als Maschinenidentität (Machine-Vorlage), CA ruft rogue zurück → stellt DC-Identitätszertifikat aus
Phase5  PKINIT → KDC gibt DC-Maschinenkonto-NT-Hash im PAC zurück → extrahieren und in .hash.txt schreiben
Phase6  (Danach) secretsdump DCSync → krbtgt → vollständige Domänenübernahme; cleanup_ghost bereinigt das Konto

Linux-Verwendung unverändert (root bindet direkt 445/389, ohne --redirect).

Hash-Extraktionsmechanismus (kein DCSync)

Die Hash-Extraktion der Angriffskette läuft über PKINIT → PAC → NT-Hash, nicht über DCSync:

  1. CA wird getäuscht, ein Zertifikat mit „Identität = DC-Maschinenkonto" auszustellen
  2. Das Skript verwendet das Zertifikat für Kerberos-PKINIT (Public-Key-Pre-Authentication)
  3. KDC gibt den NT-Hash dieses Kontos in PAC_CREDENTIAL_INFO der AS-REP zurück (Designverhalten des Kerberos-Protokolls: Bei Zertifikatsauthentifizierung wird der NT-Hash in den PAC eingefügt, für NTLM-Altanwendungen)
  4. Das Skript entschlüsselt den PAC, extrahiert den Hash → Ausgabe + Ablage

Nach Erhalt des Hashes ist secretsdump für DCSync ein zweiter Schritt, nicht die Quelle des Hashes.

Paketierung (Einzeldatei-exe, Architektur-A-Lieferform)

root@kitploit:~
# PowerShell 7
./build_exe.ps1              # Standard-Stufe  (Win10 / Server 2016+)
./build_exe.ps1 3.10         # Kompatibilitäts-Stufe  (Win8.1 / Server 2012 R2+)
./build_exe.ps1 legacy       # Legacy-Stufe  (Win7 SP1 / Server 2008 R2 x64)

Artefakt dist\certighost_x64.exe: 19-27MB (je nach Stufe), --uac-admin Selbst-Elevation, null Abhängigkeiten, das Skript gibt automatisch die SHA256-Prüfsumme aus.

Voraussetzungen für Legacy-Stufe (legacy) Build

Benötigt offizielles CPython 3.8.10 von python.org installiert unter folgendem Pfad (letzter offizieller Binär-Build, der den Win7-Kernel unterstützt, ohne neue UCRT-API):

root@kitploit:~
D:\网安相关\Tools\Python\cpython-3.8.10-x64\

Installationsbefehl (still, ohne PATH, ohne Launcher):

root@kitploit:~
python-3.8.10-amd64.exe /quiet InstallAllUsers=0 TargetDir=D:\网安相关\Tools\Python\cpython-3.8.10-x64 PrependPath=0 Include_launcher=0

Zusätzlich PyInstaller==5.13.2 fixieren (6.x-Bootloader unterstützt Win7-Kernel nicht) und cryptography==38.0.4 (Rust-Räder ab 38.x erfordern Win10+), beides bereits im Skript festgeschrieben.

Verifizierungsmatrix auf echter Hardware

StufeSystem echte HardwareVollständige KetteAnmerkungen
StandardWin11✅
Kompatibilität 3.10Win11 / Win10 / Server 2012 R2✅ ×3Inkl. WinDivert auf echter Hardware
LegacyWin11 / Server 2008 R2 x64✅ ×2Offizielles 3.8.10 + PyInstaller 5.13.2

Hinweis: PyInstaller+impacket ist ein Schwerpunktgebiet für AV-Erkennung, vor dem Einsatz selbst bewerten.

Praktische Einsatzarchitektur (Zwei-Maschinen-Modell)

  • Architektur A (Standardform dieses Tools): Komplettes exe auf einem erreichbaren Fußpunkt (Administrator nötig) direkt ausführen;
  • Architektur B (wertvoller Fußpunkt): Tool bleibt lokal, der Fußpunkt trägt nur Tunnel-Remote-Forwarding (389 direkt gebunden + 445 benötigt Redirect desselben Typs wie dieses Tool).

Erkennungspunkte (Blue Team)

  • Verdächtige Zertifikate, die an DC-Identitäten ausgestellt wurden, in der CA-Datenbank (permanente Rückstände) – erster Ankerpunkt für Forensik
  • CA-Ereignisse 4886/4887 (Zertifikatsausstellung) mit Antragsteller-Ziel-Identitäts-Diskrepanz (Elastic/Nextron haben fertige Regeln)
  • Neu erstellte GHOST*/benutzerdefinierte Maschinenkonten (4741) + Registrierungsanfragen niedrigprivilegierter Benutzer an die CA
  • WinDivert-Treiber-Ladeereignisse auf dem Fußpunkt (Architektur A/B gemeinsam)

Bekannte Grenzen

  • Benötigt Enterprise-CA + niedrigprivilegierter Benutzer mit Registrierungszugriff + DC ohne 2026-07-Patch + Chase-Flag aktiv
  • Ziel kann nur ein Computerkonto sein (bedingt durch Machine-Vorlagen-Registrierungsrechte und dNSHostName-Identitätsmechanismus) aber DC-Maschinenkonto = DCSync = gesamte Domäne, Effekt äquivalent zu allen Domänen-Admins
  • Server 2016 vollständige Kette empirisch bestätigt; 2012R2~2025 als machbar angenommen (gleicher Chase-Mechanismus)
  • Kontopad ist eine Degradationsleiter: LDAPS-Fehler fällt automatisch auf SAMR zurück
  • PKINIT-Phase gelegentlich ciphertext integrity failure: einmal beobachtet, Wiederholung behebt es
  • Redirector ist für IPv4-Schmalbereich ausgelegt, IPv6-Szenario nicht abgedeckt

Dateiliste

root@kitploit:~
certighost.py            Haupt-Exploit (Upstream + Windows-Nativisierungspatches + PEP 723)
certighost_redirect.py   Selbst entwickelter WinDivert-445-Redirector (pydivert; --selftest/--e2e Selbsttest)
check_ca.py              Vorprüfung: CA/Vorlage/Registrierungsrechte/Chase-Flag (nur lesend)
cleanup_ghost.py         Abschluss: Konto löschen
build_exe.ps1            PyInstaller-Einzeldatei-Paketierung (pwsh7, Drei-Stufen-Matrix, automatische SHA256)

Upstream und Danksagungen

  • Originalforschung und PoC: @h0j3n (gist-Analyse), @aniqfakhrul/CVE-2026-54121 (Upstream-Implementierung)
  • Kudelski Security (Schwachstellenentdecker); PortBender (Praetorian, Quelle der Redirect-Idee)
  • pydivert (WinDivert 2.2.2 Python-Bindungen)
Tool herunterladen