Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ResetNightmare — Ferramenta de POC para ResetNightmare (CVE-2026-27912) | Kitploit
Ferramentas/GitHubGitHub/semperis-community/resetnightmare
Autenticação e AutorizaçãoEscalada de PrivilégiosAtaques de SenhaExploraçãoTestes de PenetraçãoRed Teaming
GitHubsemperis-community/resetnightmare

ResetNightmare

Ferramenta de POC para ResetNightmare (CVE-2026-27912)

Ver Repositório
216384há 21 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

ResetNightmare

Ferramenta de prova de conceito (POC) para ResetNightmare (CVE-2026-27912).

ResetNightmare é uma falha de validação no protocolo Kerberos Change Password que permite redefinir a senha de qualquer conta de usuário/computador alvo, sem conhecer a senha atual. O ataque requer um controlador de domínio sem patch e a capacidade de gravar um userPrincipalName (UPN) em qualquer conta que você controle. Alternativamente, a vulnerabilidade também pode ser explorada por um atacante com a capacidade de criar novos usuários/computadores em qualquer OU, pois criar um usuário/computador permite obter permissões GenericWrite sobre ele.

Fluxo do ataque

Este script automatiza todo o fluxo do ataque e faz a limpeza após a execução. O fluxo do ataque é o seguinte:

  1. O atacante tem um usuário ou computador no qual pode gravar um UPN. Isso pode ser fornecido ou criado, usando -CreateNewPath.
  2. O atacante define o UPN da conta que controla para o sAMAccountName do alvo, por exemplo, "Administrator".
  3. O atacante pode então solicitar um TGT para o nome de usuário "Administrator", com um tipo de nome NT-ENTERPRISE. Este TGT será solicitado ao SPN kadmin/changepw.
  4. O atacante limpa o próprio UPN, deixando apenas o alvo com um UPN que resolvia para ele mesmo.
  5. O atacante então usa o TGT que possui para redefinir a senha do usuário "Administrator", sem nunca conhecer o valor anterior.
  6. Se o ataque for bem-sucedido, a senha do alvo foi alterada, e o atacante agora pode se autenticar usando as novas credenciais.

Tanto contas de usuário quanto contas de computador podem ser alvo.

image

Requisitos

  • Windows com PowerShell.
  • O módulo PowerShell ActiveDirectory.
  • O script usa o Rubeus.exe, testado com Rubeus compilado para .NET Framework 4.6.2. Coloque-o no diretório atual, ou aponte para ele com -RubeusPath.
  • Uma das seguintes opções:
    • Uma conta de domínio que você controla e na qual pode gravar um UPN.
    • Permissão para criar contas em uma OU/Container (especificada com -CreateNewPath).
  • Um DC sem patch como alvo. Pode ser especificado com -DC.

Uso

Use dot-source no script para carregar a função e então chame-a:

root@kitploit:~
. .\ResetNightmare.ps1

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

Direcionando uma conta de computador

Use o sAMAccountName (terminando com $) para -TargetAccount:

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

Criando uma nova conta controlada

Se você tiver permissão para criar objetos em uma OU/Container, pode especificar o DN da OU/Container usando -CreateNewPath. Quando especificado, -UPNUser e -UPNUserPassword são tratados como as credenciais da conta a ser criada, em vez de uma conta existente no domínio:

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

Adicione -Computer para criar/usar uma conta de computador em vez de uma conta de usuário.

Parâmetros

AVISO LEGAL
Este conteúdo é fornecido apenas para fins educacionais e informativos. Tem como objetivo promover a conscientização e a remediação responsável de vulnerabilidades de segurança que possam existir em sistemas que você possui ou está autorizado a testar. O uso não autorizado destas informações para fins maliciosos, exploração ou acesso ilegal é estritamente proibido. Os autores não endossam nem toleram qualquer atividade ilegal e se isentam de qualquer responsabilidade decorrente do mau uso do material. Além disso, os autores não garantem a precisão ou a integralidade do conteúdo e não assumem responsabilidade por quaisquer danos resultantes de seu uso.

Baixar ferramenta
ParâmetroObrigatórioDescrição
-TargetAccountSimO sAMAccountName da conta a ser alvo da redefinição de senha. Certifique-se de incluir o $ final se estiver direcionando uma conta de computador.
-TargetNewPasswordSimA nova senha a ser definida para a conta alvo.
-UPNUserSimA conta na qual você pode gravar um UPN, ou a conta a ser criada se -CreateNewPath for especificado.
-UPNUserPasswordSimSenha em texto claro para -UPNUser.
-ComputerNãoTrata -UPNUser como uma conta de computador (e cria uma conta de computador quando combinado com -CreateNewPath).
-RubeusPathNãoO caminho para o executável do Rubeus. O padrão é ".\Rubeus.exe".
-SupportedEncryptionNãoO tipo de criptografia suportado para o TGT. O valor padrão é "AES256" e deve funcionar na maioria dos casos. Se for necessário alterar, os valores suportados são:
DES|RC4|AES128|AES256
-CreateNewPathNãoDistinguishedName de uma OU/Container onde você tem permissões para criar objetos. Se especificado, os parâmetros -UPNUser e -UPNUserPassword serão as credenciais do usuário a ser criado, em vez de usar um usuário existente.
-DCNãoNome do DC contra o qual operar. Isso é resolvido automaticamente se não for especificado.