
POC-Tool für ResetNightmare (CVE-2026-27912)
Proof-of-concept (POC)-Tool für ResetNightmare (CVE-2026-27912).
ResetNightmare ist ein Validierungsfehler im Kerberos-Change-Password-Protokoll, der es ermöglicht, das Passwort eines beliebigen Zielbenutzer-/Zielcomputerkontos zurückzusetzen, ohne das aktuelle zu kennen.
Der Angriff erfordert einen nicht gepatchten Domänencontroller und die Möglichkeit, ein userPrincipalName (UPN) auf ein beliebiges Konto zu schreiben, das Sie kontrollieren.
Alternativ kann die Schwachstelle auch von einem Angreifer ausgenutzt werden, der die Möglichkeit hat, neue Benutzer/Computer in einer beliebigen OU zu erstellen, da das Erstellen eines Benutzers/Computers Ihnen GenericWrite-Berechtigungen darüber verschafft.
Dieses Skript automatisiert den vollständigen Angriffsablauf und räumt selbstständig auf. Der Angriffsablauf ist wie folgt:
-CreateNewPath erstellt werden.sAMAccountName des Ziels, z. B. „Administrator“.NT-ENTERPRISE anfordern. Dieses TGT wird für den SPN kadmin/changepw angefordert.Sowohl Benutzer- als auch Computerkonten können angegriffen werden.

-RubeusPath an.-CreateNewPath).-DC angegeben werden.Dot-Sourcen Sie das Skript, um die Funktion zu laden, und rufen Sie sie dann auf:
. .\ResetNightmare.ps1
Invoke-ResetNightmare `
-TargetAccount "victim" `
-TargetNewPassword "NewP@ssw0rd!" `
-UPNUser "controlledUser" `
-UPNUserPassword "ControlledP@ss!"
Verwenden Sie den sAMAccountName (mit abschließendem $) für -TargetAccount:
Invoke-ResetNightmare `
-TargetAccount 'server$' `
-TargetNewPassword "NewP@ssw0rd!" `
-UPNUser "controlledUser" `
-UPNUserPassword "ControlledP@ss!"
Wenn Sie über die Berechtigung verfügen, Objekte in einer OU/einem Container zu erstellen, können Sie den DN der OU/des Containers mit -CreateNewPath angeben. Wenn dieser angegeben ist, werden -UPNUser und -UPNUserPassword als Anmeldeinformationen des zu erstellenden Kontos behandelt, anstatt als bestehendes Konto in der Domäne:
Invoke-ResetNightmare `
-TargetAccount "victim" `
-TargetNewPassword "NewP@ssw0rd!" `
-UPNUser "attackerAcct" `
-UPNUserPassword "AttackerP@ss!" `
-CreateNewPath "OU=Temp,DC=demo,DC=lab"
Fügen Sie -Computer hinzu, um ein Computerkonto anstelle eines Benutzerkontos zu erstellen/zu verwenden.
HAFTUNGSAUSSCHLUSS
Dieser Inhalt dient ausschließlich Bildungs- und Informationszwecken. Er soll das Bewusstsein und die verantwortungsvolle Behebung von Sicherheitslücken fördern, die auf Systemen vorhanden sein können, die Ihnen gehören oder deren Test Sie autorisiert sind. Die unbefugte Nutzung dieser Informationen für böswillige Zwecke, Ausbeutung oder unrechtmäßigen Zugriff ist strengstens untersagt. Die Autoren unterstützen oder billigen keine illegale Aktivität und lehnen jede Haftung ab, die aus dem Missbrauch des Materials entsteht. Darüber hinaus garantieren die Autoren nicht die Richtigkeit oder Vollständigkeit des Inhalts und übernehmen keine Haftung für Schäden, die aus dessen Verwendung entstehen.
| Parameter | Erforderlich | Beschreibung |
|---|
-TargetAccount | Ja | Der sAMAccountName des Kontos, das mit dem Passwort-Reset angegriffen werden soll. Stellen Sie sicher, dass Sie das abschließende $ einfügen, wenn Sie ein Computerkonto angreifen. |
-TargetNewPassword | Ja | Das neue Passwort, das für das Zielkonto festgelegt werden soll. |
-UPNUser | Ja | Das Konto, auf das Sie eine UPN schreiben können, oder das Konto, das erstellt werden soll, wenn -CreateNewPath angegeben ist. |
-UPNUserPassword | Ja | Klartextpasswort für -UPNUser. |
-Computer | Nein | Behandelt -UPNUser als Computerkonto (und erstellt ein Computerkonto, wenn es mit -CreateNewPath kombiniert wird). |
-RubeusPath | Nein | Der Pfad zur ausführbaren Datei von Rubeus. Der Standardwert ist „.\Rubeus.exe“. |
-SupportedEncryption | Nein | Der unterstützte Verschlüsselungstyp für das TGT. Der Standardwert ist „AES256“ und sollte in den meisten Fällen funktionieren. Falls eine Änderung erforderlich ist, sind die unterstützten Werte: DES|RC4|AES128|AES256 |
-CreateNewPath | Nein | DistinguishedName einer OU/eines Containers, in der/dem Sie Berechtigungen zum Erstellen von Objekten haben. Wenn angegeben, dienen die Parameter -UPNUser und -UPNUserPassword als Anmeldeinformationen des zu erstellenden Benutzers, anstatt einen vorhandenen Benutzer zu verwenden. |
-DC | Nein | Name des DC, gegen den die Operation ausgeführt werden soll. Dieser wird automatisch aufgelöst, wenn er nicht angegeben wird. |