A jelszó technikailag titkos karaktersorozat, amely az erőforrások hitelesítésére vagy hozzáférésére szolgál. Titokban kell tartani, és el kell rejteni azokat, akik nem férhetnek hozzá ezekhez az erőforrásokhoz. A számítógépeknél a jelszavakat a számítástechnika kezdete óta használják. Az első megosztási rendszereket 1961 -ben vezették be. Bejelentkezési paranccsal rendelkezett, amely felhasználói jelszót kért. A PASSWORD beírása után a rendszer, ha lehetséges, kikapcsolja a nyomtatási mechanizmust, hogy a felhasználó titokban vigye be a jelszavát.
A jelszó erőssége a hosszúság, a bonyolultság és a kiszámíthatatlanság függvénye. Azt méri, hogy mennyire hatékony ellenállni a találgatásoknak vagy a megtöréseknek. A gyenge jelszavak viszont lerövidítik a találgatáshoz szükséges időt, és hozzáférnek a személyes/vállalati e-mailekhez, érzékeny adatokhoz, például pénzügyi információkhoz, üzleti információkhoz, hitelkártyákhoz stb.
A jelszó sokféleképpen gyenge lehet a különböző támadási rendszerek erősségeinek megfelelően. Az ilyen típusú hiteles támadások közül a legnépszerűbb a nyers erő. Ez egy próba és hiba módszer, mint például a találgatás, a titkosított adatok dekódolásának kísérlete, például az alkalmazásprogram vagy a hacker eszköz által használt jelszó vagy adattitkosítás.
A Hydra a leggyorsabb hálózati bejelentkezési feltörő, amely számos támadási protokollt támogat. Nagyon gyors és rugalmas, és új modulokat könnyű hozzáadni. Ez az eszköz lehetővé teszi a kutatók és a biztonsági tanácsadók számára, hogy megmutassák, milyen egyszerű lenne jogosulatlan hozzáférést szerezni egy rendszerhez távolról. A Hidrát írta van Hauser, és ezt támogatta David Maciejak. A legújabb frissítésben a hydra fejlesztés átkerült a nyilvános github tárhelyre: https://github.com/vanhauser-thc/thc-hydra.
A Hydra fordítását Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/Blackberry rendszeren tesztelték, és GPLv3 alatt elérhetővé tették egy speciális OpenSSL licencbővítéssel.
A THC Hydra támogatja ezeket a protokollokat: Cisco AAA, Cisco hitelesítés, Cisco engedélyezés, 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 és v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC és XMPP.
A HYDRA ÖSSZEHASONLÍTÁSA MÁS MEGRENDEZŐ ESZKÖZÖKKEL
A hydra mellett sok bejelentkezési feltörő eszköz is rendelkezésre áll, azonban egyik sem támogatja a hatalmas protokolllistát és a párhuzamos bejelentkezési cracker támogatást, mint a hydra. Az alábbi táblázatok a szolgáltatások, szolgáltatások és a sebesség összehasonlításának eredményét mutatják be a medusa és az ncrack összehasonlításában.
Jellemzők
Funkció | Hydra | medúza | Ncrack |
Engedély | AGPLv3 | GPLv2 | GPLv2 + Nmap feltételek |
IPv6 támogatás | Igen | Nem | Nem |
Grafikus felhasználói felület | Igen | Igen | Nem |
Nemzetközi támogatás (RFC 4013) | Igen | Nem | Nem |
HTTP proxy támogatás | Igen | Igen | Nem |
SOCKS proxy támogatás | Igen | Nem | Nem |
Támogatott protokollok | 51 | 22 | 7 |
Szolgáltatások
Szolgáltatás | Részletek | Hydra | medúza | Ncrack |
ADAM-6500 | Igen | Nem | Nem | |
AFP | Igen | Igen | Nem | |
Csillag | Igen | Nem | Nem | |
Cisco jelszó | Igen | Nem | Nem | |
Cisco engedélyezése | Igen | Nem | Nem | |
CVS | Igen | Igen | Nem | |
Tűzmadár | Igen | Nem | Nem | |
FTP | Igen | Igen | Igen | |
SSL támogatás | AUTH TLS és FTP SSL -en keresztül | AUTH TLS és FTP SSL -en keresztül | Nem | |
HTTP | Mód) | GET, FEJ, POST | KAP | KAP |
Alapszintű hitelesítés | Igen | Igen | Igen | |
HTTP űrlap | Mód) | GET, POST | GET, POST | Nem |
SSL támogatás | HTTPS | HTTPS | Nem | |
HTTP proxy | Alapszintű hitelesítés | Igen | Nem | Nem |
DIGEST-MD5 Auth | Igen | Nem | Nem | |
NTLM hitelesítés | Igen | Nem | Nem | |
SSL támogatás | HTTPS | Nem | Nem | |
HTTP PROXY URL felsorolás | Igen | Nem | Nem | |
ICQ | v5 | Igen 1 | Nem | Nem |
IMAP | LOGIN támogatás | Igen | Igen | Nem |
AUTH LOGIN támogatás | Igen | Nem | Nem | |
AUTH PLAIN támogatás | Igen | Igen | Nem | |
AUTH CRAM-MD5 támogatás | Igen | Nem | Nem | |
AUTH CRAM-SHA1 támogatás | Igen | Nem | Nem | |
AUTH CRAM-SHA256 támogatás | Igen | Nem | Nem | |
AUTH DIGEST-MD5 támogatás | Igen | Nem | Nem | |
AUTH NTLM támogatás | Igen | Igen | Nem | |
AUTH SCRAM-SHA1 támogatás | Igen | Nem | Nem | |
SSL támogatás | IMAPS & STARTTLS | IMAPS & STARTTLS | Nem | |
IRC | Általános szerver jelszó | Igen | Nem | Nem |
OPER mód jelszava | Igen | Nem | Nem | |
LDAP | v2, Egyszerű támogatás | Igen | Nem | Nem |
v3, Egyszerű támogatás | Igen | Nem | Nem | |
v3, AUTH CRAM-MD5 támogatás | Igen | Nem | Nem | |
AUTH DIGEST-MD5 támogatás | Igen | |||
AUTH NTLM támogatás | Igen | Igen | ||
AUTH SCRAM-SHA1 támogatás | Igen | |||
SSL támogatás | IMAPS & STARTTLS | IMAPS & STARTTLS | ||
IRC | Általános szerver jelszó | Igen | ||
OPER mód jelszava | Igen | |||
LDAP | v2, Egyszerű támogatás | Igen | ||
v3, Egyszerű támogatás | Igen | |||
v3, AUTH CRAM-MD5 támogatás | Igen | |||
v3, AUTH DIGEST-MD5 támogatás | Igen | |||
MS-SQL | Igen | Igen | ||
MySQL | v3.x | Igen | Igen | |
v4.x | Igen | Igen | ||
v5.x | Igen | Igen | ||
NCP | Igen | Igen | ||
NNTP | USER támogatás | Igen | Igen | |
AUTH LOGIN támogatás | Igen | |||
AUTH PLAIN támogatás | Igen | |||
AUTH CRAM-MD5 támogatás | Igen | |||
AUTH DIGEST-MD5 támogatás | Igen | |||
AUTH NTLM támogatás | Igen | |||
SSL támogatás | STARTTLS és NNTP SSL -n keresztül | |||
Jóslat | Adatbázis | Igen | Igen | |
TNS figyelő | Igen | |||
SID felsorolás | Igen | |||
PC-NFS | Igen | |||
pcAnywhere | Natív hitelesítés | Igen | Igen | |
OS alapú hitelesítés (MS) | Igen | |||
POP3 | USER támogatás | Igen | Igen | Igen |
APOP támogatás | Igen | |||
AUTH LOGIN támogatás | Igen | Igen | ||
AUTH PLAIN támogatás | Igen | Igen | ||
AUTH CRAM-MD5 támogatás | Igen | |||
AUTH CRAM-SHA1 támogatás | Igen | |||
AUTH CRAM-SHA256 támogatás | Igen | |||
AUTH DIGEST-MD5 támogatás | Igen | |||
AUTH NTLM támogatás | Igen | Igen | ||
SSL támogatás | POP3S és STARTTLS | POP3S és STARTTLS | POP3S | |
PostgreSQL | Igen | Igen | ||
Csillag | Igen | |||
RDP | Windows munkaállomás | Igen | Igen | Igen |
Windows Server | Igen | Igen | ||
Domain Auth | Igen | Igen | ||
REDIS | Igen | Nem | ||
REXEC | Igen | Igen | ||
RLOGIN | Igen | Igen | ||
RPCAP | Igen | Nem | ||
RSH | Igen | Igen | ||
RTSP | Igen | Nem | ||
SAP R / 3 | Igen | |||
Siemens S7-300 | Igen | |||
KORTY | Igen | |||
SSL támogatás | SIP SSL -en keresztül | |||
SMB | NetBIOS mód | Igen | Igen | Nem |
W2K natív mód | Igen | Igen | Igen | |
Hash mód | Igen | Igen | Nem | |
Clear Text Auth | Igen | Igen | ||
LMv1 hitelesítés | Igen | Igen | Igen | |
LMv2 hitelesítés | Igen | Igen | Igen | |
NTLMv1 hitelesítés | Igen | Igen | Igen | |
NTLMv2 hitelesítés | Igen | Igen | Igen | |
SMTP | AUTH LOGIN támogatás | Igen | Igen | |
AUTH PLAIN támogatás | Igen | Igen | ||
AUTH CRAM-MD5 támogatás | Igen | |||
AUTH DIGEST-MD5 támogatás | Igen | |||
AUTH NTLM támogatás | Igen | Igen | ||
SSL támogatás | SMTPS és STARTTLS | SMTPS és STARTTLS | ||
SMTP User Enum | VRFY cmd | Igen | Igen | |
EXPN cmd | Igen | Igen | ||
RCPT - cmd | Igen | Igen | ||
SNMP | v1 | Igen | Igen | |
v2c | Igen | Igen | ||
v3 | (Csak MD5/SHA1 hitelesítés) | |||
ZOKNI | v5, Jelszóhitelesítés | Igen | ||
SSH | v1 | Igen | ||
v2 | Igen | Igen | Igen | |
SSH kulcsok | v1, v2 | Igen | ||
Subversion (SVN) | Igen | Igen | ||
TeamSpeak | TS2 | Igen | ||
Telnet | Igen | Igen | Igen | |
XMPP | AUTH LOGIN támogatás | Igen | ||
AUTH PLAIN támogatás | Igen | |||
AUTH CRAM-MD5 támogatás | Igen | |||
AUTH DIGEST-MD5 támogatás | Igen | |||
AUTH SCRAM-SHA1 támogatás | Igen | |||
VMware Auth Daemon | v1.00 / v1.10 | Igen | Igen | |
SSL támogatás | Igen | Igen | ||
VNC | RFB 3.x jelszó támogatás | Igen | Igen | |
RFB 3.x felhasználó+jelszó támogatás | (Csak UltraVNC) | |||
RFB 4.x jelszó támogatás | Igen | Igen | ||
RFB 4.x felhasználó+jelszó támogatás | (Csak UltraVNC) |
Sebesség -összehasonlítás
Sebesség (s) | Hydra | medúza | Ncrack |
1 Feladat / FTP modul | 11,93 | 12,97 | 18.01 |
4 Feladatok / FTP modul | 4.20 | 5.24 | 9.01 |
16 Feladatok / FTP modul | 2.44 | 2.71 | 12.01 |
1 Task / SSH v2 modul | 32,56 | 33,84 | 45,02 |
4 Feladatok / SSH v2 modul | 10,95 | Törött | Nem fogadott |
16 Feladatok / SSH v2 modul | 5.14 | Törött | Nem fogadott |
Ez egy rövid, egyszerű bevezető volt a hidrához. Most térjünk át a telepítésre.
A HYDRA TELEPÍTÉSE
A Hydra előre telepítve van a kali linuxra, de ha másik operációs rendszere van, lefordíthatja és telepítheti azt a rendszerére. Jelenleg a Hydra támogatása különböző platformokon:
- Minden UNIX platform (Linux, *bsd, Solaris stb.)
- MacOS (alapvetően BSD klón)
- Windows Cygwinnel (IPv4 és IPv6 is)
- Linux, MacOS vagy QNX alapú mobil rendszerek (pl. Android, iPhone, Blackberry 10, Zaurus, iPaq)
A hydra letöltéséhez, konfigurálásához, fordításához és telepítéséhez írja be a terminálba:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
Ha Ubuntu/Debian -ja van, szüksége lesz néhány függőségi könyvtárra:
apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Ha nem találja ezeket a könyvtárakat a lerakatában, akkor manuálisan kell letöltenie és telepítenie őket.
HOGYAN KELL ALKALMAZNI A HYDRA -T?
Gratulálunk, most sikerült telepítenie a hidrat a rendszerére. Valójában a Hydra két ízben kapható, a GUI-gtk és a kedvenc, CLI verzióm. és ezen kívül a hydrának van CLI-vezérelt változata, az úgynevezett hydra-varázsló. Lépésről lépésre útmutatást kap, ahelyett, hogy az összes parancsot vagy argumentumot kézzel beírná a terminálba. A hydra futtatásához a termináltípusból:
CLI esetén:
hydra
CLI-varázsló esetén:
hydra-wizard
GUI esetén:
xhydra
A „hydra” beírása után a következő súgóparancsokat jeleníti meg:
[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
Bruteforce web alapú bejelentkezés hidrával
A Hydra támogat néhány bruteforcing szolgáltatást, amint azt korábban említettem, az egyiket webes bejelentkezések, például közösségi média bejelentkezési űrlap, felhasználói banki bejelentkezési űrlap, útválasztó webes bejelentkezés stb. amely kezelni fogja ezt a kérést. Ebben az oktatóanyagban megmutatom, hogyan lehet kikényszeríteni a sebezhető webes bejelentkezéseket. Mielőtt felgyújtanánk a hidrat, tudnunk kell néhány szükséges érvet, például az alábbiakat:
- Cél : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Bejelentkezés felhasználónév : admin (ha nem vagy benne biztos, akkor erőltesd ezt)
- Jelszó lista : A lehetséges jelszavakat tartalmazó szótárfájl lista helye.
- Formparaméterek : általában, szabotázsadatokat vagy proxyt használjon a kérési paraméterek formájának megszerzéséhez. De itt im iceweasel, firefox alapú, hálózatfejlesztő eszköztárat használok.
- Szerviz modul : http-post-űrlap
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.
Hozzászólási paraméterek beszerzése böngésző, iceweasel/firefox használatával
A Firefox böngészőben nyomja meg a ' CTRL + SHIFT + Q ’. Ezután nyissa meg a webes bejelentkezési oldalthttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, észreveszi, hogy néhány szöveg megjelenik a hálózatfejlesztő lapon. Megmondja, hogy milyen fájlokat továbbítanak nekünk. Lásd a metódust mind GET, mivel még nem tettünk közzé adatokat.
Az űrlap utáni paraméterek beszerzéséhez írjon be bármit a felhasználónév és / vagy jelszó űrlapba. Egy új POST módszert fog látni a hálózatfejlesztő lapon. Kattintson duplán erre a sorra, a Fejlécek lapon kattintson a Szerkesztés és újraküldés gombra a jobb oldalon. Másolja a kérés törzsébe az utolsó sort, például tfUName = asu & tfUPass = raimu . az tfUName és tfUPass olyan paraméterekre van szükségünk. Amint az alább látható:
A Kali linux rengeteg szólistát tartalmaz, válassza ki a megfelelő szólistát, vagy használja a rockyou.txt fájlt /usr/share/wordlists/ ahogy az alább látható:
Rendben, most megvan minden érv, amire szükségünk van, és készen állunk a hidra felgyújtására. Itt a parancsminta:
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
Bontsuk szét a parancsokat:
- az : egy szó, amely felhasználónevet tartalmaz, használja a -L billentyűt a lehetséges felhasználónevek listájának megtekintéséhez egy fájlban.
- P : a lehetséges jelszavak fájllistája, használja a -p billentyűt, hogy szó szerint használjon egyszavas jelszót ahelyett, hogy kitalálná.
- testapp.vunlwebapp.com : egy gazdagépnév vagy cél
- http-post-űrlap : az általunk használt szervizmodul
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = a három szükséges paraméter, a szintaxis:
{oldal URL}: {Request post body űrlapparaméterek}: S = {Sikeres bejelentkezés után találjon bármit az oldalon} - v = Részletes mód
- V = bejelentkezés megjelenítése: minden egyes próbálkozáshoz passz
- f = A program leállítása, ha a páros bejelentkezés: jelszó található
Most hagyjuk, hogy a Hydra megpróbálja megtörni a jelszót, időre van szüksége, mivel ez egy szótár támadás. Miután sikerült megtalálni egy pár bejelentkezési jelszót: a jelszó hydra azonnal megszakítja a munkát, és megjeleníti az érvényes hitelesítő adatokat.
Annyi mindent tud tenni a hydra, mivel ebben az oktatóanyagban csak megtanultuk, hogyan lehet a webes bejelentkezést bruteforce-val végrehajtani a hydra segítségével, csak egy protokollt tanulunk, ez a http-post-form protokoll. Használhatunk hidrat egy másik protokoll, például ssh, ftp, telnet, VNC, proxy stb. Ellen is.