Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ResetNightmare — POC tool for ResetNightmare (CVE-2026-27912) | Kitploit
Herramientas/GitHubGitHub/semperis-community/resetnightmare
Authentication & AuthorizationPrivilege EscalationPassword AttacksExploitationPenetration TestingRed Teaming
GitHubsemperis-community/resetnightmare

ResetNightmare

POC tool for ResetNightmare (CVE-2026-27912)

Ver Repositorio
20636hace 0 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

ResetNightmare

Herramienta de prueba de concepto (POC) para ResetNightmare (CVE-2026-27912).

ResetNightmare es una falla de validación en el protocolo Kerberos de cambio de contraseña que permite restablecer la contraseña de cualquier cuenta de usuario/equipo objetivo, sin conocer la actual. El ataque requiere un controlador de dominio sin parchear y la capacidad de escribir un userPrincipalName (UPN) en cualquier cuenta que usted controle. Alternativamente, la vulnerabilidad también puede ser explotada por un atacante que tenga la capacidad de crear nuevos usuarios/equipos en cualquier OU, ya que crear un usuario/equipo le permite obtener permisos GenericWrite sobre él.

Flujo del ataque

Este script automatiza todo el flujo del ataque y limpia después de sí mismo. El flujo del ataque es el siguiente:

  1. El atacante tiene un usuario o equipo al que puede escribirle un UPN. Esto puede ser proporcionado o creado, usando -CreateNewPath.
  2. El atacante establece el UPN de la cuenta que controla al sAMAccountName del objetivo, por ejemplo "Administrator".
  3. El atacante puede entonces solicitar un TGT para el nombre de usuario "Administrator", con un tipo de nombre NT-ENTERPRISE. Este TGT se solicitará al SPN kadmin/changepw.
  4. El atacante limpia su propio UPN, dejando solo al objetivo con un UPN que se resolvía hacia él mismo.
  5. El atacante usa entonces el TGT que tiene para restablecer la contraseña del usuario "Administrator", sin conocer nunca el valor anterior.
  6. Si el ataque tiene éxito, la contraseña del objetivo ha sido cambiada, y el atacante ahora puede autenticarse usando las nuevas credenciales.

Tanto las cuentas de usuario como las de equipo pueden ser objetivo.

image

Requisitos

  • Windows con PowerShell.
  • El módulo de PowerShell ActiveDirectory.
  • El script usa Rubeus.exe, probado con Rubeus compilado contra .NET Framework 4.6.2. Colóquelo en el directorio actual, o indique su ruta con -RubeusPath.
  • O bien:
    • Una cuenta de dominio que usted controle y a la que pueda escribirle un UPN.
    • Permiso para crear cuentas en una OU/Contenedor (especificado con -CreateNewPath).
  • Un DC sin parchear como objetivo. Puede especificarse con -DC.

Uso

Haga dot-source del script para cargar la función y luego llámela:

root@kitploit:~
. .\ResetNightmare.ps1

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

Apuntando a una cuenta de equipo

Use el sAMAccountName (que termina con $) para -TargetAccount:

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

Creando una nueva cuenta controlada

Si tiene permiso para crear objetos en una OU/Contenedor, puede especificar el DN de la OU/Contenedor usando -CreateNewPath. Cuando se especifica, -UPNUser y -UPNUserPassword se tratan como las credenciales de la cuenta a crear, en lugar de una cuenta existente en el dominio:

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

Agregue -Computer para crear/usar una cuenta de equipo en lugar de una cuenta de usuario.

Parámetros

DESCARGO DE RESPONSABILIDAD
Este contenido se proporciona únicamente con fines educativos e informativos. Está destinado a promover la concienciación y la remediación responsable de vulnerabilidades de seguridad que puedan existir en sistemas que usted posee o está autorizado a probar. El uso no autorizado de esta información con fines maliciosos, explotación o acceso ilegal está estrictamente prohibido. Los autores no respaldan ni condonan ninguna actividad ilegal y rechazan cualquier responsabilidad derivada del mal uso del material. Además, los autores no garantizan la exactitud o integridad del contenido y no asumen ninguna responsabilidad por daños resultantes de su uso.

Descargar herramienta
ParámetroRequeridoDescripción
-TargetAccountSíEl sAMAccountName de la cuenta objetivo para el restablecimiento de contraseña. Asegúrese de incluir el $ final si apunta a una cuenta de equipo.
-TargetNewPasswordSíLa nueva contraseña a establecer para la cuenta objetivo.
-UPNUserSíLa cuenta a la que usted puede escribirle un UPN, o la cuenta a crear si se especifica -CreateNewPath.
-UPNUserPasswordSíContraseña en texto claro para -UPNUser.
-ComputerNoTrata a -UPNUser como una cuenta de equipo (y crea una cuenta de equipo cuando se combina con -CreateNewPath).
-RubeusPathNoLa ruta al ejecutable de Rubeus. El valor predeterminado es ".\Rubeus.exe".
-SupportedEncryptionNoEl tipo de cifrado soportado para el TGT. El valor predeterminado es "AES256" y debería funcionar en la mayoría de los casos. Si es necesario cambiarlo, los valores soportados son:
DES|RC4|AES128|AES256
-CreateNewPathNoDistinguishedName de una OU/Contenedor donde tenga permisos para crear objetos. Si se especifica, los parámetros -UPNUser y -UPNUserPassword serán las credenciales del usuario a crear, en lugar de usar un usuario existente.
-DCNoNombre del DC contra el que operar. Se resuelve automáticamente si no se especifica.