
Crowbar è uno strumento di brute forcing che può essere utilizzato durante i test di penetrazione. È sviluppato per supportare protocolli che non sono attualmente supportati da thc-hydra e altri popolari strumenti di brute forcing.
Crowbar (precedentemente noto come Levye) è uno strumento di forza bruta utilizzabile durante i test di penetrazione. È stato sviluppato per forzare alcuni protocolli in modo diverso rispetto ad altri strumenti di forza bruta popolari. Ad esempio, mentre la maggior parte degli strumenti di forza bruta utilizza nome utente e password per SSH, Crowbar utilizza chiave(i) SSH. Ciò consente di usare qualsiasi chiave privata ottenuta durante i test di penetrazione per attaccare altri server SSH.
Attualmente Crowbar supporta:
-b openvpn)-b rdp)-b sshkey)-b vnckey)Gli utenti Kali Linux possono eseguire
# sudo apt install -y crowbar
Altrimenti, se desideri installare dai sorgenti, installa tutte le dipendenze:
Debian 9/10+ e Kali Rolling
# sudo apt install -y nmap openvpn freerdp2-x11 tigervnc-viewer python3 python3-pip
Debian 7/8 e Kali 1/2
# sudo apt-get install -y nmap openvpn freerdp-x11 vncviewer
Poi ottieni l'ultima versione da GitHub:
# git clone https://github.com/galkan/crowbar
# cd crowbar/
# pip3 install -r requirements.txt
Nota: Il pacchetto client RDP dipende dal tuo sistema operativo:
freerdp2-x11freerdp-x11.xfreerdp.freerdp seguendo: http://opentechnotes.blogspot.co.uk/2015/02/compile-headless-freerdp-credential-checking.htmlNon dimenticare di modificare ./lib/main.py per puntare al nuovo binario!
openvpn, rdp, sshkey, vnckey</percorso/del/file> per l'elenco delle password-s/-S) prima di tentare la forza bruta. Questo rileva se la porta del target è aperta</percorso/del/file-o-cartella> per i file delle chiavi (per SSH o VNC)</percorso/del/file> per salvare il file di log (predefinito ./crowbar.log)</percorso/del/file> per un file di configurazione OpenVPNSe desideri vedere tutte le opzioni di utilizzo, usa: ./crowbar.py --help.
ATTENZIONE: Se desideri usare un nome utente che include il DOMINIO, specifica il nome utente come di seguito. La barra rovesciata (\) è il carattere di escape per Python. Quindi devi usare uno dei due formati seguenti:
# ./crowbar.py -b rdp -u DOMINIO\\gokhan alkan -c Aa123456 -s 10.68.35.150/32
2015-03-28 11:03:39 RDP-SUCCESS : 10.68.35.150:3389 - "DOMINIO\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@DOMINIO":Aa123456,
Di seguito alcuni esempi di attacco a RDP usando Crowbar.
Forza bruta RDP su un singolo indirizzo IP usando un singolo nome utente e una singola password:
# ./crowbar.py -b rdp -s 192.168.2.182/32 -u admin -c Aa123456

Forza bruta RDP su un singolo indirizzo IP usando un file di elenco nomi utente e una singola password:
# ./crowbar.py -b rdp -s 192.168.2.211/32 -U ~/Desktop/userlist -c passw0rd

Forza bruta RDP su un singolo indirizzo IP usando un singolo nome utente e un elenco di password:
# ./crowbar.py -b rdp -s 192.168.2.250/32 -u localuser -C ~/Desktop/passlist

Forza bruta RDP su una sottorete usando un elenco di nomi utente e un elenco di password in modalità scoperta:
# ./crowbar.py -b rdp -s 192.168.2.0/24 -U ~/Desktop/userlist -C ~/Desktop/passlist -d

Di seguito alcuni esempi di utilizzo di Crowbar.
Tentativo di forza bruta con chiave SSH su un singolo indirizzo IP usando un singolo nome utente e una singola chiave SSH privata:
# ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k ~/.ssh/id_rsa

Tentativo di forza bruta con chiave SSH su un singolo indirizzo IP usando un singolo nome utente e tutte le chiavi SSH in una cartella:
# ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k ~/.ssh/

Tentativo di forza bruta con chiave SSH su una sottorete usando un singolo nome utente e tutte le chiavi SSH in una cartella in modalità scoperta:
# ./crowbar.py -b sshkey -s 192.168.2.0/24 -u root -k ~/.ssh/ -d

Di seguito un esempio di attacco a un servizio VNC usando Crowbar.
Tentativo di forza bruta VNC su un singolo indirizzo IP usando un file di password con numero di porta specificato:
# ./crowbar.py -b vnckey -s 192.168.2.105/32 -p 5902 -k ~/.vnc/passwd

Di seguito un esempio di attacco a OpenVPN usando Crowbar.
Tentativo di forza bruta OpenVPN su un singolo indirizzo IP usando un file di configurazione, un singolo nome utente e una singola password con numero di porta specificato e file di certificato opzionale. Non importa se TCP o 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

Una volta eseguito Crowbar, genera 2 file per la registrazione e i risultati, situati nella directory corrente. Il nome predefinito del file di log è crowbar.log che memorizza tutti i tentativi di forza bruta durante l'esecuzione. Se non desideri usare il file di log predefinito, usa -l log_path. Il secondo file è crowbar.out che memorizza i tentativi riusciti durante l'esecuzione. Se non desideri usare il file di output predefinito, usa -o output_path. Successivamente puoi osservare le operazioni di Crowbar.
Puoi rendere l'output più verboso usando -v, o puoi mostrare ancora più informazioni con -vv. Se stai cercando di risolvere un problema o un potenziale bug, usa -D per abilitare la modalità debug e ottenere molto più output.
</percorso/del/file> per salvare i tentativi riusciti (predefinito ./crowbar.out)</percorso/del/file> che contiene gli indirizzi IP di destinazione</percorso/del/file> che contiene l'elenco dei nomi utente