
Crowbar est un outil de force brute qui peut être utilisé lors de tests de pénétration. Il est développé pour prendre en charge des protocoles qui ne sont actuellement pas supportés par thc-hydra et d'autres outils de force brute populaires.
Crowbar (anciennement connu sous le nom de Levye) est un outil de force brute pouvant être utilisé lors de tests d'intrusion. Il a été développé pour forcer certains protocoles d'une manière différente des autres outils de force brute populaires. Par exemple, alors que la plupart des outils de force brute utilisent nom d'utilisateur et mot de passe pour le SSH, Crowbar utilise une ou plusieurs clés SSH. Cela permet d'utiliser les clés privées obtenues lors des tests d'intrusion pour attaquer d'autres serveurs SSH.
Actuellement, Crowbar prend en charge :
-b openvpn)-b rdp)-b sshkey)-b vpn)Les utilisateurs de Kali Linux peuvent faire
# sudo apt install -y crowbar
Sinon, si vous souhaitez installer depuis les sources, installez toutes les dépendances :
Debian 9/10+ et Kali Rolling
# sudo apt install -y nmap openvpn freerdp2-x11 tigervnc-viewer python3 python3-pip
Debian 7/8 et Kali 1/2
# sudo apt-get install -y nmap openvpn freerdp-x11 vncviewer
Puis récupérez la dernière version depuis GitHub :
# git clone https://github.com/galkan/crowbar
# cd crowbar/
# pip3 install -r requirements.txt
Note : Le paquet client RDP dépend de votre système d'exploitation :
freerdp2-x11freerdp-x11.xfreerdp.freerdp en suivant : http://opentechnotes.blogspot.co.uk/2015/02/compile-headless-freerdp-credential-checking.htmlN'oubliez pas de modifier ./lib/main.py pour pointer vers le nouveau binaire !
openvpn, rdp, sshkey, vnckey</chemin/vers/fichier> pour la liste des mots de passe-s/-S) avant d'essayer une force brute. Cela permet de découvrir si le port de la cible est ouvert.</chemin/vers/fichier-ou-dossier> pour les fichiers de clés (pour SSH ou VNC)</chemin/vers/fichier> pour stocker le fichier journal (par défaut ./crowbar.log)</chemin/vers/fichier> pour un fichier de configuration OpenVPNSi vous souhaitez voir toutes les options d'utilisation, veuillez utiliser : ./crowbar.py --help.
ATTENTION : Si vous souhaitez utiliser un nom d'utilisateur incluant un DOMAINE, veuillez spécifier le nom d'utilisateur comme ci-dessous. L'antislash (\) est le caractère d'échappement pour Python. Vous devez donc utiliser l'un des deux formats suivants :
# ./crowbar.py -b rdp -u DOMAIN\\gokhan alkan -c Aa123456 -s 10.68.35.150/32
2015-03-28 11:03:39 RDP-SUCCESS : 10.68.35.150:3389 - "DOMAIN\gokhan alkan":Aa123456,
# ./crowbar.py -b rdp -u gokhan alkan@ornek -c Aa123456 -s 10.68.35.150/32
2015-03-28 11:04:00 RDP-SUCCESS : 10.68.35.150:3389 - "gokhan alkan@DOMAIN":Aa123456,
Voici quelques exemples d'attaque RDP avec Crowbar.
Force brute RDP sur une seule adresse IP avec un seul nom d'utilisateur et un seul mot de passe :
# ./crowbar.py -b rdp -s 192.168.2.182/32 -u admin -c Aa123456

Force brute RDP sur une seule adresse IP avec un fichier de liste de noms d'utilisateur et un seul mot de passe :
# ./crowbar.py -b rdp -s 192.168.2.211/32 -U ~/Desktop/userlist -c passw0rd

Force brute RDP sur une seule adresse IP avec un seul nom d'utilisateur et une liste de mots de passe :
# ./crowbar.py -b rdp -s 192.168.2.250/32 -u localuser -C ~/Desktop/passlist

Force brute RDP sur un sous-réseau avec une liste de noms d'utilisateur et une liste de mots de passe en mode découverte :
# ./crowbar.py -b rdp -s 192.168.2.0/24 -U ~/Desktop/userlist -C ~/Desktop/passlist -d

Voici quelques exemples d'utilisation de Crowbar.
Tentative de force brute par clé SSH sur une seule adresse IP avec un seul nom d'utilisateur et une seule clé SSH privée :
# ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k ~/.ssh/id_rsa

Tentative de force brute par clé SSH sur une seule adresse IP avec un seul nom d'utilisateur et toutes les clés SSH d'un dossier :
# ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k ~/.ssh/

Tentative de force brute par clé SSH sur un sous-réseau avec un seul nom d'utilisateur et toutes les clés SSH d'un dossier en mode découverte :
# ./crowbar.py -b sshkey -s 192.168.2.0/24 -u root -k ~/.ssh/ -d

Voici un exemple d'attaque d'un service VNC avec Crowbar.
Tentative de force brute VNC sur une seule adresse IP avec un fichier de mots de passe et un numéro de port spécifié :
# ./crowbar.py -b vnckey -s 192.168.2.105/32 -p 5902 -k ~/.vnc/passwd

Voici un exemple d'attaque OpenVPN avec Crowbar.
Tentative de force brute OpenVPN sur une seule adresse IP avec un fichier de configuration, un seul nom d'utilisateur et un seul mot de passe, avec un numéro de port spécifié et un fichier de certificat optionnel. Peu importe que ce soit en TCP ou UDP :
# grep remote ~/Desktop/vpnbook.ovpn
remote vpn.example.com 1194 udp
# host vpn.example.com | awk '{print $1}'
198.7.62.204
# grep '^auth-user-pass' ~/Desktop/vpnbook.ovpn
# ./crowbar.py -b openvpn -s 198.7.62.204/32 -p 1194 -m ~/Desktop/vpnbook.ovpn -k ~/Desktop/vpnbook_ca.crt -u vpnbook -c cr2hudaF

Une fois que vous avez exécuté Crowbar, il génère 2 fichiers pour la journalisation et les résultats, situés dans votre répertoire courant. Le nom de fichier journal par défaut est crowbar.log, qui stocke toutes les tentatives de force brute pendant l'exécution. Si vous ne souhaitez pas utiliser le fichier journal par défaut, utilisez -l log_path. Le second fichier est crowbar.out, qui stocke les tentatives réussies pendant l'exécution. Si vous ne souhaitez pas utiliser le fichier de sortie par défaut, utilisez -o output_path. Ensuite, vous pouvez observer les opérations de Crowbar.
Vous pouvez rendre la sortie plus verbeuse en utilisant -v, ou encore plus d'informations peuvent être affichées avec -vv. Si vous essayez de résoudre un problème ou un bogue potentiel, l'utilisation de -D activera le mode débogage et fournira beaucoup plus de sortie.
</chemin/vers/fichier> pour stocker les tentatives réussies (par défaut ./crowbar.out)</chemin/vers/fichier> contenant les adresses IP cibles</chemin/vers/fichier> contenant la liste des noms d'utilisateur