Password Cracker:Jak złamać/odgadnąć hasło
⚡ Inteligentne podsumowanie
Łamanie haseł to praktyka odzyskiwania danych uwierzytelniających poprzez systematyczne zgadywanie, porównywanie lub obliczanie ich na podstawie zapisanych haszy. Niniejszy przegląd wyjaśnia, jak działają atakujący, jakich narzędzi używają, jakie czynniki siły im przeszkadzają oraz jakie środki kontroli muszą egzekwować administratorzy.
Łamanie haseł to jedna z najstarszych dziedzin bezpieczeństwa ofensywnego, a mimo to pozostaje niezwykle istotne, ponieważ użytkownicy wciąż wybierają przewidywalne sekrety. W tym samouczku przedstawimy typowe techniki wykorzystywane przez atakujących do odzyskiwania haseł, narzędzia automatyzujące te działania oraz środki zaradcze, które administratorzy mogą wdrożyć, aby chronić systemy przed tymi atakami.
Co to jest łamanie haseł?
Łamanie haseł to proces polegający na próbie uzyskania nieautoryzowanego dostępu do systemu o ograniczonym dostępie poprzez odzyskanie klucza tajnego chroniącego mechanizm uwierzytelniania. Proces łamania może obejmować porównywanie zapisanych skrótów haseł z wstępnie obliczoną listą słów lub uruchamianie algorytmów generujących hasła kandydackie, aż do znalezienia pasującego hasła. Po znalezieniu pasującego hasła atakujący może uwierzytelnić się jako uprawniony użytkownik, bez konieczności zgadywania hasła online.
Co to jest siła hasła?
Siła hasła to miara jego skuteczności w odpieraniu ataków polegających na jego łamaniu. Siłę hasła określają trzy właściwości:
- Długość: całkowita liczba znaków, jakie zawiera hasło.
- Złożoność: czy wykorzystuje kombinację wielkich liter, małych liter, cyfr i symboli.
- Nieprzewidywalność: czy hasło może zostać łatwo odgadnięte przez atakującego znającego użytkownika.
Porównajmy trzy hasła: password, password1, #hasło1$W tym przykładzie wykorzystamy wskaźnik siły hasła cPanel. Poniższe grafiki pokazują siłę każdego kandydata.
Uwaga: użyte hasło to password; siła wynosi 1, co jest bardzo słabe.
Uwaga: użyte hasło to password1; siła wynosi 28, co nadal jest słabe.
Uwaga: użyte hasło to #hasło1$Siła hasła wynosi 60, co oznacza, że jest ono silne. Im wyższa siła hasła, tym lepsze hasło.
Załóżmy teraz, że musimy przechowywać te same hasła za pomocą funkcji skrótu MD5. Użyjemy internetowego generatora skrótów MD5, aby przekonwertować każde hasło na jego wartość skrótu. Poniższa tabela przedstawia otrzymane skróty.
| Hasło | Skrót MD5 | Wskaźnik siły cPanel |
|---|---|---|
| password | 5f4dcc3b5aa765d61d8327deb882cf99 | 1 |
| password1 | 7c6a180b36896a0a8c02787eeafb0e4c | 28 |
| #hasło1$ | 29e08fb7103c327d68327f23d8d9256c | 60 |
Teraz skorzystamy z publicznej witryny wyszukiwania wstecznego MD5, aby złamać powyższe skróty. Poniższe obrazy przedstawiają wyniki łamania haseł dla każdej wartości.
Jak widać z powyższych wyników, udało nam się złamać pierwsze i drugie hasło, które miały niższy współczynnik siły. Nie udało nam się złamać trzeciego hasła, które było dłuższe, bardziej złożone i nieprzewidywalne. Miało ono również wyższy współczynnik siły.
Techniki łamania haseł
Istnieje kilka sprawdzonych technik wykorzystywanych przez atakujących do odzyskiwania haseł. Poniżej opiszemy najczęściej stosowane kategorie.
- Atak słownikowy: Metoda ta wykorzystuje listę prawdopodobnych kandydatów i porównuje każdą z nich z przechwyconymi hasłami użytkowników lub skrótami haseł.
- Atak siłowy: Ataki siłowe polegają na łączeniu znaków alfanumerycznych i symboli za pomocą algorytmów, aby systematycznie generować każde możliwe hasło, aż do znalezienia pasującego. Na przykład hasło takie jak password można również wypróbować jako słowo p@$$ stosując hybrydową zasadę brutalnej siły.
- Atak stołu tęczowego: Ta metoda opiera się na wstępnie obliczonych skrótach. Załóżmy, że baza danych przechowuje hasła w postaci skrótów MD5. Atakujący tworzy inną tabelę, która przechowuje skróty MD5 popularnych haseł i porównuje przechwycony skrót z tabelą wstępnie obliczoną. Jeśli zostanie znaleziony odpowiednik, hasło zostaje odzyskane.
- Zgadywać: Jak sama nazwa wskazuje, metoda ta polega na zgadywaniu. Hasła takie jak qwerty, password, Admin Są powszechnie używane lub ustawione jako domyślne. Jeśli nie zostaną zmienione, mogą zostać szybko naruszone.
- Pająk: Większość organizacji używa haseł zawierających dane firmowe. Informacje te można pozyskać ze stron internetowych firm i mediów społecznościowych, takich jak Facebook i Twitter. Spidering gromadzi dane z tych źródeł, aby tworzyć ukierunkowane listy słów, które są następnie wykorzystywane w atakach słownikowych i brute force.
- Nadzienie poświadczeń: Napastnicy odtwarzają pary nazw użytkowników i haseł, które wyciekły w wyniku włamania do niezwiązanych ze sobą usług, wykorzystując w ten sposób użytkowników, którzy wielokrotnie wykorzystują swoje dane uwierzytelniające.
Lista słów kluczowych dla fikcyjnej firmy mogłaby obejmować: 1976 (rok urodzenia założyciela); smith, jones (nazwiska); acme (nazwa firmy); built, to, last (słowa kluczowe dotyczące wizji); golf, szachy, piłka nożna (hobby).
Poniższa tabela porównuje techniki pod względem szybkości, wymagań wstępnych i wykrywalności.
| Technika | Prędkość | Wymaga hasha? | Czy można je wykryć w Internecie? |
|---|---|---|---|
| Słownik | pompatyczność | Opcjonalnie | Tak |
| Brutalna siła | Zwolnij | Opcjonalnie | Tak |
| Tęczowy stół | Bardzo szybka | Tak | Nie (offline) |
| Zgadywanie | Zmienna | Nie | Tak |
| Pająk | Zwolnij | Nie | Tak |
| Wypełnianie poświadczeń | pompatyczność | Nie | Tak |
Password Cracker Narzędzia
Narzędzia do łamania haseł to programy, które automatyzują opisane powyżej techniki. Wspomnieliśmy już o jednym z takich narzędzi w przykładzie dotyczącym siły hasła, gdzie publiczne wyszukiwanie MD5 wykorzystuje tablicę tęczową do odwrócenia popularnych skrótów. Przyjrzymy się teraz dodatkowym narzędziom, z których korzystają praktycy podczas autoryzowanych ocen.
1) John the Ripper
John the Ripper Korzysta z wiersza poleceń i akceptuje listy słów wraz z regułami do generowania kandydatów. Automatycznie wykrywa wiele popularnych formatów skrótów. Program jest darmowy, a specjalnie przygotowane listy słów są dostępne osobno. Odwiedź https://www.openwall.com/john/.
2) Cain & Abel
Cain & Abel biegnie dalej Windows i odzyskuje hasła użytkowników, przeprowadza sniffing sieciowy i wiele więcej. Jego graficzny interfejs sprawia, że jest popularny wśród nowicjuszy. Narzędzie nie było aktywnie rozwijane od 2014 roku, dlatego należy go używać tylko w starszych systemach laboratoryjnych. Zobacz https://sectools.org/tool/cain/.
3) Ophcrack
Ophcrack jest platformą wieloplatformową Windows Łamacz haseł wykorzystujący tablice tęczowe. Działa na Windows, Linux i macOSi zawiera moduł siłowy. Odwiedź https://ophcrack.sourceforge.io/.
4) Hashcat
Hashcat to nowoczesny standard odzyskiwania haseł offline. Obsługuje ponad 300 algorytmów haszujących, wykorzystuje akcelerację GPU i oferuje ataki oparte na regułach. Dokumentacja jest dostępna pod adresem https://hashcat.net/hashcat/.
5) Hydra
Hydra (THC-Hydra) jest przeznaczona dla usług online, takich jak SSH, FTP, RDP i formularze logowania HTTP. Dostarczana jest z Kali Linux i jest szeroko stosowany w autoryzowanych operacjach czerwonych drużyn.
Jak chronić się przed atakami polegającymi na łamaniu haseł?
Aby zmniejszyć ryzyko złamania haseł, organizacja może podjąć następujące działania:
- Wymagaj co najmniej 12 znaków i unikaj przewidywalnych wzorców, takich jak 11552266 lub qwerty1234.
- Przechowuj hasła przy użyciu powolnej jednokierunkowej funkcji skrótu, takiej jak bcrypt, scrypt lub Argon2, a nie szybkich funkcji skrótu, takich jak MD5 lub SHA-1.
- Dodaj sól do każdego hasła przed haszowaniem; sole uniemożliwiają wyszukiwanie w tabelach tęczowych, nawet gdy sam hasz jest szybki.
- Wprowadź zasady dotyczące haseł, które faworyzują hasła o wysokiej sile i promują hasła frazowe, zgodnie z zaleceniami NIST SP 800-63B.
- Włącz uwierzytelnianie wieloskładnikowe (MFA), aby samo skradzione hasło nie zapewniało dostępu.
- Użyj menedżera haseł, aby wygenerować unikalne dane uwierzytelniające dla każdej usługi, neutralizując w ten sposób ataki polegające na wypełnianiu danych uwierzytelniających.
- Skonfiguruj blokadę konta, ograniczanie przepustowości i ciągły monitoring, aby wcześnie wykryć próby ataku siłowego w Internecie.
Aktywność hakerska: zhakuj teraz!
W tym praktycznym scenariuszu zamierzamy złamać Windows Konto wykorzystujące proste hasło. Windows przechowuje lokalne dane uwierzytelniające w postaci skrótów NTLM (schemat oparty na MD4), a my wykorzystamy moduł łamania NTLM w Cain and Abel, aby odzyskać wartość.
Kain i Abel potrafią łamać hasła za pomocą ataku słownikowego, brute force lub kryptoanalizy (wstępnie obliczone tabele). Tutaj wykorzystamy atak słownikowy. Pobierz listę słów 10 tys. najczęściej spotykanych plików.zip z renomowanego lustra. Na potrzeby tej demonstracji utworzyliśmy konto o nazwie Konta z hasłem qwerty na Windows 7 maszyna laboratoryjna.
Jak złamać hasło
Poniższy opis łączy każdy ekran Kaina i Abla z akcją, którą należy wykonać. Postępuj zgodnie z instrukcjami na swoim koncie laboratoryjnym, a nie na systemie, którego nie jesteś właścicielem.
Krok 1) Otwórz Kaina i Abla.
Uruchom aplikację. Zobaczysz poniższy ekran główny.
Krok 2) Znajdź przycisk Dodaj.
Upewnij się, że karta Cracker jest wybrana, jak pokazano powyżej, i kliknij przycisk Dodaj na pasku narzędzi.
Krok 3) Wybierz źródło importu.
Pojawi się następujące okno dialogowe. Wybierz Importuj hasze z systemu lokalnego i kliknij Dalej.
Krok 4) Revzobacz zaimportowane konta.
Lokalne konta użytkowników są wymienione poniżej. Dokładne wyniki będą odzwierciedlać konta użytkowników na Twoim komputerze laboratoryjnym.
Krok 5) Kliknij prawym przyciskiem myszy konto docelowe.
Kliknij prawym przyciskiem myszy konto, które chcesz zhakować. W tym samouczku użyjemy Konta użytkownika.
Krok 6) Otwórz panel ataku słownikowego.
W oknie ataku słownikowego kliknij prawym przyciskiem myszy w sekcji słownika i wybierz Dodaj do listy zakupów jak pokazano poniżej.
Krok 7) Przejdź do pliku z listą słów.
Przejdź do 10k-most-common.txt plik, który właśnie pobrałeś i wybierz go.
Krok 8) RevZobacz odzyskane hasło.
Jeżeli użytkownik wybrał proste hasło, takie jak qwerty, zobaczysz wyniki podobne do tych przedstawionych poniżej, z wartością w postaci zwykłego tekstu obok konta użytkownika.
Uwaga: czas potrzebny na złamanie hasła zależy od jego siły, złożoności listy kandydatów oraz mocy obliczeniowej komputera. Jeśli atak słownikowy nie pozwoli na odzyskanie hasła, należy spróbować ataku siłowego lub kryptoanalizy.
Jak AI działa w Reshaping Łamanie haseł i obrona
Sztuczna inteligencja stała się poważną siłą po obu stronach łamania haseł. Atakujący trenują modele językowe na podstawie wycieków danych uwierzytelniających, aby przewidywać realistyczne hasła, podczas gdy obrońcy łączą te same modele z systemami telemetrycznymi, aby szybciej wykrywać naruszenia.
Oto w jaki sposób AI zmienia dziś tę dziedzinę:
- Inteligentniejsze generowanie list słów: Modele generatywne, takie jak PassGAN, uczą się ludzkich wzorców haseł i generują listy kandydatów, które łamią więcej haseł niż statyczne słowniki.
- Ocena ryzyka behawioralnego: Defensywna AI sprawdza geografię logowania, odcisk palca urządzenia i typping rytm, wysyłanie nietypowych kontekstów w celu uwierzytelnienia na wyższym poziomie.
- Wykrywanie anomalii w czasie rzeczywistym: Klasyfikatory uczenia maszynowego monitorują logi uwierzytelniania i sygnalizują próby wypełniania danych uwierzytelniających lub powolne ataki siłowe, których reguły podpisów nie wykrywają.
- Zautomatyzowany coaching polityczny: Platformy tożsamości oceniają nowe hasła na podstawie korpusów właściwych dla danej organizacji i sugerują silniejsze zamienniki, zanim użytkownicy je zaakceptują.
- Obrona odporna na phishing: Sztuczna inteligencja przyspiesza wdrażanie FIDO2 i przepływów kluczy dostępu poprzez analizę sygnałów ryzyka i zmniejszanie oporów użytkowników.
Połącz monitorowanie za pomocą sztucznej inteligencji z uwierzytelnianiem wieloskładnikowym, nowoczesnym haszowaniem, takim jak Argon2, i szybkimi powiadomieniami o naruszeniach, aby automatyczna obrona wyprzedzała zautomatyzowany atak.
















