Slaptažodis techniškai apibrėžiamas kaip slapta simbolių eilutė, naudojama autentifikuoti arba gauti prieigą prie išteklių. Ji turi būti laikoma paslaptyje ir slepiama nuo kitų, kuriems neleidžiama naudotis šiais ištekliais. Slaptažodžiai buvo naudojami kompiuteriuose nuo pirmųjų skaičiavimo dienų. Viena iš pirmųjų bendrinimo sistemų buvo pristatyta 1961 m. Ji turėjo prisijungimo komandą, kuri paprašė vartotojo slaptažodžio. Įvedus PASSWORD, sistema, jei įmanoma, išjungia spausdinimo mechanizmą, kad vartotojas galėtų saugiai įvesti savo slaptažodį.
Slaptažodžio stiprumas priklauso nuo ilgio, sudėtingumo ir nenuspėjamumo. Jis matuoja veiksmingumą priešinantis spėlionėms ar laužant. Silpni slaptažodžiai, kita vertus, sutrumpina laiką, reikalingą atspėti ir gauti prieigą prie asmeninių/įmonių el. Laiškų, neskelbtinų duomenų, tokių kaip finansinė informacija, verslo informacija, kredito kortelės ir kt.
Yra daug būdų, kaip slaptažodis gali būti silpnas, atitinkantis įvairių puolimo schemų stipriąsias puses. Populiariausia tokio pobūdžio atakų rūšis yra brutali jėga. Tai bandymų ir klaidų metodas, pavyzdžiui, spėjimas, bandymas iššifruoti užšifruotus duomenis, tokius kaip slaptažodis arba duomenų šifravimas, kurį naudoja programų programa arba įsilaužimo įrankis.
„Hydra“ yra greičiausias tinklo prisijungimo krekeris, palaikantis daugybę atakų protokolų. Jis yra labai greitas ir lankstus, o naujus modulius lengva pridėti. Šis įrankis leidžia tyrėjams ir saugumo konsultantams parodyti, kaip lengva būtų gauti neteisėtą prieigą prie sistemos nuotoliniu būdu. „Hydra“ parašė van Hauseris, o ją papildomai palaikė Davidas Maciejakas. Naujausiame atnaujinime „Hydra“ kūrimas perkeltas į viešą „github“ saugyklą: https://github.com/vanhauser-thc/thc-hydra.
„Hydra“ buvo išbandyta kompiliuoti „Linux“, „Windows“/„Cygwin“, „Solaris 11“, „FreeBSD 8.1“, „OpenBSD“, „OSX“, „QNX/Blackberry“ ir yra prieinama pagal GPLv3 su specialiu „OpenSSL“ licencijos išplėtimu.
„THC Hydra“ palaiko šiuos protokolus: „Cisco AAA“, „Cisco“ autentifikavimas, „Cisco“ įgalinimas, CVS, FTP, HTTP (S) -FORM-GET, HTTP (S) -FORM-POST, HTTP (S) -GET, HTTP (S) -HEAD , HTTP tarpinis serveris, 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 ir v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC ir XMPP.
„HYDRA“ PALYGINIMAS SU KITAIS TRINKIMO ĮRANKIAIS
Be „Hydra“ taip pat yra daug prisijungimo krekerių įrankių, tačiau nė vienas nepalaiko didžiulio protokolų sąrašo ir paralelinio prisijungimo krekerių palaikymo, kaip tai daro „Hydra“. Žemiau esančiose lentelėse pateikiami funkcijų, paslaugų ir greičio palyginimo su „medusa“ ir „ncrack“ rezultatai.
funkcijos
Funkcija | Hidra | medūza | Ncrack |
Licencija | AGPLv3 | GPLv2 | GPLv2 + Nmap sąlygos |
IPv6 palaikymas | Taip | Ne | Ne |
Grafinė vartotojo sąsaja | Taip | Taip | Ne |
Tarptautinis palaikymas (RFC 4013) | Taip | Ne | Ne |
HTTP tarpinio serverio palaikymas | Taip | Taip | Ne |
SOCKS tarpinio serverio palaikymas | Taip | Ne | Ne |
Palaikomi protokolai | 51 | 22 | 7 |
Paslaugos
Paslauga | Išsami informacija | Hidra | medūza | Ncrack |
ADAM-6500 | Taip | Ne | Ne | |
AFP | Taip | Taip | Ne | |
Žvaigždutė | Taip | Ne | Ne | |
„Cisco“ slaptažodis | Taip | Ne | Ne | |
„Cisco“ įgalinimas | Taip | Ne | Ne | |
CVS | Taip | Taip | Ne | |
Ugnies paukštis | Taip | Ne | Ne | |
FTP | Taip | Taip | Taip | |
SSL palaikymas | AUTH TLS ir FTP per SSL | AUTH TLS ir FTP per SSL | Ne | |
HTTP | Metodas (-ai) | GAUTI, GALVOTI, PAŠTINTI | GET | GET |
Pagrindinis aut | Taip | Taip | Taip | |
HTTP forma | Metodas (-ai) | GET, POST | GET, POST | Ne |
SSL palaikymas | HTTPS | HTTPS | Ne | |
HTTP tarpinis serveris | Pagrindinis aut | Taip | Ne | Ne |
DIGEST-MD5 Aut | Taip | Ne | Ne | |
NTLM aut | Taip | Ne | Ne | |
SSL palaikymas | HTTPS | Ne | Ne | |
HTTP PROXY URL sąrašas | Taip | Ne | Ne | |
ICQ | v5 | Taip 1 | Ne | Ne |
IMAP | LOGIN palaikymas | Taip | Taip | Ne |
AUTH LOGIN palaikymas | Taip | Ne | Ne | |
AUTH PLAIN palaikymas | Taip | Taip | Ne | |
AUTH CRAM-MD5 palaikymas | Taip | Ne | Ne | |
AUTH CRAM-SHA1 palaikymas | Taip | Ne | Ne | |
AUTH CRAM-SHA256 palaikymas | Taip | Ne | Ne | |
AUTH DIGEST-MD5 palaikymas | Taip | Ne | Ne | |
AUTH NTLM palaikymas | Taip | Taip | Ne | |
AUTH SCRAM-SHA1 palaikymas | Taip | Ne | Ne | |
SSL palaikymas | IMAPS & STARTTLS | IMAPS & STARTTLS | Ne | |
IRC | Bendras serverio slaptažodis | Taip | Ne | Ne |
OPER režimo slaptažodis | Taip | Ne | Ne | |
LDAP | v2, paprastas palaikymas | Taip | Ne | Ne |
v3, paprastas palaikymas | Taip | Ne | Ne | |
v3, AUTH CRAM-MD5 palaikymas | Taip | Ne | Ne | |
AUTH DIGEST-MD5 palaikymas | Taip | |||
AUTH NTLM palaikymas | Taip | Taip | ||
AUTH SCRAM-SHA1 palaikymas | Taip | |||
SSL palaikymas | IMAPS & STARTTLS | IMAPS & STARTTLS | ||
IRC | Bendras serverio slaptažodis | Taip | ||
OPER režimo slaptažodis | Taip | |||
LDAP | v2, paprastas palaikymas | Taip | ||
v3, paprastas palaikymas | Taip | |||
v3, AUTH CRAM-MD5 palaikymas | Taip | |||
v3, AUTH DIGEST-MD5 palaikymas | Taip | |||
MS-SQL | Taip | Taip | ||
MySQL | v3.x | Taip | Taip | |
v4.x | Taip | Taip | ||
v5.x | Taip | Taip | ||
NKP | Taip | Taip | ||
NNTP | USER palaikymas | Taip | Taip | |
AUTH LOGIN palaikymas | Taip | |||
AUTH PLAIN palaikymas | Taip | |||
AUTH CRAM-MD5 palaikymas | Taip | |||
AUTH DIGEST-MD5 palaikymas | Taip | |||
AUTH NTLM palaikymas | Taip | |||
SSL palaikymas | STARTTLS ir NNTP per SSL | |||
„Oracle“ | Duomenų bazė | Taip | Taip | |
TNS klausytojas | Taip | |||
SID surašymas | Taip | |||
PC-NFS | Taip | |||
pcAnywhere | Vietinis autentifikavimas | Taip | Taip | |
Autentifikavimas pagal OS (MS) | Taip | |||
POP3 | USER palaikymas | Taip | Taip | Taip |
APOP palaikymas | Taip | |||
AUTH LOGIN palaikymas | Taip | Taip | ||
AUTH PLAIN palaikymas | Taip | Taip | ||
AUTH CRAM-MD5 palaikymas | Taip | |||
AUTH CRAM-SHA1 palaikymas | Taip | |||
AUTH CRAM-SHA256 palaikymas | Taip | |||
AUTH DIGEST-MD5 palaikymas | Taip | |||
AUTH NTLM palaikymas | Taip | Taip | ||
SSL palaikymas | POP3S ir STARTTLS | POP3S ir STARTTLS | POP3S | |
„PostgreSQL“ | Taip | Taip | ||
Žvaigždutė | Taip | |||
KPP | „Windows“ darbo vieta | Taip | Taip | Taip |
„Windows Server“ | Taip | Taip | ||
Domeno aut | Taip | Taip | ||
REDIS | Taip | Ne | ||
REXEC | Taip | Taip | ||
RLOGIN | Taip | Taip | ||
RPCAP | Taip | Ne | ||
RSH | Taip | Taip | ||
RTSP | Taip | Ne | ||
SAP R / 3 | Taip | |||
„Siemens S7-300“ | Taip | |||
SIP | Taip | |||
SSL palaikymas | SIP per SSL | |||
SMB | „NetBIOS“ režimas | Taip | Taip | Ne |
W2K vietinis režimas | Taip | Taip | Taip | |
Maišymo režimas | Taip | Taip | Ne | |
Išvalyti tekstą Aut | Taip | Taip | ||
LMv1 Aut | Taip | Taip | Taip | |
LMv2 aut | Taip | Taip | Taip | |
NTLMv1 aut | Taip | Taip | Taip | |
NTLMv2 aut | Taip | Taip | Taip | |
SMTP | AUTH LOGIN palaikymas | Taip | Taip | |
AUTH PLAIN palaikymas | Taip | Taip | ||
AUTH CRAM-MD5 palaikymas | Taip | |||
AUTH DIGEST-MD5 palaikymas | Taip | |||
AUTH NTLM palaikymas | Taip | Taip | ||
SSL palaikymas | SMTPS ir STARTTLS | SMTPS ir STARTTLS | ||
SMTP vartotojas Enum | VRFY cmd | Taip | Taip | |
EXPN cmd | Taip | Taip | ||
RCPT į cmd | Taip | Taip | ||
SNMP | v1 | Taip | Taip | |
v2c | Taip | Taip | ||
v3 | (Tik MD5/SHA1 autentifikavimas) | |||
KOJINĖS | v5, slaptažodžio aut | Taip | ||
SSH | v1 | Taip | ||
v2 | Taip | Taip | Taip | |
SSH raktai | v1, v2 | Taip | ||
Subversija (SVN) | Taip | Taip | ||
„TeamSpeak“ | TS2 | Taip | ||
Telnet | Taip | Taip | Taip | |
XMPP | AUTH LOGIN palaikymas | Taip | ||
AUTH PLAIN palaikymas | Taip | |||
AUTH CRAM-MD5 palaikymas | Taip | |||
AUTH DIGEST-MD5 palaikymas | Taip | |||
AUTH SCRAM-SHA1 palaikymas | Taip | |||
„VMware Auth Daemon“ | v1.00 / v1.10 | Taip | Taip | |
SSL palaikymas | Taip | Taip | ||
VNC | RFB 3.x slaptažodžio palaikymas | Taip | Taip | |
RFB 3.x vartotojo+slaptažodžio palaikymas | (Tik „UltraVNC“) | |||
RFB 4.x slaptažodžių palaikymas | Taip | Taip | ||
RFB 4.x vartotojo+slaptažodžio palaikymas | (Tik „UltraVNC“) |
Greičio palyginimas
Greitis (s) | Hidra | medūza | Ncrack |
1 Užduotis / FTP modulis | 11.93 | 12.97 | 18.01 |
4 Užduotys / FTP modulis | 4.20 | 5.24 | 9.01 |
16 Užduotys / FTP modulis | 2.44 | 2.71 | 12.01 |
1 Task / SSH v2 modulis | 32.56 | 33.84 | 45.02 |
4 užduotys / SSH v2 modulis | 10.95 | Sulaužyta | Praleista |
16 Užduotys / SSH v2 modulis | 5.14 | Sulaužyta | Praleista |
Tai buvo trumpas paprastas įvadas į hidrą. Dabar pereikime prie diegimo.
HYDRA MONTAVIMAS
„Hydra“ yra iš anksto įdiegta „Kali linux“, tačiau jei turite kitą operacinę sistemą, galite ją kompiliuoti ir įdiegti savo sistemoje. Šiuo metu „Hydra“ palaiko įvairias platformas:
- Visos UNIX platformos (Linux, *bsd, Solaris ir kt.)
- „MacOS“ (iš esmės BSD klonas)
- „Windows“ su „Cygwin“ (tiek IPv4, tiek IPv6)
- Mobilios sistemos, pagrįstos „Linux“, „MacOS“ ar „QNX“ (pvz., „Android“, „iPhone“, „Blackberry 10“, „Zaurus“, „iPaq“)
Norėdami atsisiųsti, konfigūruoti, kompiliuoti ir įdiegti „Hydra“, tiesiog įveskite terminalą:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
Jei turite „Ubuntu“/„Debian“, jums reikės kai kurių priklausomybės bibliotekų:
apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Jei negalėjote rasti tų bibliotekų saugykloje, turite jas atsisiųsti ir įdiegti rankiniu būdu.
KAIP VARTOTI HYDRA
Sveikiname, dabar jums pavyko įdiegti „Hydra“ savo sistemoje. Tiesą sakant, „Hydra“ yra dviejų skonių-GUI-gtk ir mano mėgstamiausia CLI versija. be to, „Hydra“ taip pat turi CLI valdomą versiją, vadinamą „hydra-wizard“. Būsite vedami žingsnis po žingsnio, užuot rankiniu būdu įvedę visas komandas ar argumentus į terminalą. Norėdami paleisti „Hydra“, naudokite terminalo tipą:
Dėl CLI:
hydra
CLI vedliui:
hydra-wizard
GUI:
xhydra
Įvedus „hydra“, bus rodomos tokios pagalbos komandos:
[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“ žiniatinklio prisijungimas su „Hydra“
„Hydra“ palaiko tam tikrą „bruteforcing“ paslaugą, kaip jau minėjau anksčiau, viena iš jų naudojama prisijungti prie interneto, pvz., Prisijungimo prie socialinės žiniasklaidos formos, prisijungimo prie vartotojo banko formos, prisijungimo prie maršrutizatoriaus žiniatinklyje ir kt. kuri patenkins šį prašymą. Šioje pamokoje aš jums parodysiu, kaip įveikti pažeidžiamus žiniatinklio prisijungimus. Prieš užvesdami hidrą, turėtume žinoti keletą būtinų argumentų, tokių kaip žemiau:
- Tikslas : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Prisijungimo vartotojo vardas : admin (jei nesate tikri, priverskite tai padaryti)
- Slaptažodžių sąrašas : Žodyno failų sąrašo, kuriame yra galimi slaptažodžiai, vieta.
- Formos parametrai : apskritai naudokite tamperio duomenis arba tarpinį serverį, kad gautumėte užklausos parametrų formą. Bet čia aš naudoju „iceweasel“, „Firefox“ pagrįstą tinklo kūrėjo įrankių juostą.
- Aptarnavimo modulis : http-post-forma
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.
Įrašų parametrų gavimas naudojant naršyklę, iceweasel/firefox
„Firefox“ naršyklėje paspauskite klavišus „ CTRL + SHIFT + Q ‘. Tada atidarykite prisijungimo prie interneto puslapįhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, pastebėsite, kad tinklo kūrėjo skirtuke rodomas tam tikras tekstas. Jame nurodoma, kokie failai mums perduodami. Žiūrėkite metodą visi yra GET, nes mes dar neskelbiame jokių duomenų.
Norėdami gauti papildomos formos parametrus, naudotojo vardo ir slaptažodžio formoje įveskite bet ką. Tinklo kūrėjo skirtuke pastebėsite naują POST metodą. Dukart spustelėkite tą eilutę, skirtuke Antraštės dešinėje spustelėkite mygtuką Redaguoti ir persiųsti. Užklausos tekste nukopijuokite paskutinę eilutę, pvz tfUName = asu & tfUPass = raimu . į tfUName ir tfUPass yra parametrai, kurių mums reikia. Kaip matyti žemiau:
„Kali linux“ turi daugybę žodžių sąrašų, pasirinkite tinkamą žodžių sąrašą arba tiesiog naudokite vietą „rockyou.txt“ /usr/share/wordlists/ kaip matyti žemiau:
Gerai, dabar turime visus reikalingus argumentus ir esame pasirengę uždegti hidrą. Štai komandų modelis:
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
Suskaidykime komandas:
- į : yra žodis, kuriame yra vartotojo vardo paskyra, naudokite -L, kad pateiktumėte galimų vartotojo vardų sąrašą faile.
- P : yra galimų slaptažodžių failų sąrašas, naudokite -p, kad pažodžiui naudotumėte vieno žodžio slaptažodį, o ne atspėtumėte.
- testapp.vunlwebapp.com : yra pagrindinio kompiuterio pavadinimas arba taikinys
- http-post-forma : yra mūsų naudojamas paslaugų modulis
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = reikalingi 3 parametrai, sintaksė yra tokia:
{puslapio URL}: {Prašyti įrašo turinio formos parametrų}: S = {Sėkmingai prisijungę raskite viską, kas yra puslapyje} - v = Daugialypis režimas
- V = rodyti prisijungimą: kiekvieno bandymo leidimas
- f = Nutraukti programą, jei pora prisijungimas: slaptažodis rastas
Dabar leiskite hidrai pabandyti sulaužyti mūsų slaptažodį, tam reikia laiko, nes tai yra žodyno ataka. Kai jums pavyko rasti porą prisijungimo duomenų: slaptažodis „hydra“ nedelsiant nutraukia darbą ir parodo galiojančius kredencialus.
„Hydra“ gali padaryti labai daug, nes šioje pamokoje mes ką tik išmokome prisijungti prie interneto naudojant „hydra“, mes mokomės tik vieno protokolo, ty http-post-form protokolo. Taip pat galime naudoti hidrą prieš kitą protokolą, pvz., Ssh, ftp, telnet, VNC, proxy ir kt.