Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ResetNightmare — POC tool for ResetNightmare (CVE-2026-27912) | Kitploit
Outils/GitHubGitHub/semperis-community/resetnightmare
Authentication & AuthorizationPrivilege EscalationPassword AttacksExploitationPenetration TestingRed Teaming
GitHubsemperis-community/resetnightmare

ResetNightmare

POC tool for ResetNightmare (CVE-2026-27912)

Voir le dépôt
19031il y a 17 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ResetNightmare

Outil de preuve de concept (POC) pour ResetNightmare (CVE-2026-27912).

ResetNightmare est une faille de validation dans le protocole Kerberos Change Password qui permet de réinitialiser le mot de passe de n'importe quel compte utilisateur/ordinateur cible, sans connaître le mot de passe actuel. L'attaque nécessite un contrôleur de domaine non corrigé, ainsi que la possibilité d'écrire un userPrincipalName (UPN) sur n'importe quel compte que vous contrôlez. Alternativement, la vulnérabilité peut également être exploitée par un attaquant ayant la capacité de créer de nouveaux utilisateurs/ordinateurs dans n'importe quelle OU, car créer un utilisateur/ordinateur permet d'obtenir des permissions GenericWrite sur celui-ci.

Déroulement de l'attaque

Ce script automatise l'intégralité du déroulement de l'attaque et nettoie automatiquement après son exécution. Le déroulement de l'attaque est le suivant :

  1. L'attaquant dispose d'un utilisateur ou d'un ordinateur sur lequel il peut écrire un UPN. Celui-ci peut être fourni ou créé à l'aide de -CreateNewPath.
  2. L'attaquant définit l'UPN du compte qu'il contrôle sur le sAMAccountName de la cible, par exemple "Administrator".
  3. L'attaquant peut ensuite demander un TGT pour le nom d'utilisateur "Administrator", avec un type de nom NT-ENTERPRISE. Ce TGT sera demandé au SPN kadmin/changepw.
  4. L'attaquant efface son propre UPN, ne laissant que la cible avec un UPN qui pointait vers lui-même.
  5. L'attaquant utilise ensuite le TGT dont il dispose pour réinitialiser le mot de passe de l'utilisateur "Administrator", sans jamais connaître la valeur précédente.
  6. Si l'attaque réussit, le mot de passe de la cible a été modifié et l'attaquant peut désormais s'authentifier avec les nouvelles informations d'identification.

Les comptes utilisateur et ordinateur peuvent tous deux être ciblés.

image

Prérequis

  • Windows avec PowerShell.
  • Le module PowerShell ActiveDirectory.
  • Le script utilise Rubeus.exe, testé avec Rubeus compilé avec .NET Framework 4.6.2. Placez-le dans le répertoire courant, ou indiquez son chemin avec -RubeusPath.
  • Soit :
    • Un compte de domaine que vous contrôlez et sur lequel vous pouvez écrire un UPN.
    • La permission de créer des comptes dans une OU/Conteneur (spécifiée avec -CreateNewPath).
  • Un DC non corrigé à cibler. Peut être spécifié avec -DC.

Utilisation

Chargez le script en dot-source pour charger la fonction, puis appelez-la :

root@kitploit:~
. .\ResetNightmare.ps1

Invoke-ResetNightmare `
    -TargetAccount "victim" `
    -TargetNewPassword "NewP@ssw0rd!" `
    -UPNUser "controlledUser" `
    -UPNUserPassword "ControlledP@ss!"

Ciblage d'un compte ordinateur

Utilisez le sAMAccountName (se terminant par $) pour -TargetAccount :

root@kitploit:~
Invoke-ResetNightmare `
    -TargetAccount 'server$' `
    -TargetNewPassword "NewP@ssw0rd!" `
    -UPNUser "controlledUser" `
    -UPNUserPassword "ControlledP@ss!"

Création d'un nouveau compte contrôlé

Si vous avez la permission de créer des objets dans une OU/Conteneur, vous pouvez spécifier le DN de l'OU/Conteneur à l'aide de -CreateNewPath. Lorsqu'il est spécifié, -UPNUser et -UPNUserPassword sont traités comme les informations d'identification du compte à créer, au lieu d'un compte existant dans le domaine :

root@kitploit:~
Invoke-ResetNightmare `
    -TargetAccount "victim" `
    -TargetNewPassword "NewP@ssw0rd!" `
    -UPNUser "attackerAcct" `
    -UPNUserPassword "AttackerP@ss!" `
    -CreateNewPath "OU=Temp,DC=demo,DC=lab"

Ajoutez -Computer pour créer/utiliser un compte ordinateur au lieu d'un compte utilisateur.

Paramètres

AVERTISSEMENT
Ce contenu est fourni à des fins éducatives et informatives uniquement. Il vise à promouvoir la sensibilisation et la correction responsable des vulnérabilités de sécurité qui peuvent exister sur les systèmes que vous possédez ou que vous êtes autorisé à tester. L'utilisation non autorisée de ces informations à des fins malveillantes, d'exploitation ou d'accès illégal est strictement interdite. Les auteurs n'approuvent ni ne cautionnent aucune activité illégale et déclinent toute responsabilité découlant d'une mauvaise utilisation de ce matériel. De plus, les auteurs ne garantissent pas l'exactitude ou l'exhaustivité du contenu et déclinent toute responsabilité en cas de dommages résultant de son utilisation.

Télécharger l’outil
ParameterRequiredDescription
-TargetAccountOuiLe sAMAccountName du compte à cibler avec la réinitialisation du mot de passe. Assurez-vous d'inclure le $ final si vous ciblez un compte ordinateur.
-TargetNewPasswordOuiLe nouveau mot de passe à définir pour le compte cible.
-UPNUserOuiLe compte sur lequel vous pouvez écrire un UPN, ou le compte à créer si -CreateNewPath est spécifié.
-UPNUserPasswordOuiMot de passe en clair pour -UPNUser.
-ComputerNonTraite -UPNUser comme un compte ordinateur (et crée un compte ordinateur lorsqu'il est combiné avec -CreateNewPath).
-RubeusPathNonLe chemin vers l'exécutable Rubeus. La valeur par défaut est ".\Rubeus.exe".
-SupportedEncryptionNonLe type de chiffrement pris en charge pour le TGT. La valeur par défaut est "AES256" et devrait fonctionner dans la plupart des cas. Si vous devez modifier cette valeur, les valeurs prises en charge sont :
DES|RC4|AES128|AES256
-CreateNewPathNonDistinguishedName (DN) d'une OU/Conteneur où vous avez les permissions de créer des objets. S'il est spécifié, les paramètres -UPNUser et -UPNUserPassword seront les informations d'identification de l'utilisateur à créer, au lieu d'utiliser un utilisateur existant.
-DCNonNom du DC à utiliser. Il est automatiquement résolu s'il n'est pas spécifié.