Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
go-secdump — Strumento per estrarre segreti da remoto dal registro di Windows | Kitploit
Strumenti/GitHubGitHub/jfjallid/go-secdump
Password CrackingStrumenti di Crittografia/DecrittografiaMovimento LateralePost-ExploitPenetration TestingAutenticazioneRed Teaming
GitHubjfjallid/go-secdump

go-secdump

Strumento per estrarre segreti da remoto dal registro di Windows

Vedi Repository
53460572 mesi faRevisionato da Kitploit

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

go-secdump

Descrizione

Il pacchetto go-secdump è uno strumento progettato per estrarre da remoto gli hash dal registro SAM, nonché i segreti LSA e gli hash memorizzati nella cache dell'hive SECURITY, senza alcun agente remoto e senza toccare il disco.

Lo strumento si basa sulla libreria go-smb e la utilizza per comunicare con il Registro di sistema remoto di Windows per recuperare le chiavi di registro direttamente dalla memoria.

È stato sviluppato come esperienza di apprendimento e come prova di concetto che dovrebbe essere possibile recuperare da remoto gli hash NT dall'hive SAM e i segreti LSA, così come le credenziali memorizzate nella cache del dominio, senza dover prima salvare gli hive del registro su disco e poi analizzarli localmente.

Il problema principale da superare era che gli hive SAM e SECURITY sono leggibili solo da NT AUTHORITY\SYSTEM. Tuttavia, ho notato che gli amministratori del gruppo locale avevano il permesso WriteDACL sugli hive del registro e quindi potevano essere utilizzati per concedere temporaneamente l'accesso in lettura a sé stessi per recuperare i segreti e poi ripristinare i permessi originali.

Tuttavia, un approccio migliore è stato scoperto (febbraio 2025) da Julien Egloff di Synacktiv. La richiesta BaseRegOpenKey utilizzata per aprire handle alle chiavi di registro ha un'opzione per affermare il privilegio SeBackupPrivilege, che ci consente di aprire le chiavi di registro senza dover prima modificare i DACL. Lo strumento è stato aggiornato per preferire questo nuovo approccio e modificare i DACL solo se richiesto esplicitamente.

Crediti

Gran parte del codice in questo progetto è ispirato/tratto da Impacket's secdump, ma convertito per accedere al registro di Windows da remoto e per accedere solo alle chiavi di registro necessarie.

Altre fonti che sono state utili per comprendere la struttura del registro e i metodi di crittografia sono elencate di seguito:

https://www.passcape.com/index.php?section=docsys&cmd=details&id=23

http://www.beginningtoseethelight.org/ntsecurity/index.htm

https://social.technet.microsoft.com/Forums/en-US/6e3c4486-f3a1-4d4e-9f5c-bdacdb245cfd/how-are-ntlm-hashes-stored-under-the-v-key-in-the-sam?forum=win10itprogeneral

L'idea di utilizzare SeBackupPrivilege proviene da Synacktiv: https://www.synacktiv.com/publications/lsa-secrets-revisiting-secretsdump

Utilizzo

Usage: ./go-secdump [options]

options:
      --host <target>        Hostname o indirizzo IP del server remoto. Deve essere un hostname quando si usa Kerberos
  -P, --port <port>          Porta SMB (default 445)
  -d, --domain <domain>      Nome del dominio per il login
  -u, --user <username>      Nome utente
  -p, --pass <pass>          Password
  -n, --no-pass              Disabilita il prompt della password e non invia credenziali
      --hash <NT Hash>       Hash NT esadecimale per la password utente
      --local                Autentica come utente locale anziché utente di dominio
  -k, --kerberos             Usa autenticazione Kerberos. (KRB5CCNAME verrà controllato su Linux)
      --dc-ip <ip>           Opzionale: specifica l'IP del KDC quando si usa autenticazione Kerberos
      --target-ip <ip>       Opzionale: specifica l'IP del target quando si usa autenticazione Kerberos
      --aes-key <hex>        Usa una chiave AES128/256 esadecimale per l'autenticazione Kerberos
      --keytab-file <file>   Autentica usando le chiavi da un file keytab (implica -k). Utente e dominio sono presi dalla prima voce del keytab se non specificati
      --dns-host <ip[:port]> Sovrascrive il resolver DNS predefinito del sistema
      --dns-tcp              Forza le ricerche DNS su TCP. Default true quando si usa --socks-host
      --dump                 Salva gli hive SAM e SECURITY su disco e li trasferisce alla macchina locale.
      --sam                  Estrae esplicitamente i segreti dall'hive SAM. Solo gli altri target espliciti sono inclusi.
      --lsa                  Estrae esplicitamente i segreti LSA. Solo gli altri target espliciti sono inclusi.
      --dcc2                 Estrae esplicitamente le cache DCC2. Solo gli altri target espliciti sono inclusi.
      --misc                 Estrae esplicitamente i segreti di registro vari come DefaultPassword di Winlogon. Solo gli altri target espliciti sono inclusi.
      --modify-dacl          Modifica i DACL delle chiavi di registro prima del dump.
                             Necessario solo se le chiavi non possono essere aperte usando SeBackupPrivilege. (default false)
      --backup-dacl          Salva i DACL originali su disco prima della modifica
      --restore-dacl         Ripristina i DACL usando il backup su disco. Potrebbe essere utile se il ripristino automatico fallisce.
      --backup-file <file>   Nome file per il backup dei DACL (default dacl.backup)
      --relay                Avvia un listener SMB che inoltrerà le autenticazioni
                             NTLM in arrivo al server remoto e userà quella connessione. NOTA: forza SMB 2.1
                             senza crittografia.
      --relay-port <port>    Porta di ascolto per il relay (default 445)
      --socks-host <target>  Stabilisce la connessione tramite un server proxy SOCKS5
      --socks-port <port>    Porta del proxy SOCKS5 (default 1080)
  -t, --timeout <duration>   Timeout di connessione in formato 5s o 2m (default 5s)
      --noenc                Disabilita la crittografia SMB
      --smb2                 Forza SMB 2.1
      --debug                Abilita logging di debug. Solo --debug attiva ogni pacchetto
                             registrato; --debug=msrrp,smb attiva solo i suffissi dei nomi dei pacchetti elencati
                             (la forma con '=' è richiesta per il filtro).
      --verbose              Abilita logging verboso. Stessa sintassi di filtro di --debug.
                             --debug e --verbose possono essere combinati con filtri diversi;
                             un pacchetto bersagliato da entrambi ottiene il livello superiore.
      --list-log-packages    Elenca i nomi dei pacchetti di log registrati che possono essere
                             bersagliati con --debug=<suffix> o --verbose=<suffix>,
                             poi esce.
  -o, --output <file>        Nome file per scrivere i risultati (default è stdout). Aggiunge al file se esiste.
      --output-format <fmt>  Formato di output: text (default), json o hashcat
      --history              Include i segreti LSA storici (OldVal) oltre ai valori correnti
  -q, --quiet                Sopprime le intestazioni informative; stampa solo i segreti
  -v, --version              Mostra la versione

Modifica dei DACL

Ora solo come funzionalità opzionale abilitata con --modify-dacl, go-secdump tenterà automaticamente di modificare e poi ripristinare i DACL delle chiavi di registro necessarie. Tuttavia, se qualcosa va storto durante la fase di ripristino, come una disconnessione di rete o un altro interrupt, il registro remoto rimarrà con i DACL modificati.

Usando l'argomento --backup-dacl è possibile memorizzare una copia serializzata dei DACL originali prima della modifica. Se si verifica un problema di connettività, i DACL possono essere successivamente ripristinati dal file usando l'argomento --restore-dacl.

Esempi

Estrai tutti i segreti del registro usando il trucco SeBackupPrivilege

./go-secdump --host DESKTOP-AIG0C1D2 --user Administrator --pass adminPass123 --local
oppure
./go-secdump --host DESKTOP-AIG0C1D2 --user Administrator --pass adminPass123 --local --sam --lsa --dcc2

Estrai solo cache SAM, LSA, DCC2 o segreti di registro vari

Scarica lo strumento