Crowbar
Overview
Crowbar, c'est l'outil de brute force qui pense que tous les protocoles méritent d'être testés. Contrairement aux outils classiques qui se concentrent sur username/password, Crowbar attaque avec des méthodes différentes : clés SSH privées, certificats OpenVPN, clés VNC. Si tu fais du pentest et que hydra ne couvre pas tes besoins, c'est parfait.
Crowbar adopte une approche unique : au lieu d'attaquer SSH avec des mots de passe, il teste les clés privées récupérées pendant le pentest. Support OpenVPN avec fichiers de configuration, RDP avec NLA, VNC avec authentification par clés. Multithreadé pour la performance, logs détaillés pour l'audit.
Crowbar se distingue par son approche non-conventionnelle (clés SSH au lieu de passwords), ses protocoles spécialisés (OpenVPN, RDP/NLA, VNC keys), et sa complémentarité avec les outils existants (fait ce que hydra ne fait pas).
Informations essentielles
| Propriété | Valeur |
|---|---|
| Site officiel | https://github.com/galkan/crowbar |
| Repository | https://github.com/galkan/crowbar |
| Licence | MIT |
| Développeur | Gokhan Alkan |
| Langage | Python |
| Protocoles | OpenVPN, RDP, SSH keys, VNC keys |
Fonctionnalités principales
Protocoles spécialisés
- OpenVPN : brute force avec fichiers de configuration et certificats
- RDP avec NLA : support Network Level Authentication
- SSH private keys : attaque avec clés privées récupérées
- VNC keys : authentification par fichiers de clés VNC
- Discovery mode : scan de ports avant attaque
Méthodes d'authentification uniques
- SSH key reuse : réutilisation de clés privées trouvées
- Certificate-based auth : authentification par certificats
- Configuration files : utilisation de fichiers .ovpn
- Key directories : test de toutes les clés d'un répertoire
- Mixed credentials : combinaison clés + mots de passe
Options de ciblage
- Single target : attaque d'une IP spécifique
- CIDR ranges : attaque de plages d'adresses
- File input : liste d'IPs depuis un fichier
- Port discovery : scan Nmap intégré avant attaque
- Custom ports : support de ports non-standards
Performance et logging
- Multithreading : parallélisation des attaques
- Timeout configuration : gestion des connexions lentes
- Detailed logging : logs de toutes les tentatives
- Success output : fichier dédié aux succès
- Quiet/verbose modes : niveaux de verbosité
Cas d'usage
- SSH key reuse : Test de clés privées récupérées sur d'autres serveurs SSH
- VPN penetration : Brute force OpenVPN avec configs volées
- RDP attacks : Attaque RDP avec support NLA
- VNC access : Test d'accès VNC avec fichiers de clés
- Post-exploitation : Pivoting avec credentials récupérés
Installation
Via Kali Linux (recommandé)
sudo apt install -y crowbar
Installation depuis les sources
# Debian/Ubuntu dependencies
sudo apt install -y nmap openvpn freerdp2-x11 tigervnc-viewer python3 python3-pip
# Clone et installation
git clone https://github.com/galkan/crowbar
cd crowbar/
pip3 install -r requirements.txt
Via Docker
docker run --rm -v $(pwd):/data crowbar-image
Utilisation basique
SSH key brute force
# Test avec une clé privée spécifique
./crowbar.py -b sshkey -s 192.168.1.100/32 -u root -k ~/.ssh/id_rsa
# Test avec toutes les clés d'un répertoire
./crowbar.py -b sshkey -s 192.168.1.100/32 -u root -k ~/.ssh/
# Scan de subnet avec discovery
./crowbar.py -b sshkey -s 192.168.1.0/24 -u root -k ~/.ssh/ -d
RDP brute force
# RDP avec utilisateur et mot de passe
./crowbar.py -b rdp -s 192.168.1.50/32 -u admin -c Password123
# RDP avec liste d'utilisateurs
./crowbar.py -b rdp -s 192.168.1.50/32 -U users.txt -c Password123
# RDP subnet avec discovery
./crowbar.py -b rdp -s 192.168.1.0/24 -U users.txt -C passwords.txt -d
OpenVPN attacks
# OpenVPN avec fichier de config
./crowbar.py -b openvpn -s 198.7.62.204/32 -p 1194 \
-m ~/vpnbook.ovpn -k ~/vpnbook_ca.crt \
-u vpnuser -c vpnpass
VNC key attacks
# VNC avec fichier de clés
./crowbar.py -b vnckey -s 192.168.1.200/32 -p 5902 -k ~/.vnc/passwd
Options avancées
# Avec threads personnalisés et timeout
./crowbar.py -b rdp -s 192.168.1.0/24 -U users.txt -C passes.txt \
-n 10 -t 30 -v
# Domaine Windows
./crowbar.py -b rdp -u DOMAIN\\username -c password \
-s 192.168.1.100/32
# Format alternatif domaine
./crowbar.py -b rdp -u username@DOMAIN -c password \
-s 192.168.1.100/32
Avantages
- ✅ Protocoles uniques : couvre les protocoles ignorés par les autres outils, comble les gaps
- ✅ SSH key reuse : exploite les clés privées récupérées, technique de post-exploitation puissante
- ✅ RDP/NLA support : attaque RDP moderne avec Network Level Authentication
- ✅ Discovery intégré : scan Nmap avant attaque, workflow complet
- ✅ Logging détaillé : traces complètes pour reporting et analyse
Limitations
- Focalisé sur des protocoles spécifiques : mais c'est exactement son point fort
- Interface CLI uniquement : mais parfait pour automation et scripting
- Dépend des outils externes (nmap, freerdp) : mais facilite l'installation sur Kali
Alternatives
- Hydra : Brute force généraliste (complémentaire à Crowbar)
- Medusa : Autre brute forcer généraliste
- Ncrack : Brute force réseau de Nmap
- Patator : Framework de brute force multi-protocoles
Ressources
- GitHub : https://github.com/galkan/crowbar
- Documentation : https://github.com/galkan/crowbar/blob/master/README.md
- Video demo : https://www.youtube.com/watch?v=4QZAWGsveSM
- Kali Linux tools : https://www.kali.org/tools/crowbar/