← retour aux outils back to tools

# brutespray

Brute-force automatiquement les services découverts par nmap. Lit la sortie XML de nmap et lance Medusa contre tous les services trouvés : SSH, FTP, SMB, Telnet, RDP, et plus. Automatically brute-forces services discovered by nmap. Reads nmap XML output and sprays Medusa against all found services — SSH, FTP, SMB, Telnet, RDP, and more.

↗ https://github.com/x90skysn3k/brutespray

## Overview

brutespray automates the process of brute-forcing services discovered during network scanning. It reads nmap’s XML output, identifies open service ports, and automatically launches Medusa to test credentials against each discovered service — saving the manual effort of setting up per-service brute-force attacks.

## Basic Usage

Brute-force from nmap XML output

    brutespray --file nmap.xml

Specify username and password files

    brutespray --file nmap.xml -U users.txt -P passwords.txt

Only test specific service

    brutespray --file nmap.xml -s ssh

Use default credentials only

    brutespray --file nmap.xml -c

Continue on success (don’t stop after first hit)

    brutespray --file nmap.xml --continue

## Scanning + Brute-Force Workflow

Step 1: nmap scan with service detection (XML output)

    nmap -sV -p 22,21,23,25,80,443,3389,445,3306,1521 \
      --open -oX scan.xml 192.168.1.0/24

Step 2: Auto-brute-force discovered services

    brutespray --file scan.xml -U /usr/share/seclists/Usernames/top-usernames-shortlist.txt \
      -P /usr/share/wordlists/rockyou.txt --threads 5

Step 3: Review results

    cat brutespray-output/

## Service Selection

Only SSH

    brutespray --file nmap.xml -s ssh

Only FTP

    brutespray --file nmap.xml -s ftp

Only SMB

    brutespray --file nmap.xml -s smb

Multiple services

    brutespray --file nmap.xml -s ssh,ftp,telnet,smb

    # Supported services:
    # ssh, ftp, smtp, telnet, mssql, mysql, postgresql,
    # rdp, snmp, sshkey, svn, vnc, http-post-form, smb

## Credential Options

Username and password files

    brutespray --file scan.xml -U users.txt -P passwords.txt

Single username

    brutespray --file scan.xml -u admin -P passwords.txt

Single password

    brutespray --file scan.xml -U users.txt -p password123

Default credentials only (built-in list)

    brutespray --file scan.xml -c

Combo file (user:pass format)

    brutespray --file scan.xml --combo combo.txt

## Threading

Set number of concurrent threads (default: 2)

    brutespray --file scan.xml -t 5

Threads per host

    brutespray --file scan.xml --threads 3

## Output

Results saved to brutespray-output/ directory

    ls brutespray-output/

    # View successful logins
    cat brutespray-output/ssh-success.txt
    cat brutespray-output/ftp-success.txt
    cat brutespray-output/smb-success.txt

Verbose output

    brutespray --file scan.xml -v

## Tips

- Use `-c` (default creds) first — many devices have unchanged default passwords
- Don’t use large password lists against Active Directory — account lockout risk
- Keep thread count low (`-t 3`) to avoid overwhelming targets or triggering lockouts
- Combine with `polenum` to check AD lockout policy before spraying SMB

Help / Man page

    brutespray [options]

    -f, --file FILE     Nmap XML file
    -s, --service SVC   Comma-separated list of services
    -U FILE             Username file
    -P FILE             Password file
    -u USER             Single username
    -p PASS             Single password
    -c                  Use default credentials
    -t, --threads N     Concurrent threads (default: 2)
    --continue          Continue after successful login
    --combo FILE        Combo file (user:pass)
    -v                  Verbose
    -o DIR              Output directory (default: brutespray-output)

## Vue d’ensemble

brutespray automatise le brute-force des services découverts pendant le scan réseau. Il lit la sortie XML de nmap, identifie les ports de services ouverts, et lance automatiquement Medusa pour tester des identifiants contre chaque service découvert, ce qui évite le travail manuel de mise en place d’attaques de brute-force par service.

## Utilisation de base

    # Brute-force depuis la sortie XML de nmap
    brutespray --file nmap.xml

    # Spécifier les fichiers d'utilisateurs et de mots de passe
    brutespray --file nmap.xml -U users.txt -P passwords.txt

    # Ne tester qu'un service précis
    brutespray --file nmap.xml -s ssh

    # N'utiliser que les identifiants par défaut
    brutespray --file nmap.xml -c

    # Continuer après un succès (ne pas s'arrêter au premier trouvé)
    brutespray --file nmap.xml --continue

## Workflow scan + brute-force

    # Étape 1 : scan nmap avec détection de services (sortie XML)
    nmap -sV -p 22,21,23,25,80,443,3389,445,3306,1521 \
      --open -oX scan.xml 192.168.1.0/24

    # Étape 2 : brute-force automatique des services découverts
    brutespray --file scan.xml -U /usr/share/seclists/Usernames/top-usernames-shortlist.txt \
      -P /usr/share/wordlists/rockyou.txt --threads 5

    # Étape 3 : examiner les résultats
    cat brutespray-output/

## Sélection des services

    # SSH uniquement
    brutespray --file nmap.xml -s ssh

    # FTP uniquement
    brutespray --file nmap.xml -s ftp

    # SMB uniquement
    brutespray --file nmap.xml -s smb

    # Plusieurs services
    brutespray --file nmap.xml -s ssh,ftp,telnet,smb

    # Services supportés :
    # ssh, ftp, smtp, telnet, mssql, mysql, postgresql,
    # rdp, snmp, sshkey, svn, vnc, http-post-form, smb

## Options d’identifiants

    # Fichiers d'utilisateurs et de mots de passe
    brutespray --file scan.xml -U users.txt -P passwords.txt

    # Nom d'utilisateur unique
    brutespray --file scan.xml -u admin -P passwords.txt

    # Mot de passe unique
    brutespray --file scan.xml -U users.txt -p password123

    # Identifiants par défaut uniquement (liste intégrée)
    brutespray --file scan.xml -c

    # Fichier combo (format user:pass)
    brutespray --file scan.xml --combo combo.txt

## Threading

    # Définir le nombre de threads concurrents (défaut : 2)
    brutespray --file scan.xml -t 5

    # Threads par hôte
    brutespray --file scan.xml --threads 3

## Sortie

    # Résultats sauvegardés dans le répertoire brutespray-output/
    ls brutespray-output/

    # Voir les connexions réussies
    cat brutespray-output/ssh-success.txt
    cat brutespray-output/ftp-success.txt
    cat brutespray-output/smb-success.txt

    # Sortie verbeuse
    brutespray --file scan.xml -v

## Conseils

- Utilisez d’abord `-c` (identifiants par défaut) : beaucoup d’appareils gardent leurs mots de passe par défaut
- N’utilisez pas de grandes listes de mots de passe contre Active Directory : risque de verrouillage de compte
- Gardez un faible nombre de threads (`-t 3`) pour éviter de saturer les cibles ou de déclencher des verrouillages
- Combinez avec `polenum` pour vérifier la politique de verrouillage AD avant de sprayer le SMB

Aide / Page de manuel

    brutespray [options]

    -f, --file FILE     Nmap XML file
    -s, --service SVC   Comma-separated list of services
    -U FILE             Username file
    -P FILE             Password file
    -u USER             Single username
    -p PASS             Single password
    -c                  Use default credentials
    -t, --threads N     Concurrent threads (default: 2)
    --continue          Continue after successful login
    --combo FILE        Combo file (user:pass)
    -v                  Verbose
    -o DIR              Output directory (default: brutespray-output)