Aller au contenu principal

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 officielhttps://github.com/galkan/crowbar
Repositoryhttps://github.com/galkan/crowbar
LicenceMIT
DéveloppeurGokhan Alkan
LangagePython
ProtocolesOpenVPN, 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