🔐 Wykorzystanie narzędzi do łamania haseł: Hashcat i John the Ripper w akcji
Łamanie haseł to jedna z najbardziej rozpoznawalnych i najczęściej analizowanych technik w świecie ofensywnego bezpieczeństwa informatycznego. Choć kojarzy się głównie z atakami typu brute force, w rzeczywistości opiera się na zaawansowanej analizie kryptograficznej i automatyzacji. Dwa z najpopularniejszych narzędzi wykorzystywanych w tym celu to Hashcat oraz John the Ripper. Poniżej znajdziesz szczegółowy przegląd ich działania, zastosowań i różnic.
📘 Czym są Hashcat i John the Ripper?
🔍 Hashcat – to potężne narzędzie do łamania haseł wykorzystujące GPU do przyspieszenia obliczeń. Obsługuje ogromną liczbę algorytmów haszujących (np. MD5, SHA-1, SHA-256, bcrypt, NTLM).
🧠 John the Ripper (JtR) – jedno z najstarszych narzędzi do łamania haseł, wspierające zarówno klasyczne ataki jak i metody hybrydowe. Posiada również wersję rozszerzoną – Jumbo, oferującą wsparcie dla dodatkowych formatów haseł i plików.

🧪 Jak działają narzędzia do łamania haseł?
🔄 Krok 1: Zdobycie hasha
Aby rozpocząć proces łamania haseł, atakujący musi zdobyć ich skróty (hash’e) – np. z pliku shadow w systemach Linux, z baz danych SQL lub plików SAM w systemach Windows.
🧬 Krok 2: Wybór metody ataku
🔹 Słownikowy (dictionary attack)
Wykorzystuje listę haseł do porównywania ich skrótów z przechwyconym hashem.
🔹 Brute Force
Sprawdza każdą możliwą kombinację znaków. Skuteczna, ale czasochłonna.
🔹 Mask Attack
Optymalizowana wersja brute force – np. ?u?l?l?d?d (wielka litera, dwie małe litery, dwie cyfry).
🔹 Ataki hybrydowe
Kombinacja słownika i reguł manipulacji – np. dodawanie liczb, zamiana liter (p@ssw0rd zamiast password).
🚀 Hashcat – zastosowanie w praktyce
✅ Zalety:
- Obsługa GPU (CUDA/OpenCL),
- Ogromna liczba wspieranych algorytmów,
- Różne tryby ataku: dictionary, combinator, mask, rule-based.
📌 Przykład komendy:
hashcat -m 0 -a 0 hashes.txt rockyou.txt
-m 0— tryb dla MD5,-a 0— atak słownikowy,hashes.txt— plik z haszami,rockyou.txt— słownik haseł.
🔧 John the Ripper – elastyczne narzędzie offline
✅ Zalety:
- Szeroka kompatybilność systemowa (Windows, Linux, macOS),
- Obsługa różnych formatów: raw, crypt, NTLM, bcrypt,
- Tryb autodetekcji algorytmu haszowania.
📌 Przykład użycia:
john --wordlist=rockyou.txt hashes.txt
Po złamaniu haseł można je wyświetlić komendą:
john --show hashes.txt
🧰 Hashcat vs John the Ripper – porównanie
| Funkcja | Hashcat | John the Ripper |
|---|---|---|
| Wydajność | Bardzo wysoka (GPU) | Wysoka (CPU) |
| Tryby ataku | Słownikowy, mask, hybrydowy | Słownikowy, brute, hybrydowy |
| Obsługa algorytmów | Szeroka (ponad 300) | Szeroka (szczególnie w wersji Jumbo) |
| Obsługa GPU | ✅ TAK | 🔶 Częściowo w wersji Jumbo |
| Obsługa platform | Windows, Linux, macOS | Windows, Linux, macOS |
| Interfejs | CLI | CLI |
🔒 Etyka i legalność
🔴 UWAGA: Łamanie haseł bez wyraźnej zgody właściciela systemu jest nielegalne i podlega karze. Opisywane narzędzia służą jedynie do testów penetracyjnych i audytów bezpieczeństwa w środowiskach testowych lub za zgodą klienta.
🛡️ Zabezpieczenia przed łamaniem haseł
🎯 Oto, jak zabezpieczyć systemy przed atakami offline:
- Używanie silnych haseł (długość + złożoność),
- Wykorzystywanie hashy typu slow hash – np. bcrypt, scrypt, Argon2,
- Sól (salt) przy haszowaniu – unikalna dla każdego użytkownika,
- Ograniczenie liczby prób logowania (Rate Limiting),
- Uwierzytelnianie dwuskładnikowe (2FA),
- Szyfrowanie bazy danych z hasłami.
✅ Podsumowanie
Narzędzia takie jak Hashcat i John the Ripper są podstawowymi elementami zestawu każdego pentestera i specjalisty ds. bezpieczeństwa. Umiejętność korzystania z nich pozwala lepiej zrozumieć zagrożenia związane ze słabym hasłowaniem i wdrażać skuteczne mechanizmy obronne. Pamiętaj – potężne narzędzia wiążą się z wielką odpowiedzialnością.






