
Crowbar ist ein Brute-Force-Tool, das bei Penetrationstests eingesetzt werden kann. Es wurde entwickelt, um Protokolle zu unterstützen, die derzeit nicht von thc-hydra und anderen gängigen Brute-Force-Tools unterstützt werden.
Crowbar (früher bekannt als Levye) ist ein Brute-Force-Werkzeug, das bei Penetrationstests eingesetzt werden kann. Es wurde entwickelt, um einige Protokolle auf eine andere Art und Weise zu bruteforcen als andere gängige Brute-Force-Werkzeuge. Beispielsweise verwenden die meisten Brute-Force-Werkzeuge Benutzername und Passwort für SSH-Brute-Force, während Crowbar SSH-Schlüssel verwendet. Dies ermöglicht, dass private Schlüssel, die während Penetrationstests erlangt wurden, zum Angriff auf andere SSH-Server genutzt werden können.
Derzeit unterstützt Crowbar:
-b openvpn)-b rdp)-b sshkey)-b vnckey)Kali-Linux-Benutzer können Folgendes ausführen
# sudo apt install -y crowbar
Andernfalls, wenn Sie aus dem Quellcode installieren möchten, installieren Sie alle Abhängigkeiten:
Debain 9/10+ & Kali Rolling
# sudo apt install -y nmap openvpn freerdp2-x11 tigervnc-viewer python3 python3-pip
Debain 7/8 & Kali 1/2
# sudo apt-get install -y nmap openvpn freerdp-x11 vncviewer
Dann holen Sie sich die neueste Version von GitHub:
# git clone https://github.com/galkan/crowbar
# cd crowbar/
# pip3 install -r requirements.txt
Hinweis: Das RDP-Client-Paket hängt von Ihrem Betriebssystem ab:
freerdp2-x11freerdp-x11-Paket.xfreerdp versuchen.freerdp zu kompilieren und anzupassen, indem Sie folgen: http://opentechnotes.blogspot.co.uk/2015/02/compile-headless-freerdp-credential-checking.htmlVergessen Sie nicht, ./lib/main.py zu patchen, um auf die neue Binärdatei zu verweisen!
openvpn, rdp, sshkey, vnckey</path/to/file> für Passwortliste-s/-S) durch. Dies stellt fest, ob der Port des Ziels offen ist.</path/to/file-or-folder> für Schlüsseldateien (für SSH oder VNC)</path/to/file> zum Speichern der Logdatei (Standard ist ./crowbar.log)</path/to/file> für eine OpenVPN-KonfigurationsdateiWenn Sie alle Nutzungsoptionen sehen möchten, verwenden Sie bitte: ./crowbar.py --help.
ACHTUNG: Wenn Sie einen Benutzernamen mit DOMAIN verwenden möchten, geben Sie den Benutzernamen bitte wie unten an. Der Backslash (\) ist das Escape-Zeichen für Python. Sie müssen also eines der folgenden beiden Formate verwenden:
# ./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,
Nachfolgend einige Beispiele für Angriffe auf RDP mit Crowbar.
RDP-Brute-Force auf eine einzelne IP-Adresse mit einem einzelnen Benutzernamen und einem einzelnen Passwort:
# ./crowbar.py -b rdp -s 192.168.2.182/32 -u admin -c Aa123456

RDP-Brute-Force auf eine einzelne IP-Adresse mit einer Benutzernamen-Listendatei und einem einzelnen Passwort:
# ./crowbar.py -b rdp -s 192.168.2.211/32 -U ~/Desktop/userlist -c passw0rd

RDP-Brute-Force auf eine einzelne IP-Adresse mit einem einzelnen Benutzernamen und einer Passwortliste:
# ./crowbar.py -b rdp -s 192.168.2.250/32 -u localuser -C ~/Desktop/passlist

RDP-Brute-Force auf ein Subnetz mit einer Benutzernamenliste und einer Passwortliste im Erkennungsmodus:
# ./crowbar.py -b rdp -s 192.168.2.0/24 -U ~/Desktop/userlist -C ~/Desktop/passlist -d

Nachfolgend einige Beispiele, die Sie mit Crowbar durchführen können.
SSH-Key-Brute-Force-Versuch auf eine einzelne IP-Adresse mit einem einzelnen Benutzernamen und einem einzelnen privaten SSH-Key:
# ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k ~/.ssh/id_rsa

SSH-Key-Brute-Force-Versuch auf eine einzelne IP-Adresse mit einem einzelnen Benutzernamen und allen SSH-Keys in einem Ordner:
# ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k ~/.ssh/

SSH-Key-Brute-Force-Versuch auf ein Subnetz mit einem einzelnen Benutzernamen und allen SSH-Keys in einem Ordner im Erkennungsmodus:
# ./crowbar.py -b sshkey -s 192.168.2.0/24 -u root -k ~/.ssh/ -d

Nachfolgend ein Beispiel für einen Angriff auf einen VNC-Dienst mit Crowbar.
VNC-Brute-Force-Versuch auf eine einzelne IP-Adresse mit einer Passwortdatei und angegebener Portnummer:
# ./crowbar.py -b vnckey -s 192.168.2.105/32 -p 5902 -k ~/.vnc/passwd

Nachfolgend ein Beispiel für einen Angriff auf OpenVPN mit Crowbar.
OpenVPN-Brute-Force-Versuch auf eine einzelne IP-Adresse mit einer Konfigurationsdatei, einem einzelnen Benutzernamen und einem einzelnen Passwort mit angegebener Portnummer und optionaler Zertifikatsdatei. Dabei spielt es keine Rolle, ob es sich um TCP oder UDP handelt:
# 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

Nachdem Sie Crowbar ausgeführt haben, werden zwei Dateien für Protokollierung und Ergebnis im aktuellen Verzeichnis erstellt. Der Standardname der Logdatei ist crowbar.log, die alle Brute-Force-Versuche während der Ausführung speichert. Wenn Sie die Standard-Logdatei nicht verwenden möchten, sollten Sie -l log_path verwenden. Die zweite Datei ist crowbar.out, die erfolgreiche Versuche während der Ausführung speichert. Wenn Sie die Standard-Ausgabedatei nicht verwenden möchten, sollten Sie -o output_path verwenden. Danach können Sie Crowbar-Aktivitäten beobachten.
Sie können die Ausgabe mit -v ausführlicher gestalten, oder noch mehr Informationen mit -vv anzeigen lassen. Wenn Sie versuchen, ein Problem oder einen potenziellen Fehler zu beheben, aktiviert -D den Debug-Modus und liefert wesentlich mehr Ausgabe.
</path/to/file> zum Speichern der erfolgreichen Versuche (Standard ist ./crowbar.out)</path/to/file>, das Ziel-IP-Adressen speichert</path/to/file>, das die Benutzernamenliste speichert