Una password è tecnicamente definita come stringa segreta di caratteri utilizzati per autenticare o ottenere l'accesso alle risorse. Deve essere tenuto in segreto e nascosto da altri a cui non è permesso accedere a tali risorse. Le password sono state utilizzate con i computer sin dai primi giorni di calcolo. Uno dei sistemi di condivisione della prima volta, è stato introdotto nel 1961. Aveva un comando di accesso che richiedeva una password utente. Dopo aver digitato "password", il sistema disattiva il meccanismo di stampa, se possibile, in modo che l'utente possa digitare la sua password con privacy.
La forza di una password è una funzione di lunghezza, complessità e imprevedibilità. Misura l'efficacia nella resistenza all'ipotesi o alla rottura. Le password deboli, d'altra parte abbreviano il tempo necessario per indovinare e ottenere l'accesso alle e-mail personali/aziendali, dati sensibili come informazioni finanziarie, informazioni commerciali, carte di credito, ecc.
Esistono molti modi in cui una password può essere debole corrispondente al potere dei punti di forza di vari schemi di attacco. Il più popolare di questo tipo di attacco credenziale è, forza bruta. È un metodo di prova ed errore come indovinare, tentare di decodificare dati crittografati come password o crittografia dei dati utilizzati dal programma applicativo o dallo "strumento di hacking".
Hydra è il cracker di accesso di rete più veloce che supporta numerosi protocolli di attacco. È molto veloce e flessibile e nuovi moduli sono facili da aggiungere. Questo strumento consente ai ricercatori e ai consulenti di sicurezza di mostrare quanto sarebbe facile ottenere l'accesso non autorizzato a un sistema in remoto. Hydra è stato scritto da Van Hauser ed è inoltre supportato da David Maciejak. Nell'ultimo aggiornamento Hydra Development viene spostato nel repository GitHub pubblico su: https: // github.com/vanhauser-thc/thc-hydra.
Hydra è stato testato per compilare su Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/BlackBerry ed è reso disponibile in GPLV3 con una speciale espansione della licenza OpenSSL.
THC Hydra supporta questi protocolli: Cisco AAA, Cisco Auth, Cisco Abilita, CVS, FTP, HTTP (S)-forma-get, http (s) -form-post, http (s) -get, http (s) -head , HTTP-PROXY, ICQ, IMAP, IRC, LDAP, MS-SQL, Mysql, NNTP, Listener Oracle, Oracle Sid, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, RSH, SIP, SMB (NT), SMTP, SMTP ENUM, SNMP V1+V2+V3, SOCKS5, SSH (V1 e V2), SSHKEY, Subversion, TeamSpeak (TS2), Telnet, VMware-Auth, VNC e XMPP.
Confrontare Hydra con altri strumenti di cracking
Ci sono anche molti strumenti di cracker di accesso accanto a Hydra, tuttavia nessuno supporta un enorme elenco di protocolli e supporto cracker di accesso paralleli come Hydra. Le tabelle di seguito mostrano il risultato di funzionalità, servizi e confronto di velocità contro Medusa e NCrack.
Caratteristiche
Caratteristica | Idra | Medusa | Ncrack |
---|---|---|---|
Licenza | Agplv3 | GPLV2 | Termini GPLV2 + NMAP |
Supporto IPv6 | SÌ | NO | NO |
Interfaccia utente grafica | SÌ | SÌ | NO |
Supporto internazionalizzato (RFC 4013) | SÌ | NO | NO |
Supporto proxy HTTP | SÌ | SÌ | NO |
Supporto per proxy calzini | SÌ | NO | NO |
Protocolli supportati | 51 | 22 | 7 |
Servizi
Crack Pagina di accesso basata sul Web con
Servizio | Dettagli | Idra | Medusa | Ncrack | |
---|---|---|---|---|---|
Adam-6500 | SÌ | NO | NO | ||
AFP | SÌ | SÌ | NO | ||
Asterisco | SÌ | NO | NO | ||
Password Cisco | SÌ | NO | NO | ||
Cisco Abilita | SÌ | NO | NO | ||
CVS | SÌ | SÌ | NO | ||
Firebird | SÌ | NO | NO | ||
Ftp | SÌ | SÌ | SÌ | ||
Supporto SSL | AUTH TLS e FTP su SSL | AUTH TLS e FTP su SSL | NO | ||
Http | Metodo (i) | Ottieni, testa, post | OTTENERE | OTTENERE | |
AUTH BASIC | SÌ | SÌ | SÌ | ||
Forma http | Metodo (i) | Ottieni, post | Ottieni, post | NO | |
Supporto SSL | Https | Https | NO | ||
Proxy http | AUTH BASIC | SÌ | NO | NO | |
Digest-MD5 Auth | SÌ | NO | NO | ||
NTLM AUTH | SÌ | NO | NO | ||
Supporto SSL | Https | NO | NO | ||
Enumerazione dell'url proxy http | SÌ | NO | NO | ||
ICQ | V5 | SÌ 1 | NO | NO | |
IMAP | Supporto di accesso | SÌ | SÌ | NO | |
Supporto di accesso dell'autenticazione | SÌ | NO | NO | ||
AUTH SUPPORTO COMPLETO | SÌ | SÌ | NO | ||
Supporto AUTH CRAM-MD5 | SÌ | NO | NO | ||
Supporto Auth Cram-Sha1 | SÌ | NO | NO | ||
Supporto Auth Cram-Sha256 | SÌ | NO | NO | ||
Supporto Digest-MD5 AUTH | SÌ | NO | NO | ||
Supporto NTLM AUTH | SÌ | SÌ | NO | ||
Supporto AUTH Scram-sha1 | SÌ | NO | NO | ||
Supporto SSL | IMaps & StartTls | IMaps & StartTls | NO | ||
IRC | Password del server generale | SÌ | NO | NO | |
Password in modalità opera | SÌ | NO | NO | ||
Ldap | v2, supporto semplice | SÌ | NO | NO | |
v3, supporto semplice | SÌ | NO | NO | ||
V3, supporto Auth Cram-Md5 | SÌ | NO | NO | ||
Supporto Digest-MD5 AUTH | SÌ | ||||
Supporto NTLM AUTH | SÌ | SÌ | |||
Supporto AUTH Scram-sha1 | SÌ | ||||
Supporto SSL | IMaps & StartTls | IMaps & StartTls | |||
IRC | Password del server generale | SÌ | |||
Password in modalità opera | SÌ | ||||
Ldap | v2, supporto semplice | SÌ | |||
v3, supporto semplice | SÌ | ||||
V3, supporto Auth Cram-Md5 | SÌ | ||||
V3, supporto Digest-MD5 | SÌ | ||||
MS-SQL | SÌ | SÌ | |||
Mysql | v3.X | SÌ | SÌ | ||
v4.X | SÌ | SÌ | |||
V5.X | SÌ | SÌ | |||
NCP | SÌ | SÌ | |||
Nntp | Supporto utente | SÌ | SÌ | ||
Supporto di accesso dell'autenticazione | SÌ | ||||
AUTH SUPPORTO COMPLETO | SÌ | ||||
Supporto AUTH CRAM-MD5 | SÌ | ||||
Supporto Digest-MD5 AUTH | SÌ | ||||
Supporto NTLM AUTH | SÌ | ||||
Supporto SSL | Starttls e nntp su ssl | ||||
Oracolo | Banca dati | SÌ | SÌ | ||
TNS Listener | SÌ | ||||
Sid enumeration | SÌ | ||||
PC-NFS | SÌ | ||||
Pcanywhere | Autenticazione nativa | SÌ | SÌ | ||
Autenticazione basata sul sistema operativo (MS) | SÌ | ||||
Pop3 | Supporto utente | SÌ | SÌ | SÌ | |
Supporto APOP | SÌ | ||||
Supporto di accesso dell'autenticazione | SÌ | SÌ | |||
AUTH SUPPORTO COMPLETO | SÌ | SÌ | |||
Supporto AUTH CRAM-MD5 | SÌ | ||||
Supporto Auth Cram-Sha1 | SÌ | ||||
Supporto Auth Cram-Sha256 | SÌ | ||||
Supporto Digest-MD5 AUTH | SÌ | ||||
Supporto NTLM AUTH | SÌ | SÌ | |||
Supporto SSL | Pop3s & starttls | Pop3s & starttls | Pop3s | ||
Postgresql | SÌ | SÌ | |||
Asterisco | SÌ | ||||
RDP | Windows Workstation | SÌ | SÌ | SÌ | |
Windows Server | SÌ | SÌ | |||
Dominio Auth | SÌ | SÌ | |||
Redis | SÌ | NO | |||
Rexec | SÌ | SÌ | |||
Rlogin | SÌ | SÌ | |||
Rpcap | SÌ | NO | |||
RSH | SÌ | SÌ | |||
Rtsp | SÌ | NO | |||
SAP R/3 | SÌ | ||||
Siemens S7-300 | SÌ | ||||
SORSO | SÌ | ||||
Supporto SSL | Sorseggiare SSL | ||||
SMB | Modalità netbios | SÌ | SÌ | NO | |
Modalità nativa W2K | SÌ | SÌ | SÌ | ||
Modalità hash | SÌ | SÌ | NO | ||
Clear Text Auth | SÌ | SÌ | |||
AUTH LMV1 | SÌ | SÌ | SÌ | ||
AUTH LMV2 | SÌ | SÌ | SÌ | ||
NTLMV1 AUTH | SÌ | SÌ | SÌ | ||
NTLMV2 AUTH | SÌ | SÌ | SÌ | ||
Smtp | Supporto di accesso dell'autenticazione | SÌ | SÌ | ||
AUTH SUPPORTO COMPLETO | SÌ | SÌ | |||
Supporto AUTH CRAM-MD5 | SÌ | ||||
Supporto Digest-MD5 AUTH | SÌ | ||||
Supporto NTLM AUTH | SÌ | SÌ | |||
Supporto SSL | SMTPS & StartTls | SMTPS & StartTls | |||
Utente SMTP enum | Vrfy cmd | SÌ | SÌ | ||
Expn cmd | SÌ | SÌ | |||
RCPT a CMD | SÌ | SÌ | |||
Snmp | v1 | SÌ | SÌ | ||
V2C | SÌ | SÌ | |||
v3 | (Solo MD5/SHA1 AUTH) | ||||
CALZINI | v5, password autentica | SÌ | |||
Ssh | v1 | SÌ | |||
v2 | SÌ | SÌ | SÌ | ||
Tasti ssh | v1, v2 | SÌ | |||
Subversion (SVN) | SÌ | SÌ | |||
Teamspeak | TS2 | SÌ | |||
Telnet | SÌ | SÌ | SÌ | ||
XMPP | Supporto di accesso dell'autenticazione | SÌ | |||
AUTH SUPPORTO COMPLETO | SÌ | ||||
Supporto AUTH CRAM-MD5 | SÌ | ||||
Supporto Digest-MD5 AUTH | SÌ | ||||
Supporto AUTH Scram-sha1 | SÌ | ||||
VMware Auth Daemon | v1.00 / V1.10 | SÌ | SÌ | ||
Supporto SSL | SÌ | SÌ | |||
Vnc | RFB 3.X Supporto password | SÌ | SÌ | ||
RFB 3.X Utente+Supporto password | (Solo ultravnc) | ||||
RFB 4.X Supporto password | SÌ | SÌ | |||
RFB 4.X Utente+Supporto password | (Solo ultravnc) |
Confronto della velocità
Velocità (in s) | Idra | Medusa | Ncrack |
---|---|---|---|
1 Modulo Task / FTP | 11.93 | 12.97 | 18.01 |
4 attività / modulo FTP | 4.20 | 5.24 | 9.01 |
16 attività / modulo FTP | 2.44 | 2.71 | 12.01 |
1 Modulo Task / SSH V2 | 32.56 | 33.84 | 45.02 |
4 attività / modulo V2 SSH | 10.95 | Rotto | perse |
16 attività / modulo V2 SSH | 5.14 | Rotto | perse |
Questa è stata una breve semplice introduzione a Hydra. Ora passiamo all'installazione.
Installazione di Hydra
Hydra è preinstallata su Kali Linux, tuttavia se si dispone di un sistema operativo diverso è possibile compilare e installarlo sul sistema. Attualmente, il supporto di Hydra su piattaforme diverse:
Per scaricare, configurare, compilare e installare Hydra, basta digitare nel terminale:
Git clone https: // github.com/vanhauser-thc/thc-hydra.idiota
CD thc-hydra
./configura
Fare
Installa l'installazione
Se hai Ubuntu/Debian avrai bisogno di alcune librerie di dipendenza:
APT Installa LibSSL-DEV Libssh-Dev Libidn11-Dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Se non sei riuscito a trovare quelle librerie nel tuo repository, allora devi scaricarle e installarle manualmente.
Come usare Hydra
Congratulazioni, ora sei riuscito a installare Hydra per il tuo sistema. In realtà, Hydra viene fornito con due gusti, Gui-GTK e la mia versione CLI preferita. E inoltre Hydra ha anche una versione guidata dalla CLI, si chiama "Hydra-Wizard". Sarai guidato passo dopo passo invece di digitare manualmente tutti i comandi o gli argomenti nel terminale. Per eseguire Hydra, dal tuo tipo di terminale:
Per CLI:
idra
Per Cli-Wizard:
Hydra-Wizard
Per GUI:
xhydra
Dopo aver digitato "Hydra", visualizzerà i comandi di aiuto come questo:
root@kali: ~# hydra -h
Hydra V8.6 (c) 2017 di Van Hauser/THC e David Maciejak - Solo per scopi legali
Sintassi: Hydra [[[-l Login | -l File] [-p Pass | -p File]] | [-C file]] [-e nsr] [-o file] [-t compiti] [-m file [-t attività]] [-w time] [-w time] [-f] [-s port] [-x min: max: chatset] [-suvv46] [servizio: // server [: porta] [/opt]]
Opzioni:
-R ripristinare una precedente sessione abortita/schiantata
-S Eseguire una connessione SSL
-s porta se il servizio si trova su una porta predefinita diversa, definiscilo qui
-l Accedi o -l Accedi del file con nome di accesso o carichi diversi accessi dal file
-p pass o -p file prova password pass o carichi più password dal file
-x min: max: charset password bruteforce generazione, tipo "-x -h" per ottenere aiuto
-e nsr provare "n" null password ", l login come pass e/o" r "Accesso invertito
-u loop attorno agli utenti, non password (efficaci! implicito con -x)
-C File Colon Separato "Accedi: Pass" Formato, anziché -l/-p Opzioni
-M Elenco file di server da attaccare in parallelo, una voce per riga
-o Scrivi file trovate coppie di accesso/password su file anziché stdout
-F / -F Esci quando viene trovata una coppia di accesso / pass (-m: -f per host, -f globale)
-T Attività eseguono attività Numero di connessioni in parallelo (per host, impostazione predefinita: 16)
-w / -w time waittime per le risposte (32s) / tra le connessioni per thread
-4 / -6 Preferisci IPv4 (predefinito) o IPv6 indirizzi
-V / -V / -D Modalità Verbosa / Show Accedi+Passa per ogni modalità Tentative / Debug
-Dettagli di utilizzo del modulo di servizio u
server il server di destinazione (usa questa o l'opzione -m)
Servizio il servizio per crack (vedi sotto per i protocolli supportati)
Opt Alcuni moduli di servizio supportano input aggiuntivi (-u per la guida del modulo)
Servizi supportati: asterisk AFP Cisco Cisco-enable CVS Firebird ftp ftps http [s]-head | get http [s]-get | post -form http-proxy http-proxy-urlenum iCQ iMap [s] Irc ldap2 [s] ldap3 [-cram | digest md5] [s] mssql mysql ncp nntp oracle-listener oracle-sid pcanywhere pcnfs pop3 [s] postgres rdp rexec rlogin rsh s7-300 sorse SOCKS5 SSH SSHKE SVN Teamspeak Telnet [S] VMAUTHD VNC XMPP
Hydra è uno strumento per indovinare/crack coppie di accesso/password valide - Utilizzo consentito solo a fini legali. Questo strumento è autorizzato da AGPL V3.0.
La versione più recente è sempre disponibile su http: // www.thc.org/thc-hydra
Questi servizi non sono stati compilati in: SAPR3 Oracle.
Utilizzare Hydra_Proxy_Http o Hydra_Proxy - e se necessario Hydra_Proxy_Auth - Ambiente per una configurazione di proxy.
E.G.: % Export Hydra_Proxy = Socks5: // 127.0.0.1: 9150 (o Socks4: // o Connect: //)
% Export Hydra_Proxy_Http = http: // Proxy: 8080
% Export Hydra_Proxy_Auth = Utente: Pass
Esempi:
Hydra -L Utente -P Passlist.txt ftp: // 192.168.0.1
Hydra -L UserList.txt -p defaultpw iMap: // 192.168.0.1/semplice
impostazioni predefinite di Hydra -c.txt -6 pop3s: // [Fe80 :: 2c: 31ff: Fe12: AC11]: 143/TLS: Digest -MD5
idra -l admin -p password ftp: // [192.168.0.0/24]/
Accessi di Hydra -l.txt -p PWS.TXT -m Target.txt ssh
Accesso basato sul Web Bruteforce con Hydra
Hydra supporta alcuni servizi di broute come ho detto in precedenza, uno di questi viene utilizzato per bluteforce login basati sul web come, modulo di accesso ai social media, modulo di accesso bancario utente, accesso basato sul web router, ecc. Che "http [s]-get | post -form" che gestirà questa richiesta. In questo tutorial ti mostrerò come bluteforce Vulnerable Web Logins. Prima di accendere Hydra dovremmo conoscere alcuni argomenti necessari come di seguito:
Aiuto per il modulo HTTP-Post-Form:
Il modulo HTTP-Post-Form richiede la pagina e i parametri per il modulo Web. Per impostazione predefinita questo modulo è configurato per seguire un massimo di 5 reindirizzamenti in una riga. Raccoglie sempre un nuovo cookie dallo stesso URL senza variabili I parametri prendono tre valori separati ":", più valori opzionali. (Nota: se hai bisogno di un colon nella stringa di opzione come valore, sfuggirlo con "\:", ma non sfuggire a un "\" con ""\\"".)
Sintassi:
[URL]: [Parametri del modulo]: [String di condizione] [:( Opzionale) [:( Opzionale)]
Qui è dove la maggior parte delle persone sbaglia. Devi controllare il webapp come appare una stringa non riuscita e inserirla in questo parametro!
I seguenti parametri sono opzionali:
C =/pagina/uri per definire una pagina diversa per raccogliere cookie iniziali da (h | h) = my-hdr \: foo per inviare un intestazione HTTP definito dall'utente con ogni richiesta ^ utente ^ e ^ pass ^ può anche essere inserito in queste intestazioni!
Nota: 'H' aggiungerà l'intestazione definita dall'utente alla fine, indipendentemente da ciò che è già stato inviato da Hydra o no. 'H' sostituirà il valore di quell'intestazione se esiste, da quella fornita dall'utente o aggiungerà l'intestazione alla fine.
Nota che se hai intenzione di mettere i due punti (:) nelle tue intestazioni dovresti sfuggirli con una barachne (\). Tutti i due punti che non sono separatori di opzioni devono essere sfuggiti (vedere gli esempi sopra e sotto). Puoi specificare un'intestazione senza sfuggire ai due punti, ma in questo modo non sarai in grado di mettere i due punti nel valore di intestazione stesso, poiché saranno interpretati da Hydra come separatori di opzioni.
Ottenere i parametri post utilizzando il browser, Iceweasel/Firefox
Nel tuo browser Firefox Premere i tasti 'Ctrl + Shift + Q'. Quindi aprire la pagina di accesso Web http: // testasp.Vulnweb.com/login.asp?Returl =%2fdefault%2easp%3f, noterai che alcuni testo vengono visualizzati nella scheda Developer di rete. Ti dice quali file ci vengono trasferiti. Vedi il metodo tutti sono ottenuti, dal momento che non abbiamo ancora pubblicato alcun dato.
Per ottenere i parametri post-forma, digitare qualsiasi cosa nel nome utente e o nel modulo di password. Noterai un nuovo metodo post nella scheda Developer di rete. Fare doppio clic su quella riga, nella scheda ""Intestazioni"" Fare clic sul pulsante ""Modifica e ricredi"" sul lato destro. Sulla richiesta del corpo copia l'ultima riga, come ad esempio ""TFUNAME = ASU & TFUPASS = RAIMU"". IL ""Tfuname"" E ""TFUPASS"" sono i parametri di cui abbiamo bisogno. Come visto di seguito:
Kali Linux ha un sacco di liste di parole, scegli la lista di parole appropriata o semplicemente usa rockyou.txt posto in /usr/share/word list/ Come visto di seguito:
Va bene, ora abbiamo tutti gli argomenti di cui abbiamo bisogno e pronti per accendere Hydra. Ecco il modello di comando:
Hydra -l-P
Infine, in base alle informazioni che abbiamo raccolto, i nostri comandi dovrebbero assomigliare a questo:
idra -l admin -p/usr/share/wordlists/rockyou.txt TesAsp.Vulnweb.com http-post-forma ""/login.asp?Returl =%2fdefault%2easp%3f: tfuname =^user^& tfupass =^pass^: s = logout ""-vv -f
Abbattiamo i comandi:
Ora lascia che Hydra provi a rompere la password per noi, ha bisogno di tempo poiché si tratta di un attacco di dizionario. Una volta riuscito a trovare una coppia di accesso: la password Hydra terminerà immediatamente il lavoro e mostrerà le credenziali valide.
C'è così tanto che Hydra potrebbe fare, dal momento che in questo tutorial abbiamo appena imparato a bluteforce Web Based Logon usando Hydra, impariamo solo un protocollo, cioè protocollo HTTP-Post-Form. Possiamo anche usare Hydra contro un altro protocollo come SSH, FTP, Telnet, VNC, Proxy, ecc.
"