Łamanie hashy
Identyfikowanie i atakowanie
Łamanie hashy to bezpłatna lekcja Ethical Hacking Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ethical Hacking Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.
Dlaczego łamać skróty?
Podczas realizacji zlecenia często odzyskuje się skróty haseł z baz danych, plików konfiguracyjnych lub zrzutów pamięci. Ich złamanie potwierdza używanie słabych haseł i pokazuje klientowi rzeczywiste skutki takiej sytuacji.
Proszę pamiętać: funkcja skrótu działa jednokierunkowo. Nie można bezpośrednio odwrócić skrótu. Zamiast tego należy zgadywać dane wejściowe, obliczać skrót dla każdej próby i porównywać go ze skrótem docelowym.
Krok 1: identyfikacja skrótu
Przed rozpoczęciem łamania trzeba wiedzieć, który algorytm wygenerował skrót. Wskazówkami są jego długość i format:
- 32 znaki szesnastkowe prawdopodobnie oznaczają MD5.
- 40 znaków szesnastkowych prawdopodobnie oznacza SHA-1.
- 64 znaki szesnastkowe prawdopodobnie oznaczają SHA-256.
- Prefiks
$2b$oznacza bcrypt, a$argon2— Argon2.
Narzędzia do identyfikacji
Narzędzia automatyzują identyfikację skrótów, więc nie trzeba zgadywać. hashid i hash-identifier analizują format i sugerują prawdopodobne algorytmy.
Wynik wskazuje, który numer mode należy przekazać narzędziu do łamania.
hashid '5f4dcc3b5aa765d61d8327deb882cf99'
# Suggests: MD5, MD4, NTLM ...Ataki słownikowe
Atak słownikowy (wordlist) sprawdza każde słowo z listy, oblicza jego skrót i porównuje go ze skrótem docelowym. Jest szybki i skutecznie wykrywa hasła pospolite, wybierane przez ogromną liczbę użytkowników.
Słynna lista rockyou.txt zawiera miliony prawdziwych, wyciekłych haseł i jest domyślnym punktem wyjścia dla większości prób łamania.
Ataki brute force
Atak brute force sprawdza każdą możliwą kombinację znaków. Z czasem na pewno się powiedzie, ale jego koszt rośnie wykładniczo.
Zakres ataku można ograniczyć za pomocą maski, na przykład do dokładnie 8 znaków zawierających małe litery i cyfry. Maski ułatwiają ukierunkowane ataki brute force, gdy znają Państwo zasady tworzenia haseł.
?l = lowercase ?u = uppercase ?d = digit ?s = symbol
# Mask ?u?l?l?l?l?d?d = Capital + 4 lower + 2 digitsAtaki oparte na regułach
Użytkownicy przewidywalnie modyfikują podstawowe słowa: „password” zmienia się w „Password1!”. Ataki oparte na regułach stosują do każdego wpisu z wordlisty transformacje, takie jak zmiana pierwszej litery na wielką, dopisanie roku czy zastępowanie liter cyframi.
Metoda ta wykrywa realistyczne hasła tworzone przez ludzi bez kosztu pełnego ataku brute force. Zestaw reguł best64 jest popularnym i wydajnym punktem wyjścia.
Hashcat
hashcat to wiodące narzędzie do łamania skrótów z akceleracją GPU. Używa numerycznych kodów mode dla poszczególnych algorytmów oraz flagi attack mode (-a 0 oznacza atak słownikowy, a -a 3 brute force).
W przypadku szybkich skrótów, takich jak MD5 i SHA, GPU pozwala narzędziu hashcat działać znacznie szybciej niż łamanie z użyciem CPU.
hashcat -m 0 -a 0 hashes.txt rockyou.txt
# -m 0 = MD5, -a 0 = dictionary attackJohn the Ripper
John the Ripper to kolejne klasyczne narzędzie do łamania skrótów, skuteczne na CPU i obsługujące wiele formatów. Często automatycznie wykrywa typ skrótu.
John zawiera przydatne narzędzia pomocnicze, takie jak unshadow, które łączy pliki /etc/passwd i /etc/shadow systemu Linux w plik gotowy do łamania.
unshadow /etc/passwd /etc/shadow > combined.txt
john --wordlist=rockyou.txt combined.txt
john --show combined.txtDlaczego solenie i wolne skróty wygrywają
Szybkość łamania w dużej mierze zależy od algorytmu:
- GPU może sprawdzić miliardy prób MD5 na sekundę.
- bcrypt lub Argon2 mogą z założenia pozwalać na zaledwie kilka tysięcy prób na sekundę.
Salts zmuszają również do łamania każdego skrótu osobno, eliminując skrót używany przez tablice tęczowe. Właśnie dlatego obrońcy stosują posolone, wolne funkcje skrótu.
Wyszukiwanie online i etyka
W przypadku nieposolonych, szybkich skrótów internetowe bazy danych, takie jak CrackStation, zawierają gotowe wyniki obliczeń i często pozwalają natychmiast złamać popularne skróty.
Etyka: wolno łamać tylko te skróty, do których testowania ma Pan/Pani upoważnienie. Łamanie prawdziwych danych uwierzytelniających bez pozwolenia jest nielegalne. Podczas realizacji zleceń należy zgłaszać złamane hasła jako dowód słabej polityki bezpieczeństwa i nigdy nie wykorzystywać ich w złośliwy sposób.
Szacowanie nakładu pracy
Przed poświęceniem wielu godzin na łamanie należy ocenić, czy jest ono wykonalne:
- Szybkość algorytmu: MD5 łamie się szybko, a bcrypt jest z założenia wolny.
- Złożoność hasła: długość i zestaw znaków gwałtownie zwiększają przestrzeń kluczy.
- Sprzęt: wydajny zestaw GPU zdecydowanie przewyższa procesor laptopa.
Jeśli złamanie posolonego bcrypt z długim, losowym hasłem zajęłoby stulecia, należy zamiast ataku brute force obrać inne ścieżki ataku.
Szybki test
Wykonał(a) Pan/Pani zrzut bazy danych. Proszę zdecydować, jaki powinien być najrozsądniejszy pierwszy krok.
Podsumowanie
Poznał(a) Pan/Pani proces łamania hashy:
- Zidentyfikować algorytm na podstawie długości i formatu za pomocą hashid.
- Stopniowo zwiększać koszt ataków: najpierw słownikowy, następnie reguły, a na końcu brute force z maską.
- Używać hashcat (GPU) oraz John the Ripper (CPU, automatyczne wykrywanie).
- Solone hashe i wolne algorytmy mieszające (bcrypt, Argon2) znacznie zmniejszają szybkość łamania.
- Zawsze działać w ramach udzielonego upoważnienia.
To kończy moduł Cryptography for Hackers. Następny moduł: Anonymity and OPSEC.
Często zadawane pytania
Czy lekcja „Łamanie hashy” jest bezpłatna?
Tak — pełny tekst „Łamanie hashy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ethical Hacking Academy, przejdź na CoddyKit PRO. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Łamanie hashy”?
Identyfikowanie i atakowanie Ćwiczysz Ethical Hacking Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ethical Hacking Academy?
Nie wymagamy żadnego doświadczenia. Ethical Hacking Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Łamanie hashy”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ethical Hacking Academy?
Tak. Każda lekcja Ethical Hacking Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.