Commandes Brutus
Commandes complètes de l’outil de test de credentials multi-protocoles Brutus pour les tests de pénétration et les évaluations de sécurité.
Installation
Section intitulée « Installation »| Commande | Description |
|---|---|
go install github.com/praetorian-inc/brutus@latest | Installer via Go |
| Download from GitHub Releases | Binaire unique pré-compilé |
brutus --version | Afficher la version de Brutus |
brutus --help | Afficher l’aide et les commandes disponibles |
chmod +x brutus | Rendre le binaire téléchargé exécutable |
Utilisation de Base
Section intitulée « Utilisation de Base »| Commande | Description |
|---|---|
brutus ssh --host 192.168.1.1 | Tester les credentials SSH |
brutus ssh --host 192.168.1.1 -u admin -p passwords.txt | SSH avec utilisateur et liste de mots |
brutus mysql --host 192.168.1.1 -u root | Tester les credentials MySQL |
brutus rdp --host 192.168.1.1 -u administrator | Tester les credentials RDP |
brutus smb --host 192.168.1.1 -u admin | Tester les credentials SMB |
brutus ftp --host 192.168.1.1 -u anonymous | Tester les credentials FTP |
Protocoles Supportés
Section intitulée « Protocoles Supportés »| Protocole | Description |
|---|---|
ssh | Authentification Secure Shell |
mysql | Authentification base de données MySQL |
postgresql | Authentification base de données PostgreSQL |
redis | Authentification Redis |
mongodb | Authentification MongoDB |
smb | Server Message Block |
rdp | Remote Desktop Protocol |
ftp | File Transfer Protocol |
telnet | Authentification Telnet |
vnc | Authentification VNC |
snmp | Test de chaîne communautaire SNMP |
ldap | Authentification LDAP |
mssql | Microsoft SQL Server |
http-basic | Authentification HTTP Basic |
http-form | Authentification basée sur formulaire HTTP |
smtp | Authentification SMTP |
pop3 | Authentification email POP3 |
imap | Authentification email IMAP |
cassandra | Authentification base de données Cassandra |
oracle | Authentification base de données Oracle |
Options de Credentials
Section intitulée « Options de Credentials »| Flag | Description |
|---|---|
-u <user> | Nom d’utilisateur unique |
-U <file> | Fichier de liste de mots d’utilisateur |
-p <pass> | Mot de passe unique |
-P <file> | Fichier de liste de mots de passe |
-C <file> | Fichier combo (user:pass par ligne) |
--default-creds | Tester les credentials par défaut courants |
--empty-password | Tester les mots de passe vides |
--user-as-pass | Tester le nom d’utilisateur comme mot de passe |
--reverse-user | Tester le nom d’utilisateur inversé comme mot de passe |
Options de Connexion
Section intitulée « Options de Connexion »| Flag | Description |
|---|---|
--host <ip> | IP ou nom d’hôte de la cible |
--port <port> | Port personnalisé (remplace la valeur par défaut) |
--hosts-file <file> | Fichier avec liste d’hôtes cibles |
-t <threads> | Nombre de threads simultanés |
--timeout <seconds> | Délai d’expiration de connexion par tentative |
--delay <ms> | Délai entre les tentatives |
--retry <count> | Nombre de tentatives en cas d’échec |
--proxy <url> | Router via un proxy |
Options de Sortie
Section intitulée « Options de Sortie »| Flag | Description |
|---|---|
-o <file> | Enregistrer les résultats dans un fichier |
--json | Sortie au format JSON |
--json-pretty | Sortie JSON formatée |
--quiet | Supprimer la sortie détaillée |
--verbose | Augmenter la verbosité de la sortie |
--no-color | Désactiver la sortie colorée |
--found-only | Afficher uniquement les connexions réussies |
Options Spécifiques SSH
Section intitulée « Options Spécifiques SSH »| Flag | Description |
|---|---|
--ssh-key <file> | Tester avec clé privée SSH |
--ssh-badkeys | Tester les clés SSH mauvaises/par défaut connues |
--ssh-agent | Utiliser l’agent SSH pour les clés |
--ssh-vagrant | Tester la clé insécurisée Vagrant |
--ssh-key-passphrase <pass> | Phrase d’accès pour la clé chiffrée |
Intégration de Pipeline
Section intitulée « Intégration de Pipeline »| Commande | Description |
|---|---|
naabu -host 192.168.1.0/24 -p 22 -json | brutus ssh | Piping les résultats d’analyse naabu |
fingerprintx -json | brutus auto | Détection automatique du protocole |
brutus ssh --json | jq '.[] | select(.success)' | Filtrer les connexions réussies avec jq |
echo '{"host":"192.168.1.1","port":22}' | brutus ssh | Cible unique en JSON |
brutus ssh --json -o results.json | Enregistrer les résultats JSON |
Utilisation Avancée
Section intitulée « Utilisation Avancée »| Commande | Description |
|---|---|
brutus ssh -t 50 --delay 100 | Test limité en débit (50 threads, 100ms délai) |
brutus auto --hosts-file targets.txt | Détection et test automatiques |
brutus http-form --url <url> --form-data "user=^USER^&pass=^PASS^" | Force brute sur formulaire HTTP |
brutus http-basic --url <url> | Test d’authentification HTTP Basic |
brutus ssh --default-creds --hosts-file iot-devices.txt | Balayage des credentials IoT |
Test de Credentials par Défaut
Section intitulée « Test de Credentials par Défaut »| Commande | Description |
|---|---|
brutus ssh --default-creds | Tester les credentials SSH par défaut |
brutus mysql --default-creds | Tester les valeurs par défaut MySQL (root/blank, etc.) |
brutus postgresql --default-creds | Tester les valeurs par défaut PostgreSQL |
brutus redis --default-creds | Tester les valeurs par défaut Redis |
brutus snmp --default-creds | Tester les chaînes communautaires SNMP |
Test de Clés Mauvaises (SSH)
Section intitulée « Test de Clés Mauvaises (SSH) »| Commande | Description |
|---|---|
brutus ssh --ssh-badkeys | Tester toutes les clés SSH mauvaises connues |
| Includes Rapid7 ssh-badkeys | Clés privées connues fuitées |
| Includes HashiCorp Vagrant key | Clé insécurisée Vagrant par défaut |
| Keys compiled into binary | Pas de fichiers de clés externes nécessaires |
brutus ssh --ssh-badkeys --hosts-file servers.txt | Test par lot de clés mauvaises |
Sécurité et Limitation du Débit
Section intitulée « Sécurité et Limitation du Débit »| Flag | Description |
|---|---|
-t 1 | Thread unique (le plus doux) |
--delay 1000 | 1 seconde entre les tentatives |
--max-attempts 3 | Arrêter après 3 échecs par hôte |
--lockout-threshold 5 | Arrêter après 5 détections de verrouillage |
--timeout 10 | Délai d’expiration de connexion de 10 secondes |
Conseils et Bonnes Pratiques
Section intitulée « Conseils et Bonnes Pratiques »| Conseil | Description |
|---|---|
| Always have authorization | Tester uniquement les systèmes autorisés |
| Start with default creds | Plus efficace pour l’accès initial |
| Use rate limiting | Éviter de déclencher les verrouillages de compte |
| Pipe from reconnaissance | Chaîner avec naabu et fingerprintx |
| Use JSON output | Données structurées pour les rapports |
| Test bad SSH keys | Gains rapides sur les serveurs mal configurés |
| Check before brute forcing | Essayer les credentials par défaut et clés mauvaises d’abord |
| Monitor for lockouts | Surveiller les réponses de verrouillage de compte |