Crack webgebaseerde inlogpagina met Hydra in Kali Linux

Crack Web Based Login Page With Hydra Kali Linux



Een wachtwoord wordt technisch gedefinieerd als een geheime tekenreeks die wordt gebruikt om te verifiëren of toegang te krijgen tot bronnen. Het moet geheim worden gehouden en verborgen blijven voor anderen die geen toegang hebben tot die bronnen. Wachtwoorden worden al sinds de vroegste dagen van de computer gebruikt met computers. Een van de eerste systemen voor het delen van delen, werd geïntroduceerd in 1961. Het had een login-opdracht die om een ​​gebruikerswachtwoord vroeg. Na het typen van PASWOORD, schakelt het systeem het afdrukmechanisme uit, indien mogelijk, zodat de gebruiker zijn wachtwoord met privacy kan intypen.

De sterkte van een wachtwoord is een functie van lengte, complexiteit en onvoorspelbaarheid. Het meet de effectiviteit bij het weerstaan ​​van raden of breken. Zwakke wachtwoorden daarentegen verkorten de tijd die nodig is om te raden en toegang te krijgen tot persoonlijke/zakelijke e-mails, gevoelige gegevens zoals financiële informatie, zakelijke informatie, creditcards, enz.







Er zijn veel manieren waarop een wachtwoord zwak kan zijn, wat overeenkomt met de kracht van verschillende aanvalsschema's. De meest populaire van dit soort legitimatie-aanvallen is brute kracht. het is een methode van vallen en opstaan, zoals raden, proberen versleutelde gegevens te decoderen, zoals wachtwoorden of gegevenscodering die worden gebruikt door een toepassingsprogramma of een hacktool.



Hydra is de snelste netwerkaanmeldingskraker die talloze aanvalsprotocollen ondersteunt. Het is erg snel en flexibel en nieuwe modules zijn eenvoudig toe te voegen. Deze tool maakt het voor onderzoekers en security consultants mogelijk om te laten zien hoe makkelijk het is om op afstand onbevoegd toegang te krijgen tot een systeem. Hydra is geschreven door van Hauser en wordt bovendien ondersteund door David Maciejak. In de laatste update is de ontwikkeling van hydra verplaatst naar de openbare github-repository op: https://github.com/vanhauser-thc/thc-hydra.



Hydra is getest om te compileren op Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/Blackberry en wordt beschikbaar gesteld onder GPLv3 met een speciale OpenSSL-licentie-uitbreiding.





THC Hydra ondersteunt deze protocollen: 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 en v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC en XMPP.

HYDRA VERGELIJKEN MET ANDERE KRAAKGEREEDSCHAP

Naast hydra zijn er ook veel login-cracker-tools, maar geen enkele ondersteunt een enorme lijst met protocollen en parallelle login-cracker-ondersteuning zoals hydra dat doet. Onderstaande tabellen tonen het resultaat van functies, services en snelheidsvergelijkingen met medusa en ncrack.



Functies

Functie Hydra kwallen Ncrack
Vergunning AGPLv3 GPLv2 GPLv2 + Nmap-termen
IPv6-ondersteuning Ja Nee Nee
Grafische gebruikers-interface Ja Ja Nee
Internationale ondersteuning (RFC 4013) Ja Nee Nee
HTTP-proxy-ondersteuning Ja Ja Nee
SOCKS proxy-ondersteuning Ja Nee Nee
Ondersteunde protocollen 51 22 7

Diensten

Crack webgebaseerde inlogpagina met

Onderhoud Details Hydra kwallen Ncrack
ADAM-6500 Ja Nee Nee
AFP Ja Ja Nee
Asterisk Ja Nee Nee
Cisco-wachtwoord Ja Nee Nee
Cisco inschakelen Ja Nee Nee
CVS Ja Ja Nee
Vuurvogel Ja Nee Nee
FTP Ja Ja Ja
SSL-ondersteuning AUTH TLS & FTP via SSL AUTH TLS & FTP via SSL Nee
HTTP Methode(n) KRIJGEN, HOOFD, POST KRIJGEN KRIJGEN
Basisverificatie Ja Ja Ja
HTTP-formulier Methode(n) KRIJGEN, POST KRIJGEN, POST Nee
SSL-ondersteuning HTTPS HTTPS Nee
Http-proxy Basisverificatie Ja Nee Nee
DIGEST-MD5-authenticatie Ja Nee Nee
NTLM-verificatie Ja Nee Nee
SSL-ondersteuning HTTPS Nee Nee
HTTP PROXY URL-opsomming Ja Nee Nee
ICQ v5 Ja
1
Nee Nee
IMAP INLOGGEN ondersteuning Ja Ja Nee
AUTH LOGIN ondersteuning Ja Nee Nee
AUTH PLAIN-ondersteuning Ja Ja Nee
AUTH CRAM-MD5-ondersteuning Ja Nee Nee
AUTH CRAM-SHA1 ondersteuning Ja Nee Nee
AUTH CRAM-SHA256-ondersteuning Ja Nee Nee
AUTH DIGEST-MD5-ondersteuning Ja Nee Nee
AUTH NTLM-ondersteuning Ja Ja Nee
AUTH SCRAM-SHA1 ondersteuning Ja Nee Nee
SSL-ondersteuning IMAPS & STARTTLS IMAPS & STARTTLS Nee
IRC Algemeen serverwachtwoord Ja Nee Nee
OPER-modus wachtwoord Ja Nee Nee
LDAP v2, Eenvoudige ondersteuning Ja Nee Nee
v3, Eenvoudige ondersteuning Ja Nee Nee
v3, AUTH CRAM-MD5-ondersteuning Ja Nee Nee
AUTH DIGEST-MD5-ondersteuning Ja
AUTH NTLM-ondersteuning Ja Ja
AUTH SCRAM-SHA1 ondersteuning Ja
SSL-ondersteuning IMAPS & STARTTLS IMAPS & STARTTLS
IRC Algemeen serverwachtwoord Ja
OPER-modus wachtwoord Ja
LDAP v2, Eenvoudige ondersteuning Ja
v3, Eenvoudige ondersteuning Ja
v3, AUTH CRAM-MD5-ondersteuning Ja
v3, AUTH DIGEST-MD5-ondersteuning Ja
MS-SQL Ja Ja
MySQL v3.x Ja Ja
v4.x Ja Ja
v5.x Ja Ja
NCP Ja Ja
NNTP Gebruikersondersteuning Ja Ja
AUTH LOGIN ondersteuning Ja
AUTH PLAIN-ondersteuning Ja
AUTH CRAM-MD5-ondersteuning Ja
AUTH DIGEST-MD5-ondersteuning Ja
AUTH NTLM-ondersteuning Ja
SSL-ondersteuning STARTTLS & NNTP via SSL
Orakel Database Ja Ja
TNS Luisteraar Ja
SID-opsomming Ja
PC-NFS Ja
pcOveral Native authenticatie Ja Ja
OS-gebaseerde authenticatie (MS) Ja
POP3 Gebruikersondersteuning Ja Ja Ja
APOP-ondersteuning Ja
AUTH LOGIN ondersteuning Ja Ja
AUTH PLAIN-ondersteuning Ja Ja
AUTH CRAM-MD5-ondersteuning Ja
AUTH CRAM-SHA1 ondersteuning Ja
AUTH CRAM-SHA256-ondersteuning Ja
AUTH DIGEST-MD5-ondersteuning Ja
AUTH NTLM-ondersteuning Ja Ja
SSL-ondersteuning POP3S & STARTTLS POP3S & STARTTLS POP3S
PostgreSQL Ja Ja
Asterisk Ja
RDP Windows-werkstation Ja Ja Ja
Windows-server Ja Ja
Domeinverificatie Ja Ja
REDIS Ja Nee
REXEC Ja Ja
AANMELDEN Ja Ja
RPCAP Ja Nee
RSH Ja Ja
RTSP Ja Nee
SAP R / 3 Ja
Siemens S7-300 Ja
slokje Ja
SSL-ondersteuning SIP via SSL
MKB NetBIOS-modus Ja Ja Nee
W2K native-modus Ja Ja Ja
Hash-modus Ja Ja Nee
Tekstverificatie wissen Ja Ja
LMv1-authenticatie Ja Ja Ja
LMv2-authenticatie Ja Ja Ja
NTLMv1-authenticatie Ja Ja Ja
NTLMv2-verificatie Ja Ja Ja
SMTP AUTH LOGIN ondersteuning Ja Ja
AUTH PLAIN-ondersteuning Ja Ja
AUTH CRAM-MD5-ondersteuning Ja
AUTH DIGEST-MD5-ondersteuning Ja
AUTH NTLM-ondersteuning Ja Ja
SSL-ondersteuning SMTPS & STARTTLS SMTPS & STARTTLS
Opsomming SMTP-gebruikers VRFY cmd Ja Ja
EXPN cmd Ja Ja
RCPT NAAR cmd Ja Ja
SNMP v1 Ja Ja
v2c Ja Ja
v3 (alleen MD5/SHA1-verificatie)
SOKKEN v5, Wachtwoordverificatie Ja
SSH v1 Ja
v2 Ja Ja Ja
SSH-sleutels v1, v2 Ja
Subversie (SVN) Ja Ja
Team gesprek TS2 Ja
Telnet Ja Ja Ja
XMPP AUTH LOGIN ondersteuning Ja
AUTH PLAIN-ondersteuning Ja
AUTH CRAM-MD5-ondersteuning Ja
AUTH DIGEST-MD5-ondersteuning Ja
AUTH SCRAM-SHA1 ondersteuning Ja
VMware Auth Daemon v1.00 / v1.10 Ja Ja
SSL-ondersteuning Ja Ja
VNC Ondersteuning voor RFB 3.x-wachtwoord Ja Ja
Ondersteuning voor RFB 3.x gebruiker + wachtwoord (Alleen UltraVNC)
Ondersteuning voor RFB 4.x-wachtwoord Ja Ja
Ondersteuning voor RFB 4.x gebruiker + wachtwoord (Alleen UltraVNC)

Snelheidsvergelijking:

Snelheid (in s) Hydra kwallen Ncrack
1 Taak / FTP-module 11.93 12,97 18.01
4 Taken / FTP-module 4.20 5.24 9.01
16 Taken / FTP-module 2.44 2,71 12.01
1 Taak / SSH v2-module 32.56 33,84 45.02
4 Taken / SSH v2-module 10,95 Gebroken gemist
16 Taken / SSH v2-module 5.14 Gebroken gemist

Dat was een korte eenvoudige introductie tot hydra. Laten we nu verder gaan met de installatie.

HYDRA INSTALLEREN

Hydra is vooraf geïnstalleerd op kali linux, maar als u een ander besturingssysteem heeft, kunt u het compileren en op uw systeem installeren. Momenteel ondersteunt hydra op verschillende platforms:

  • Alle UNIX-platforms (Linux, *bsd, Solaris, enz.)
  • MacOS (eigenlijk een BSD-kloon)
  • Windows met Cygwin (zowel IPv4 als IPv6)
  • Mobiele systemen op basis van Linux, MacOS of QNX (bijv. Android, iPhone, Blackberry 10, Zaurus, iPaq)

Om hydra te downloaden, configureren, compileren en installeren, typt u gewoon in terminal:

git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install 

Als je Ubuntu/Debian hebt, heb je een aantal afhankelijkheidsbibliotheken nodig:

apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev 

Als u die bibliotheken niet in uw repository kunt vinden, moet u ze handmatig downloaden en installeren.

HOE HYDRA TE GEBRUIKEN

Gefeliciteerd, nu is het je gelukt om hydra op je systeem te installeren. Eigenlijk wordt Hydra geleverd met twee smaken, GUI-gtk en mijn favoriete, CLI-versie. en daarnaast heeft hydra ook een CLI-geleide versie, de zogenaamde hydra-wizard. U wordt stap voor stap begeleid in plaats van alle opdrachten of argumenten handmatig in de terminal te typen. Om hydra uit te voeren, vanuit uw terminaltype:

Voor CLI:

hydra

Voor CLI-wizard:

hydra-wizard

Voor GUI:

xhydra

Nadat je 'hydra' hebt getypt, worden help-opdrachten als deze weergegeven:

 [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 webgebaseerde login met hydra

Hydra ondersteunt een of andere bruteforcing-service, zoals ik eerder al zei, een ervan wordt gebruikt om webgebaseerde logins bruteforce, zoals het inlogformulier voor sociale media, het inlogformulier voor gebruikersbankieren, de webgebaseerde login van uw router, enz. Dat http[s]-get-form die dit verzoek zal behandelen. In deze tutorial laat ik je zien hoe je kwetsbare web-logins bruteforceren. Voordat we hydra starten, moeten we enkele benodigde argumenten kennen, zoals hieronder:

  • Doelwit : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
  • Login gebruikersnaam : beheerder (als je het niet zeker weet, bruteforce dit dan)
  • Wachtwoordlijst : De locatie van de lijst met woordenboekbestanden met mogelijke wachtwoorden.
  • Formulierparameters : gebruik in het algemeen sabotagegegevens of proxy om de vorm van verzoekparameters te verkrijgen. Maar hier gebruik ik iceweasel, firefox gebaseerde, netwerkontwikkelaarswerkbalk.
  • Servicemodule : http-post-formulier
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.

Verkrijgen van post parameters met behulp van browser, iceweasel/firefox

Druk in uw Firefox-browser op de toetsen ' CTRL + SHIFT + Q ‘. Open vervolgens de inlogpagina van het webhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, zult u merken dat er tekst op het tabblad netwerkontwikkelaars verschijnt. Het vertelt u welke bestanden aan ons worden overgedragen. Zie de methode die allemaal GET zijn, omdat we nog geen gegevens hebben POST.

Typ wat dan ook in het gebruikersnaam- en/of wachtwoordformulier om de post-form parameters te verkrijgen. U zult een nieuwe POST-methode opmerken op het tabblad netwerkontwikkelaar. Dubbelklik op die regel, klik op het tabblad Kopteksten op de knop Bewerken en opnieuw verzenden aan de rechterkant. Kopieer op de Request Body de laatste regel, zoals: tfUName = asu & tfUPass = raimu . de tfUNaam en tfUPass zijn parameters die we nodig hebben. Zoals hieronder te zien is:

Kali linux heeft een heleboel woordenlijsten, kies de juiste woordenlijst of gebruik gewoon rockyou.txt in /usr/delen/woordenlijsten/ zoals hieronder te zien:

Oké, nu hebben we alle argumenten die we nodig hebben en klaar om hydra op te starten. Hier is het commandopatroon:

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

Laten we de commando's opsplitsen:

  • de : is een woord met gebruikersnaam account, gebruik -L om naar een lijst met mogelijke gebruikersnaam in een bestand te verwijzen.
  • P : is een bestandslijst met mogelijke wachtwoorden, gebruik -p om letterlijk één woord wachtwoord te gebruiken in plaats van het te raden.
  • testapp.vunlwebapp.com : is een hostnaam of doel
  • http-post-formulier : is de servicemodule die we gebruiken
  • /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=uitloggen = de 3 benodigde parameters, de syntaxis is:
    {page URL}:{Verzoek post body form parameters}:S={Vind wat dan ook op de pagina na succesvol ingelogd te zijn}
  • v = Uitgebreide modus
  • V = toon login:pas voor elke poging
  • F = Beëindig programma als paar login:wachtwoord is gevonden

Laten we hydra nu proberen het wachtwoord voor ons te kraken, het heeft tijd nodig omdat het een woordenboekaanval is. Zodra u erin bent geslaagd een paar login:wachtwoord te vinden, beëindigt hydra de taak onmiddellijk en toont de geldige referentie.

Er is zoveel dat hydra zou kunnen doen, omdat we in deze tutorial zojuist hebben geleerd hoe we op het web kunnen inloggen met hydra, we leren maar één protocol, namelijk het http-post-form protocol. We kunnen hydra ook gebruiken tegen een ander protocol zoals ssh, ftp, telnet, VNC, proxy, enz.