Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ResetNightmare — POC tool for ResetNightmare (CVE-2026-27912) | Kitploit
Strumenti/GitHubGitHub/semperis-community/resetnightmare
Authentication & AuthorizationPrivilege EscalationPassword AttacksExploitationPenetration TestingRed Teaming
GitHubsemperis-community/resetnightmare

ResetNightmare

POC tool for ResetNightmare (CVE-2026-27912)

Vedi Repository
206361 giorno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ResetNightmare

Strumento proof-of-concept (POC) per ResetNightmare (CVE-2026-27912).

ResetNightmare è una falla di validazione nel protocollo Kerberos Change Password che consente di reimpostare la password di qualsiasi account utente/computer, senza conoscerne quella attuale. L'attacco richiede un controller di dominio non aggiornato e la possibilità di scrivere un userPrincipalName (UPN) su qualsiasi account che controlli. In alternativa, la vulnerabilità può anche essere sfruttata da un attaccante che ha la possibilità di creare nuovi utenti/computer in qualsiasi OU, poiché la creazione di un utente/computer consente di ottenere permessi GenericWrite su di esso.

Flusso dell'attacco

Questo script automatizza l'intero flusso di attacco e si ripulisce da solo. Il flusso dell'attacco è il seguente:

  1. L'attaccante ha un utente o computer su cui può scrivere un UPN. Questo può essere fornito o creato usando -CreateNewPath.
  2. L'attaccante imposta l'UPN dell'account che controlla sul sAMAccountName del target, ad esempio "Administrator".
  3. L'attaccante può quindi richiedere un TGT per il nome utente "Administrator", con un name type di NT-ENTERPRISE. Questo TGT verrà richiesto allo SPN kadmin/changepw.
  4. L'attaccante cancella il proprio UPN, lasciando solo il target con un UPN che risolve a sé stesso.
  5. L'attaccante usa quindi il TGT in suo possesso per reimpostare la password dell'utente "Administrator", senza mai conoscere il valore precedente.
  6. Se l'attacco riesce, la password del target è stata cambiata e l'attaccante può ora autenticarsi con le nuove credenziali.

È possibile prendere di mira sia account utente che account computer.

image

Requisiti

  • Windows con PowerShell.
  • Il modulo PowerShell ActiveDirectory.
  • Lo script usa Rubeus.exe, testato con Rubeus compilato con .NET Framework 4.6.2. Posizionalo nella directory corrente, oppure indica il percorso con -RubeusPath.
  • Uno tra:
    • Un account di dominio che controlli e su cui puoi scrivere un UPN.
    • Il permesso di creare account in una OU/Container (specificato con -CreateNewPath).
  • Un DC non aggiornato da prendere di mira. Può essere specificato con -DC.

Utilizzo

Esegui il dot-source dello script per caricare la funzione, quindi chiamala:

root@kitploit:~
. .\ResetNightmare.ps1

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

Prendere di mira un account computer

Usa il sAMAccountName (terminante con $) per -TargetAccount:

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

Creare un nuovo account controllato

Se hai il permesso di creare oggetti in una OU/Container, puoi specificare il DN della OU/Container usando -CreateNewPath. Quando viene specificato, -UPNUser e -UPNUserPassword vengono trattati come le credenziali dell'account da creare, invece di quelle di un account esistente nel dominio:

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

Aggiungi -Computer per creare/usare un account computer invece di un account utente.

Parametri

DICHIARAZIONE DI NON RESPONSABILITÀ
Questo contenuto è fornito solo a scopo educativo e informativo. È inteso a promuovere la consapevolezza e la corretta mitigazione delle vulnerabilità di sicurezza che possono esistere sui sistemi di tua proprietà o che sei autorizzato a testare. L'uso non autorizzato di queste informazioni per scopi dannosi, sfruttamento o accesso illegale è strettamente proibito. Gli autori non approvano né tollerano alcuna attività illegale e declinano ogni responsabilità derivante dall'uso improprio del materiale. Inoltre, gli autori non garantiscono l'accuratezza o la completezza del contenuto e non si assumono alcuna responsabilità per danni derivanti dal suo utilizzo.

Scarica lo strumento
ParametroObbligatorioDescrizione
-TargetAccountSìIl sAMAccountName dell'account da prendere di mira con il reset della password. Assicurati di includere il $ finale se si sta prendendo di mira un account computer.
-TargetNewPasswordSìLa nuova password da impostare per l'account target.
-UPNUserSìL'account su cui puoi scrivere un UPN, oppure l'account da creare se viene specificato -CreateNewPath.
-UPNUserPasswordSìPassword in chiaro per -UPNUser.
-ComputerNoTratta -UPNUser come un account computer (e crea un account computer quando combinato con -CreateNewPath).
-RubeusPathNoIl percorso dell'eseguibile di Rubeus. Il valore predefinito è ".\Rubeus.exe".
-SupportedEncryptionNoIl tipo di crittografia supportato per il TGT. Il valore predefinito è "AES256" e dovrebbe funzionare nella maggior parte dei casi. Se è necessario modificarlo, i valori supportati sono:
DES|RC4|AES128|AES256
-CreateNewPathNoDistinguishedName di una OU/Container in cui hai i permessi per creare oggetti. Se specificato, i parametri -UPNUser e -UPNUserPassword saranno le credenziali dell'utente da creare, invece di usare un utente esistente.
-DCNoNome del DC su cui operare. Viene risolto automaticamente se non specificato.