
hydra
H Y D R A
(c) 2001-2023 di van Hauser / THC
<[email protected]> https://github.com/vanhauser-thc/thc-hydra
Molti moduli sono stati scritti da David (dot) Maciejak @ gmail (dot) com
Codice BFG di Jan Dlabal <[email protected]>
Concesso in licenza AGPLv3 (vedi file LICENSE)
Si prega di non utilizzare in organizzazioni militari o di servizi segreti,
o per scopi illegali.
(Questo è il desiderio dell'autore e non vincolante. Molte persone che lavorano
in queste organizzazioni non si curano comunque di leggi ed etica.
Non sei tra i "buoni" se ignori questo.)
NOTA: No, non è inteso come un documento markdown! vecchia scuola!
Hydra nello stato più recente di GitHub può essere scaricato direttamente tramite Docker:``` docker pull vanhauser/hydra
INTRODUZIONE
------------
Uno dei più grandi buchi di sicurezza sono le password, come dimostra ogni
studio sulla sicurezza delle password.
Questo strumento è un codice proof-of-concept per dare a ricercatori e
consulenti di sicurezza la possibilità di mostrare quanto sia facile ottenere
accesso non autorizzato a un sistema da remoto.
QUESTO STRUMENTO È SOLO PER SCOPI LEGALI!
Esistono già diversi strumenti di hacking per il login; tuttavia, nessuno di essi
supporta più di un protocollo da attaccare o connessioni parallelizzate.
È stato testato per compilare senza problemi su Linux, Windows/Cygwin, Solaris,
FreeBSD/OpenBSD, QNX (Blackberry 10) e MacOS.
Attualmente, questo strumento supporta i seguenti protocolli:
Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP,
HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY,
HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST,
HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MEMCACHED, MONGODB, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener,
Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, Radmin, RDP, Rexec, Rlogin,
Rsh, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5,
SSH (v1 e v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth,
VNC e XMPP.
Tuttavia, il motore dei moduli per nuovi servizi è molto semplice, quindi non ci vorrà
molto tempo prima che ancora più servizi siano supportati.
Il tuo aiuto nello scrivere, migliorare o correggere i moduli è molto apprezzato!! :-)
DOVE SCARICARE
------------
Puoi sempre trovare l'ultima versione stabile/produzione di Hydra alla sua
pagina del progetto su https://github.com/vanhauser-thc/thc-hydra/releases
Se sei interessato allo stato di sviluppo corrente, il repository pubblico di sviluppo
è su GitHub:
svn co https://github.com/vanhauser-thc/thc-hydra
o
git clone https://github.com/vanhauser-thc/thc-hydra
Usa la versione di sviluppo a tuo rischio. Contiene nuove funzionalità e
nuovi bug. Le cose potrebbero non funzionare!
In alternativa (e più facilmente), puoi estrarlo come contenitore Docker:```
docker pull vanhauser/hydra
Per configurare, compilare e installare Hydra, basta digitare:``` ./configure make make install
Se desideri il modulo SSH, devi configurare libssh (non libssh2!) sul tuo sistema, scaricalo da https://www.libssh.org, per il supporto ssh v1 devi anche aggiungere l'opzione "-DWITH_SSH1=On" nella riga di comando di cmake. IMPORTANTE: Se compili su macOS, devi fare questo - non installare libssh tramite Homebrew.
Se usi Ubuntu/Debian, questo installerà le librerie supplementari necessarie per alcuni moduli opzionali (nota che alcuni potrebbero non essere disponibili sulla tua distribuzione):```
apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev \
libgtk-3-dev libmysqlclient-dev libpq-dev libsvn-dev \
firebird-dev libmemcached-dev libgpg-error-dev \
libgcrypt11-dev libgcrypt20-dev freetds-dev
Ciò abilita tutti i moduli e le funzionalità opzionali tranne Oracle, SAP R/3, NCP e il protocollo di filing Apple, che dovrai scaricare e installare dai siti web dei fornitori.
Per tutte le altre distribuzioni Linux e sistemi basati su BSD, utilizza l'installer software di sistema e cerca librerie con nomi simili, come nel comando sopra. In tutti gli altri casi, devi scaricare tutte le librerie sorgente e compilarle manualmente.
Se scrivi semplicemente hydra, vedrai un breve riepilogo delle importanti
opzioni disponibili.
Digita ./hydra -h per vedere tutte le opzioni da riga di comando disponibili.
Nota che NON è incluso alcun file di login/password. Generali tu stesso. È comunque presente un elenco di password predefinito; usa "dpl4hydra.sh" per generare un elenco.
Per gli utenti Linux, è disponibile un'interfaccia grafica GTK; prova ./xhydra
Per l'uso da riga di comando, la sintassi è la seguente: Per attaccare un singolo target o una rete, puoi usare il nuovo stile "://": hydra [alcune opzioni da riga di comando] PROTOCOLLO://TARGET:PORTA/OPZIONI-MODULO La vecchia modalità può essere usata anche per questi, e inoltre, se vuoi specificare i tuoi target da un file di testo, devi usare questa:``` hydra [some command line options] [-s PORT] TARGET PROTOCOL [MODULE-OPTIONS]
Tramite le opzioni da riga di comando, specifichi quali login provare, quali password,
se utilizzare SSL, quante attività parallele utilizzare per l'attacco, ecc.
PROTOCOL è il protocollo che intendi usare per l'attacco, ad esempio ftp, SMTP,
http-get o molti altri disponibili
TARGET è il target che intendi attaccare
MODULE-OPTIONS sono valori opzionali specifici per ogni modulo PROTOCOL
PRIMO - seleziona il tuo target
Hai tre opzioni su come specificare il target da attaccare:
1. Un singolo target dalla riga di comando: basta inserire l'indirizzo IP o DNS
2. Un intervallo di rete dalla riga di comando: specifica CIDR come "192.168.0.0/24"
3. Un elenco di host in un file di testo: una riga per ogni voce (vedi sotto)
SECONDO - seleziona il tuo protocollo
Cerca di evitare telnet, poiché è inaffidabile per rilevare un tentativo di login corretto o errato.
Usa uno scanner di porte per vedere quali protocolli sono abilitati sul target.
TERZO - verifica se il modulo ha parametri opzionali
hydra -U PROTOCOL
es. hydra -U smtp
QUARTO - la porta di destinazione
Questo è opzionale; se non viene fornita alcuna porta, viene utilizzata la porta comune predefinita per il
PROTOCOL.
Se specifichi di usare SSL (opzione "-S"), per impostazione predefinita viene utilizzata la porta comune SSL.
Se usi la notazione "://", devi usare parentesi "[" "]" se vuoi fornire
indirizzi IPv6 o notazioni CIDR ("192.168.0.0/24") da attaccare:
hydra [alcune opzioni da riga di comando] ftp://[192.168.0.0/24]/
hydra [alcune opzioni da riga di comando] -6 smtps://[2001:db8::1]/NTLM
Nota che tutto ciò che fa Hydra è solo IPv4!
Se vuoi attaccare indirizzi IPv6, devi aggiungere l'opzione "-6" dalla riga di comando.
Tutti gli attacchi sono quindi solo IPv6!
Se vuoi fornire i tuoi target tramite un file di testo, non puoi usare la notazione ://,
ma usa lo stile precedente e fornisci solo il protocollo (e le opzioni del modulo):
hydra [alcune opzioni da riga di comando] -M targets.txt ftp
Puoi anche fornire la porta per ogni voce target aggiungendo ":<porta>" dopo una
voce target nel file, ad esempio:```
foo.bar.com
target.com:21
unusual.port.com:2121
default.used.here.com
127.0.0.1
127.0.0.1:2121
Nota che se vuoi aggiungere target IPv6, devi fornire l'opzione -6 e devi mettere gli indirizzi IPv6 tra parentesi nel file(!) in questo modo:``` foo.bar.com target.com:21 [fe80::1%eth0] [2001::1] [2002::2]:https://raw.githubusercontent.com/vanhauser-thc/thc-hydra/master/8080 [2a01:24a:133:0:00:123:ff:1a]
LOGIN E PASSWORD
----------------
Hai molte opzioni su come attaccare con login e password
Con -l per il login e -p per la password, dici a Hydra che questo è l'unico
login e/o password da provare.
Con -L per i login e -P per le password, fornisci file di testo con voci.
e.g.:```
hydra -l admin -p password ftp://localhost/
hydra -L default_logins.txt -p test ftp://localhost/
hydra -l admin -P common_passwords.txt ftp://localhost/
hydra -L logins.txt -P passwords.txt ftp://localhost/
Inoltre, puoi provare password basate sul login tramite l'opzione "-e". L'opzione "-e" ha tre parametri:``` s - try the login as password n - try an empty password r - reverse the login and try it as a password
Se vuoi, ad esempio, provare "prova login come password" e "password vuota", specifica "-e sn" sulla riga di comando.
Ma ci sono altre due modalità per provare le password oltre a -p/-P:
Puoi usare un file di testo in cui una coppia login e password è separata da due punti,
ad esempio:```
admin:password
test:test
foo:bar
Questo è un elenco comune di account predefiniti generato anche dal generatore di file di account predefiniti dpl4hydra.sh fornito con Hydra. Si utilizza un tale file di testo con l'opzione -C - nota che in questa modalità non puoi usare le opzioni -l/-L/-p/-P (puoi invece usare -e nsr). Esempio:``` hydra -C default_accounts.txt ftp://localhost/
E infine, c'è una modalità brute-force con l'opzione -x (che non può essere usata con -p/-P/-C):```
-x minimum_length:maximum_length:charset
La definizione del charset è a per le lettere minuscole, A per le lettere maiuscole,
1 per i numeri e per qualsiasi altra cosa, ciò che fornisci è la loro rappresentazione reale.
Esempi:```
-x 1:3:a generate passwords from length 1 to 3 with all lowercase letters
-x 2:5:/ generate passwords from length 2 to 5 containing only slashes
-x 5:8:A1 generate passwords from length 5 to 8 with uppercase and numbers
-x '3:3:aA1&~#\ "'<{([-|_^@)]=}>$%*?./§,;:!`' -v generates length 3 passwords with all 95 characters, and verbose.
Esempio:```
hydra -l ftp -x 3:3:a ftp://localhost/
Tramite il terzo parametro della riga di comando (SERVIZIO DI DESTINAZIONE OPZIONALE) o l'opzione -m della riga di comando, è possibile passare un'opzione a un modulo. Molti moduli lo utilizzano; alcuni lo richiedono!
Per vedere l'opzione speciale di un modulo, digita:
hydra -U
ad es.
./hydra -U http-post-form
Le opzioni speciali possono essere passate tramite il parametro -m, come terzo parametro della riga di comando o nel formato service://target/option.
Esempi (sono tutti equivalenti):``` ./hydra -l test -p test -m PLAIN 127.0.0.1 imap ./hydra -l test -p test 127.0.0.1 imap PLAIN ./hydra -l test -p test imap://127.0.0.1/PLAIN
RIPRISTINARE UNA SESSIONE INTERROTTA/CRASHATA
------------------------------------
Quando Hydra viene interrotta con Control-C, uccisa o va in crash, lascia un file "hydra.restore" che contiene tutte le informazioni necessarie per ripristinare la sessione. Questo file di sessione viene scritto ogni 5 minuti.
NOTA: il file hydra.restore NON può essere copiato su una piattaforma diversa (es. da little endian a big endian, o da Solaris a AIX)
COME SCANSIONARE/CRACKARE TRAMITE UN PROXY
------------------------------
La variabile d'ambiente HYDRA_PROXY_HTTP definisce il proxy web (funziona solo per i servizi HTTP!).
La seguente sintassi è valida:```
HYDRA_PROXY_HTTP="http://123.45.67.89:8080/"
HYDRA_PROXY_HTTP="http://login:[email protected]:8080/"
HYDRA_PROXY_HTTP="proxylist.txt"
L'ultimo esempio è un file di testo contenente fino a 64 proxy (nella stessa definizione di formato degli altri esempi).
Per tutti gli altri servizi, utilizza la variabile HYDRA_PROXY per scansionare/crackare. Usa la stessa sintassi. eg:``` HYDRA_PROXY=[connect|socks4|socks5]://[login:password@]proxy_addr:proxy_port
per esempio:```
HYDRA_PROXY=connect://proxy.anonymizer.com:8000
HYDRA_PROXY=socks4://auth:[email protected]:1080
HYDRA_PROXY=socksproxylist.txt
I risultati vengono inviati a stdio insieme alle altre informazioni. Tramite l'opzione -o della riga di comando, i risultati possono anche essere scritti in un file. Usando -b, è possibile specificare il formato dell'output. Attualmente, sono supportati:
text - formato testo semplicejsonv1 - dati JSON utilizzando la versione 1.x dello schema (definito di seguito).json - dati JSON utilizzando l'ultima versione dello schema; attualmente
esiste solo la versione 1.Se si utilizza l'output JSON, il file dei risultati potrebbe non essere JSON valido in caso di errori gravi nell'avvio di Hydra.
Ecco un esempio di output JSON. Note su alcuni campi:
errormessages - un array di zero o più stringhe che vengono normalmente stampate
su stderr alla fine dell'esecuzione di Hydra. Il testo è molto libero.success - indicazione se Hydra è stato eseguito correttamente senza errori (NON se
sono state rilevate password). Questo parametro è il valore JSON true
o false a seconda del completamento.quantityfound - Quante combinazioni nome utente+password sono state scoperte.jsonoutputversion - Versione dello schema, 1.00, 1.01, 1.11, 2.00,
2.03, ecc. Hydra farà in modo che la seconda tupla della versione sia sempre di due
cifre per facilitare i processori a valle (al contrario di v1.1 vs
v1.10). Le versioni di livello minore sono additive, quindi 1.02 conterrà più
campi rispetto alla versione 1.00 e sarà retrocompatibile. La versione 2.x
romperà qualcosa rispetto all'output della versione 1.x.Esempio versione 1.00:``` { "errormessages": [ "[ERROR] Error Message of Something", "[ERROR] Another Message", "These are very free form" ], "generator": { "built": "2021-03-01 14:44:22", "commandline": "hydra -b jsonv1 -o results.json ... ...", "jsonoutputversion": "1.00", "server": "127.0.0.1", "service": "http-post-form", "software": "Hydra", "version": "v8.5" }, "quantityfound": 2, "results": [ { "host": "127.0.0.1", "login": "[email protected]", "password": "bill", "port": 9999, "service": "http-post-form" }, { "host": "127.0.0.1", "login": "[email protected]", "password": "joe", "port": 9999, "service": "http-post-form" } ], "success": false }
SPEED
-----
Grazie alla funzionalità di parallelizzazione, questo strumento di cracking
delle password può essere molto veloce; tuttavia, dipende dal protocollo.
I più veloci sono generalmente POP3 e FTP.
Sperimenta con l'opzione task (-t) per accelerare le cose! Più alto è il
valore, più veloce ;-) (ma se troppo alto, disabilita il servizio)
STATISTICS
----------
Eseguito contro un SuSE Linux 7.2 su localhost con un "-C FILE" contenente
295 voci (294 tentativi di login non validi, 1 valido). Ogni test è stato
eseguito tre volte (solo per "1 task" una volta), e ne è stata annotata
la media.```
P A R A L L E L T A S K S
SERVICE 1 4 8 16 32 50 64 100 128
------- --------------------------------------------------------------------
telnet 23:20 5:58 2:58 1:34 1:05 0:33 0:45* 0:25* 0:55*
ftp 45:54 11:51 5:54 3:06 1:25 0:58 0:46 0:29 0:32
pop3 92:10 27:16 13:56 6:42 2:55 1:57 1:24 1:14 0:50
imap 31:05 7:41 3:51 1:58 1:01 0:39 0:32 0:25 0:21
(*) Nota: i tempi di telnet possono essere MOLTO diversi per 64 o 128 task! ad es. con 128 task, eseguendo quattro volte, si sono ottenuti tempi tra 28 e 97 secondi! Il motivo è sconosciuto...
tentativi per task (arrotondati per eccesso):
295 74 38 19 10 6 5 3 3
tentativi possibili per connessione (dipende dal software server e dalla configurazione):
telnet 4 ftp 6 pop3 1 imap 3
Hydra: Scrivetemi a me o a David se trovate bug o se avete scritto un nuovo modulo. [email protected] (e mettete "antispam" nell'oggetto)
Dovreste usare PGP per cifrare le email a [email protected] :``` -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v3.3.3 ([email protected])
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 zB3yrr+vYBT0uDWmxwPjiJs= =ytEf -----END PGP PUBLIC KEY BLOCK-----