Hasło jest technicznie zdefiniowane jako tajny ciąg znaków używanych do uwierzytelniania lub uzyskiwania dostępu do zasobów. Musi być trzymany w tajemnicy i ukryty przed innymi, których nie wolno uzyskać dostępu do tych zasobów. Hasła były używane z komputerami od najwcześniejszych dni komputerów. Jeden z systemów dzielenia się po raz pierwszy, został wprowadzony w 1961 roku. Miał polecenie logowania, które poprosiło o hasło użytkownika. Po wpisaniu „hasła” system wyłącza mechanizm drukowania, jeśli to możliwe, aby użytkownik mógł wpisać swoje hasło z prywatnością.
Siła hasła jest funkcją długości, złożoności i nieprzewidywalności. Mierzy skuteczność w opieraniu się zgadywaniu lub łamaniu. Z drugiej strony słabe hasła skracają czas niezbędny do zgadywania i uzyskania dostępu do osobistych/korporacyjnych e-maili, poufne dane, takie jak informacje finansowe, informacje biznesowe, karty kredytowe itp.
Istnieje wiele sposobów, w jakie hasło może być słabe odpowiadające mocy mocnej strony różnych schematów ataku. Najpopularniejszym z tego rodzaju poświadczonym atakiem jest brutalna siła. Jest to metoda prób i błędów, taka jak zgadywanie, próba dekodowania zaszyfrowanych danych, takich jak hasło lub szyfrowanie danych używane przez program aplikacyjny lub „narzędzie hakerskie”.
Hydra jest najszybszym krakerinem logowania sieciowego, który obsługuje liczne protokoły ataku. Jest bardzo szybki i elastyczny, a nowe moduły są łatwe do dodania. To narzędzie umożliwia naukowcom i konsultantom ds. Bezpieczeństwa pokazanie, jak łatwo byłoby zdalnie uzyskać nieautoryzowany dostęp do systemu. Hydra została napisana przez Van Hausera i dodatkowo wspierana przez Davida Maciejaka. W najnowszej aktualizacji Hydra Development zostaje przeniesiony do publicznego repozytorium Github pod adresem: https: // github.com/vanhauser-thc/thc-hydra.
Hydra przetestowano w celu skompilowania w systemie Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/Blackberry i jest udostępniany w ramach GPLV3 ze specjalnym rozszerzeniem licencji OpenSSL.
THC Hydra obsługuje te protokoły: 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, SIP, SIP, SIP, SIP, SMB (NT), SMTP, SMTP ENUM, SNMP V1+V2+V3, SOCKS5, SSH (V1 i V2), Sshkey, Subversion, TeamSpeak (TS2), Telnet, VMware-Auth, VNC i XMPP.
Porównanie Hydry z innymi narzędziami do pękania
Istnieje również narzędzia krakersy logowania obok Hydra, jednak żadna nie obsługuje ogromnej listy protokołów i równoległej obsługi krakersów logowania, takiej jak Hydra. Tabele poniżej pokazują wynik funkcji, usług i porównywania prędkości z Medusą i Ncrack.
Cechy
Funkcja | Hydra | Medusa | Ncrack |
---|---|---|---|
Licencja | AGPLV3 | GPLV2 | Warunki GPLV2 + NMAP |
Obsługa IPv6 | Tak | NIE | NIE |
Graficzny interfejs użytkownika | Tak | Tak | NIE |
Międzynarodowe wsparcie (RFC 4013) | Tak | NIE | NIE |
Obsługa proxy HTTP | Tak | Tak | NIE |
Skarpetki proxy wsparcie | Tak | NIE | NIE |
Obsługiwane protokoły | 51 | 22 | 7 |
Usługi
Crack Web Login Strona z
Praca | Detale | Hydra | Medusa | Ncrack | |
---|---|---|---|---|---|
Adam-6500 | Tak | NIE | NIE | ||
AFP | Tak | Tak | NIE | ||
Gwiazdka | Tak | NIE | NIE | ||
Hasło Cisco | Tak | NIE | NIE | ||
Cisco włącza | Tak | NIE | NIE | ||
CVS | Tak | Tak | NIE | ||
ognisty Ptak | Tak | NIE | NIE | ||
Ftp | Tak | Tak | Tak | ||
Wsparcie SSL | Auth TLS & FTP nad SSL | Auth TLS & FTP nad SSL | NIE | ||
Http | Metody (y) | Zdobądź, głow, post | DOSTAWAĆ | DOSTAWAĆ | |
Basic Auth | Tak | Tak | Tak | ||
Formularz HTTP | Metody (y) | Zdobądź, post | Zdobądź, post | NIE | |
Wsparcie SSL | Https | Https | NIE | ||
Http Proxy | Basic Auth | Tak | NIE | NIE | |
Digest-MD5 Auth | Tak | NIE | NIE | ||
NTLM Auth | Tak | NIE | NIE | ||
Wsparcie SSL | Https | NIE | NIE | ||
Wyliczenie adresu URL proxy HTTP | Tak | NIE | NIE | ||
ICQ | v5 | Tak 1 | NIE | NIE | |
Imap | Obsługa logowania | Tak | Tak | NIE | |
Obsługa logowania do autoryzacji | Tak | NIE | NIE | ||
Utrzymanie zwykłego wsparcia | Tak | Tak | NIE | ||
Wsparcie Auth CRAM-MD5 | Tak | NIE | NIE | ||
Wsparcie Auth Cram-SHA1 | Tak | NIE | NIE | ||
Wsparcie Auth Cram-SHA256 | Tak | NIE | NIE | ||
Wsparcie Auth Digest-MD5 | Tak | NIE | NIE | ||
Wsparcie Auth NTLM | Tak | Tak | NIE | ||
Wsparcie Auth Scram-SHA1 | Tak | NIE | NIE | ||
Wsparcie SSL | IMAPS & starttls | IMAPS & starttls | NIE | ||
IRC | Ogólne hasło do serwera | Tak | NIE | NIE | |
Hasło trybu operowego | Tak | NIE | NIE | ||
LDAP | v2, proste wsparcie | Tak | NIE | NIE | |
v3, proste wsparcie | Tak | NIE | NIE | ||
V3, wsparcie Auth CRAM-MD5 | Tak | NIE | NIE | ||
Wsparcie Auth Digest-MD5 | Tak | ||||
Wsparcie Auth NTLM | Tak | Tak | |||
Wsparcie Auth Scram-SHA1 | Tak | ||||
Wsparcie SSL | IMAPS & starttls | IMAPS & starttls | |||
IRC | Ogólne hasło do serwera | Tak | |||
Hasło trybu operowego | Tak | ||||
LDAP | v2, proste wsparcie | Tak | |||
v3, proste wsparcie | Tak | ||||
V3, wsparcie Auth CRAM-MD5 | Tak | ||||
V3, wsparcie Auth Digest-MD5 | Tak | ||||
MS-SQL | Tak | Tak | |||
Mysql | v3.X | Tak | Tak | ||
v4.X | Tak | Tak | |||
v5.X | Tak | Tak | |||
NCP | Tak | Tak | |||
Nntp | Wsparcie użytkownika | Tak | Tak | ||
Obsługa logowania do autoryzacji | Tak | ||||
Utrzymanie zwykłego wsparcia | Tak | ||||
Wsparcie Auth CRAM-MD5 | Tak | ||||
Wsparcie Auth Digest-MD5 | Tak | ||||
Wsparcie Auth NTLM | Tak | ||||
Wsparcie SSL | Starttls i nntp nad SSL | ||||
Wyrocznia | Baza danych | Tak | Tak | ||
TNS Listener | Tak | ||||
Sid wyliczenie | Tak | ||||
PC-NFS | Tak | ||||
PCanywhere | Uwierzytelnianie natywne | Tak | Tak | ||
Uwierzytelnianie oparte na systemie operacyjnym (MS) | Tak | ||||
Pop3 | Wsparcie użytkownika | Tak | Tak | Tak | |
Wsparcie Apop | Tak | ||||
Obsługa logowania do autoryzacji | Tak | Tak | |||
Utrzymanie zwykłego wsparcia | Tak | Tak | |||
Wsparcie Auth CRAM-MD5 | Tak | ||||
Wsparcie Auth Cram-SHA1 | Tak | ||||
Wsparcie Auth Cram-SHA256 | Tak | ||||
Wsparcie Auth Digest-MD5 | Tak | ||||
Wsparcie Auth NTLM | Tak | Tak | |||
Wsparcie SSL | POP3S & STARTTLS | POP3S & STARTTLS | Pop3 | ||
PostgreSQL | Tak | Tak | |||
Gwiazdka | Tak | ||||
RDP | Windows Workstation | Tak | Tak | Tak | |
Windows Server | Tak | Tak | |||
Utwór domeny | Tak | Tak | |||
Redis | Tak | NIE | |||
Rexec | Tak | Tak | |||
Rlogin | Tak | Tak | |||
RPCAP | Tak | NIE | |||
Rsh | Tak | Tak | |||
RTSP | Tak | NIE | |||
SAP R/3 | Tak | ||||
Siemens S7-300 | Tak | ||||
łyk | Tak | ||||
Wsparcie SSL | Popijaj SSL | ||||
SMB | Tryb Netbios | Tak | Tak | NIE | |
Tryb natywny W2K | Tak | Tak | Tak | ||
Tryb HASH | Tak | Tak | NIE | ||
Wyraźny tekst | Tak | Tak | |||
LMV1 Auth | Tak | Tak | Tak | ||
LMV2 Auth | Tak | Tak | Tak | ||
NTLMV1 Auth | Tak | Tak | Tak | ||
NTLMV2 Auth | Tak | Tak | Tak | ||
SMTP | Obsługa logowania do autoryzacji | Tak | Tak | ||
Utrzymanie zwykłego wsparcia | Tak | Tak | |||
Wsparcie Auth CRAM-MD5 | Tak | ||||
Wsparcie Auth Digest-MD5 | Tak | ||||
Wsparcie Auth NTLM | Tak | Tak | |||
Wsparcie SSL | SMTPS i starttls | SMTPS i starttls | |||
Enum użytkownika SMTP | VRFY CMD | Tak | Tak | ||
Expn cmd | Tak | Tak | |||
RCPT do CMD | Tak | Tak | |||
Snmp | v1 | Tak | Tak | ||
V2C | Tak | Tak | |||
v3 | (Tylko MD5/SHA1 Auth) | ||||
SKARPETY | v5, hasło auth | Tak | |||
Ssh | v1 | Tak | |||
v2 | Tak | Tak | Tak | ||
Klucze SSH | v1, v2 | Tak | |||
Subversion (SVN) | Tak | Tak | |||
Teamspeak | TS2 | Tak | |||
Telnet | Tak | Tak | Tak | ||
XMPP | Obsługa logowania do autoryzacji | Tak | |||
Utrzymanie zwykłego wsparcia | Tak | ||||
Wsparcie Auth CRAM-MD5 | Tak | ||||
Wsparcie Auth Digest-MD5 | Tak | ||||
Wsparcie Auth Scram-SHA1 | Tak | ||||
Demon VMware Auth | v1.00 / v1.10 | Tak | Tak | ||
Wsparcie SSL | Tak | Tak | |||
VNC | RFB 3.X Obsługa hasła | Tak | Tak | ||
RFB 3.x obsługa użytkownika+hasło | (Tylko UltravNC) | ||||
RFB 4.X Obsługa hasła | Tak | Tak | |||
RFB 4.x obsługa użytkownika+hasło | (Tylko UltravNC) |
Porównanie prędkości
Prędkość (w s) | Hydra | Medusa | Ncrack |
---|---|---|---|
1 moduł zadania / ftp | 11.93 | 12.97 | 18.01 |
4 zadania / moduł FTP | 4.20 | 5.24 | 9.01 |
16 zadań / moduł FTP | 2.44 | 2.71 | 12.01 |
1 moduł zadania / ssh v2 | 32.56 | 33.84 | 45.02 |
4 zadania / moduł SSH v2 | 10.95 | Złamany | Pominięty |
16 zadań / moduł SSH v2 | 5.14 | Złamany | Pominięty |
To było krótkie proste wprowadzenie do Hydry. Teraz przejdźmy do instalacji.
Instalowanie Hydra
Hydra jest wstępnie zainstalowana na Kali Linux, jednak jeśli masz inny system operacyjny, możesz go skompilować i zainstalować w swoim systemie. Obecnie wsparcie Hydra na różnych platformach:
Aby pobrać, skonfigurować, skompilować i zainstalować Hydra, po prostu wpisz do terminalu:
Git Clone https: // github.com/vanhauser-thc/thc-hydra.git
CD thc-hydra
./skonfiguruj
robić
Zrób instalację
Jeśli masz Ubuntu/Debian, będziesz potrzebować bibliotek zależności:
apt instaluj libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Jeśli nie możesz znaleźć tych bibliotek w swoim repozytorium, musisz je pobrać i zainstalować ręcznie.
Jak używać Hydra
Gratulacje, teraz udało ci się zainstalować Hydra w swoim systemie. Właściwie Hydra jest wyposażona w dwa smaki, gui-gtk i moją ulubioną wersję CLI. a ponadto Hydra ma również wersję z przewodnikiem CLI, nazywa się „hydra-wizard”. Zostaniesz kierowany krok po kroku zamiast wpisywać wszystkie polecenia lub argumenty ręcznie w terminalu. Aby uruchomić hydrę, z typu terminala:
Dla CLI:
hydra
Dla Cli-Wizard:
hydra-wizard
Dla GUI:
xhydra
Po wpisaniu „hydra” wyświetli takie polecenia pomocy:
root@kali: ~# hydra -h
Hydra V8.6 (c) 2017 autorstwa Van Hauser/THC i David Maciejak - tylko do celów prawnych
Składnia: hydra [[[-l login | -l] [-p Pass | -p Plik]] | [-C plik]] [-e nsr] [-o plik] [-t zadania] [-m plik [-t zadania]] [-w czas] [-w czas] [-f] [-s port] [-x min: maks.: charset] [-SUVV46] [service: // server [: port] [/opt]]]
Opcje:
-R Przywróć poprzednią przerwaną/rozbitą sesję
-S Wykonaj połączenie SSL
-Port s Jeśli usługa znajduje się w innym domyślnym porcie, zdefiniuj go tutaj
-l Zaloguj się lub -l login z nazwą logowania lub załaduj kilka loginów z pliku
-p plik lub -p Plik wypróbuj hasło przekaż lub załaduj kilka haseł z pliku
-X min: Max: Hasło do zbrojenia Bruteforce Generowanie, typ „-x -h”, aby uzyskać pomoc
-E nsr spróbuj „n” null hasło, „login” S ”jako przełęcz i/lub„ r ”login
-U użytkowników, a nie hasła (skuteczne! implikowane z -x)
-Plik c Plik okrężnicy oddzielony „login: Pass”, zamiast opcji -l/-p
-L lista plików serwerów, które należy atakować równolegle, jeden wpis na wiersz
-o Plik zapisu Znaleziono pary logowania/hasła do pliku zamiast stdout
-F / -f Wyjście, gdy znajduje się para logowania / przepustki (-m: -f na host, -f globalny)
-t Zadania uruchamiane zadania liczba połączeń równolegle (na host, domyślnie: 16)
-W / -w czas na odpowiedzi (32s) / między łączami na wątek
-4 / -6 Preferuj adresy IPv4 (domyślnie) lub IPv6
-V / -V / -D WSKAZÓWKI TRYB WSKAZÓWKI / POWAD LOGIN+PASS dla każdego trybu próby / debugowania
-Szczegóły dotyczące użycia modułu serwisowego U
serwer serwer docelowy (użyj tej lub opcji -m)
Usługa usługi do pęknięcia (patrz poniżej obsługiwane protokoły)
Wybierz niektóre moduły serwisowe obsługują dodatkowe dane wejściowe (-u dla pomocy modułu)
Obsługiwane usługi: asterisk AFP Cisco Cisco-Enable CVS Firebird ftp ftps http [s]-head | get http [s]-get | Post -Form Http-Proxy Http-Proxy-Urenum ICQ IMAP [S] IRC LDAP2 [s] ldap3 [-cram | digest md5] [s] mssql mysql ncp nntp Oracle-Listener Oracle-sid pcanywhere pcnfs pop3 [Postgres RDP rexec rlogin rsh s7-300 SIP SMB SMB [S] SMTP-enum Snmp Snmp Socks5 Ssh Sshkey SVN TeamSpeak Telnet [S] Vmauthd VNC XMPP
Hydra to narzędzie do zgadywania/cracania prawidłowe pary logowania/hasła - użytkowanie dozwolone tylko do celów prawnych. To narzędzie jest licencjonowane w ramach AGPL V3.0.
Najnowsza wersja jest zawsze dostępna na stronie http: // www.thc.org/thc-hydra
Usługi te nie zostały skompilowane w: SAPR3 Oracle.
Użyj hydra_proxy_http lub hydra_proxy - i w razie potrzeby hydra_proxy_auth - środowisko do konfiguracji proxy.
mi.G.: % eksport hydra_proxy = Socks5: // 127.0.0.1: 9150 (lub Socks4: // lub podłącz: //)
% Eksportuj hydra_proxy_http = http: // proxy: 8080
% Eksportuj hydra_proxy_auth = użytkownik: Pass
Przykłady:
hydra -l użytkownika -p Passlist.txt ftp: // 192.168.0.1
HYDRA -L LISTA Użytkownicy.txt -p defaultpw imap: // 192.168.0.1/Plain
Hydra -C domyślnie.TXT -6 POP3S: // [FE80 :: 2C: 31ff: Fe12: AC11]: 143/TLS: Digest -MD5
hydra -l admin -p hasło ftp: // [192.168.0.0/24]/
Loginy hydra -l.TXT -p PWS.TXT -M.txt ssh
Logowanie oparte na sieci Bruteforce z Hydra
Hydra obsługuje pewną brutalną usługę, jak wspomniałem wcześniej, jedna z nich służy do loginów internetowych Bruteforce, takich jak formularz logowania mediów społecznościowych, formularz logowania bankowości użytkowników, login oparty na routerze itp. Że „http [s]-get | post -Form”, które poradzi sobie z tym żądaniem. W tym samouczku pokażę ci, jak brutalne wrażliwe loginy internetowe. Zanim zwolnimy Hydrę, powinniśmy znać kilka potrzebnych argumentów, takich jak:
Pomoc dla modułu HTTP-post-form:
Moduł HTTP-post-forma wymaga strony i parametrów dla formularza internetowego. Domyślnie ten moduł jest skonfigurowany do maksymalnie 5 przekierowań z rzędu. Zawsze gromadzi nowe ciasteczka z tego samego adresu URL bez zmiennych Parametry przyjmują trzy wartości „:”, a także wartości opcjonalne. (Uwaga: jeśli potrzebujesz okrężnicy w ciągu opcji jako wartości, uciekaj z „\:”, ale nie uciekaj „\” z „\\”.)
Składnia:
[URL]: [Parametry formularza]: [warunek ciąg] [:( opcjonalnie) [:( opcjonalnie)]
W tym miejscu większość ludzi źle to rozumie. Musisz sprawdzić, jak wygląda nieudany ciąg i umieścić go w tym parametrze!
Poniższe parametry są opcjonalne:
C =/page/URI, aby zdefiniować inną stronę, aby zebrać początkowe pliki cookie z (h | h) = my-hdr \: foo, aby wysłać nagłówek http zdefiniowany przez użytkownika z każdym żądaniem ^ i ^ Pass ^ można również włożyć te nagłówki!
Notatka: „H” doda na końcu zdefiniowany przez użytkownika nagłówek, niezależnie od tego, że jest już wysyłany przez Hydra, czy nie. „H” zastąpi wartość tego nagłówka, jeśli istnieje, przez to dostarczone przez użytkownika, lub dodaj nagłówek na końcu.
Pamiętaj, że jeśli zamierzasz włożyć kolony (:) w nagłówkach, powinieneś uciec je z backslash (\). Wszystkie kolony, które nie są separatorami opcji, należy uciec (patrz przykłady powyżej i poniżej). Możesz określić nagłówek bez ucieczki z okrężnicy, ale w ten sposób nie będziesz mógł umieścić okołów w samej wartości nagłówka, ponieważ będą one interpretowane przez Hydra jako separatory opcji.
Uzyskanie parametrów postu za pomocą przeglądarki, lodowości/przeglądarki Firefox
W przeglądarce Firefox naciśnij klawiszeCtrl + Shift + Q'. Następnie otwórz stronę logowania internetowego http: // testasp.VulnWeb.com/login.żmija?Returl =%2fdefault%2EASP%3F, zauważysz, że jakiś tekst pojawi się na karcie Deweloper Network. Mówi ci, jakie pliki są do nas przesyłane. Zobacz, jak wszystko się dostaje, ponieważ nie opublikowaliśmy jeszcze żadnych danych.
Aby uzyskać parametry po formie, wpisz cokolwiek w formie nazwy użytkownika i lub hasła. Zauważysz nową metodę postu na karcie Deweloper Network. Kliknij dwukrotnie ten wiersz, na karcie „Nagłówki” Kliknij przycisk „Edytuj i ponownie” po prawej stronie. Na żądanie Kopiuj ostatni wiersz, taki jak „Tfuname = ASU & tfupass = Raimu”. „Tfuname” I „Tfupass” to parametry, których potrzebujemy. Jak widać poniżej:
Kali Linux ma kilka list słów, wybierz odpowiednią listę słów lub po prostu użyj Rockyou.txt miejsce /usr/share/sordLists/ Jak widać poniżej:
W porządku, teraz mamy wszystkie argumenty, których potrzebujemy i gotowi do zwolnienia Hydry. Oto wzorzec poleceń:
hydra -l-P
Wreszcie, w oparciu o informacje, które zebraliśmy, nasze polecenia powinny wyglądać mniej więcej tak:
hydra -l admin -p/usr/share/słowniki/rockyou.TXT Testasp.VulnWeb.com http-post-form ”/login.żmija?Returl =%2fdefault%2easp%3f: tfuname =^Użytkownik^& tfupass =^Pass^: s = logout "-vv -f
Rozbijmy polecenia:
Teraz pozwólmy, aby Hydra próbowała złamać hasło dla nas, potrzebuje czasu, ponieważ jest to atak słownika. Po odniesieniu sukcesu w znalezieniu loginu: Hasło Hydra natychmiast zakończy zadanie i pokaże prawidłowe poświadczenie.
Jest tak wiele, co Hydra mogła zrobić, ponieważ w tym samouczku właśnie nauczyliśmy się logowania opartego na sieci Bruteforce za pomocą Hydra, uczymy się tylko jednego protokołu, czyli protokołu HTTP-post-formy. Możemy również użyć HYDRA przeciwko kolejnemu protokołowi, takimi jak SSH, FTP, Telnet, VNC, proxy itp.