Jesteś początkującym w dziedzinie cyberbezpieczeństwa? Chcesz być po jego ofensywnej stronie? Jako członek czerwonej drużyny poznasz wiele technik i taktyk, które pomogą Ci wykonać czynności związane z cyberzabójczym łańcuchem. Jednym z takich zadań jest eskalacja uprawnień, w ramach której uzyskujesz skróty haseł.
hashcat to potężne i wszechstronne narzędzie, które metodą brute wymusza przechowywanie danych uwierzytelniających przy użyciu znanych skrótów, przeprowadzając różne tryby ataków. Artykuł opisuje to narzędzie do łamania haseł używane przez testerów penetracyjnych, administratorów systemu, szpiegów lub hakerów do znajdowania haseł.
Czym są haszy?
Haszowanie to jednokierunkowa funkcja matematyczna lub unikalny identyfikator, który zwraca dane wyjściowe o stałej długości, niezależnie od rozmiaru/długości danych wejściowych. W związku z tym jest to nieodwracalny proces, który nie wymaga klucza, jak w przypadku szyfrowania, do odszyfrowania wartości skrótu.
Najczęstszym celem mieszania jest zapewnienie integralności danych przed manipulacją podczas transmisji danych. Własności haszowania są następujące:
- Oferuje szybkie obliczenia
- Dobre algorytmy unikają tego samego wyjścia dla różnych wejść
- Mają charakter deterministyczny
- Małe zmiany na wejściu znacząco wpływają na wyjściową wartość skrótu
Dlaczego warto korzystać z hashcata?
hashcat to wielowątkowe narzędzie, które pozwala skonfigurować liczbę wątków i ograniczyć wykonywanie na podstawie priorytetu. Obsługuje ponad 300 algorytmów haszujących, takich jak MD4, MD5, SHA1, SHA512, bcrypt, HMAC-SHA512, NTLM, MySQL, WHIRLPOOL i wiele innych. Jest dostępny dla wszystkich typów systemów operacyjnych, w tym Windows, Linux, Unix i BSD.
Sposoby łamania skrótów haseł za pomocą hashcat
hashcat oferuje różne tryby ataku (ataki kombinatorowe, oparte na regułach, zgadywanie siłowe, hybrydowe i słownikowe), aby zapewnić lepszy zasięg. Oto wyjaśnienie niektórych ataków, których używa hashcat do łamania zaszyfrowanych haseł:
- Brutalny atak: Atak brutalnej siły wykorzystuje wszystkie możliwe kombinacje znaków, aby określić dokładne hasło. Ma jednak ograniczenie maksymalnej długości hasła i liczby znaków. Co więcej, zaawansowany poziom ataku brute-force może również zoptymalizować czas, przyjmując założenia złożoności. Na przykład zaawansowana technika brute-force może zakładać, że pierwszy znak jest bardziej pisany wielkimi literami, a cyfry najprawdopodobniej pojawią się na końcu hasła itp.
- Atak słownikowy: Atak słownikowy wykorzystuje wstępnie obliczoną listę haseł w zależności od informacji zebranych wokół celu lub wzorca zaobserwowanego wśród użytkowników. W związku z tym potrzeba kilku najczęściej używanych haseł i dodaje do nich pewne permutacje, aby zwiększyć zakres.
- Atak hybrydowy: Hybrid jest kombinacją wyżej omówionych ataków, ponieważ sprawdza, czy hasło jest „łamliwe” za pomocą ataku słownikowego i przechodzi do techniki brute-force, jeśli nie jest to możliwe.
Jak zainstalować hashcat w systemie Linux
hashcat jest domyślnie dostępny w Kali Linux. Aby zainstalować go na Ubuntu i Debianie:
aktualizacja sudo apt-get
sudo apt-get install hashcat
W Fedorze, CentOS i innych dystrybucjach opartych na RHEL:
aktualizacja sudo dnf
sudo dnf zainstaluj hashcat
Aby zainstalować hashcat na Arch Linux:
sudo pacman -Syu
sudo pacman -S hashcat
po instalacji, użyj polecenia pomocy aby wyświetlić wszystkie dostępne opcje:
hashcat --pomoc
Niektóre opcje hashcat i ich opis są następujące:
Opcje | Opis |
---|---|
-m | Typ skrótu z domyślną wartością 0, czyli hash MD5 |
-a | Rodzaj ataku, 0 dla prostego ataku, 2 dla kombinacji i 3 dla brutalnego ataku |
-o | Przechowuje złamane hasło w pliku wyjściowym |
Lista słów | Wymaga ścieżki do listy słów haseł, aby dopasować i złamać skróty |
Notatka: Przed rozpoczęciem pracy z hashcat upewnij się, że Twój system spełnia wymagania sprzętowe. Sprawdź oficjalna strona internetowa po więcej szczegółów.
Złamać skróty z pliku /etc/shadow w systemie Linux
ten /etc/plik cieni przechowuje zniekształcone lub zahaszowane wartości wszystkich haseł użytkowników w systemie Linux. Jest to krytyczny plik o ścisłych uprawnieniach dostępu; jest i musi być dostępny tylko z konta root.
Dlatego jeśli natkniesz się na czytelny /etc/shadow pliku za pośrednictwem dowolnego zwykłego konta użytkownika, możesz uzyskać wartość skrótu konta root i złamać skrót hasła za pomocą narzędzia hashcat.
W celach demonstracyjnych przejdź na konto root i utwórz nowe konto użytkownikaAlicja aby zrozumieć, jak działa hashcat:
sudo su
sudo useradd -c "Alicja" alice
Utwórz hasło za pomocą polecenie passwd:
passwd alicja
Sprawdź zaszyfrowaną wartość hasła wewnątrz /etc/shadow plik w następujący sposób:
cut -d: -f1 /etc/shadow | grep Alicja
Wyjście:
alice:$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD: 19023:0:99999:7::
Skrót w powyższym wyniku zaczyna się od „Alicja:” dalej; zapisz go w nowym pliku hash.txt.
Możesz iść do strona hashcat do identyfikacji typu funkcji skrótu i powiązanej wartości referencyjnej. Tryb skrótu SHA512 jest ogólnie identyfikowany przez $6$ termin i ma wartość referencyjną 1800.
Możesz także poszukać metody szyfrowania wewnątrz login.defs plik:
grep ENCRYPT_METHOD /etc/login.defs
Następnie sprawdź powiązaną wartość funkcji mieszającej za pomocą polecenia hashcat w następujący sposób:
hashcat -h | grep sha512
Teraz użyj narzędzia hashcat, aby złamać hash za pomocą -a flaga trybu ataku, -m flaga dla wartości skrótu (ponieważ nie obsługuje nazwy funkcji skrótu), hash.txt ścieżka do pliku i ścieżka do listy słów rockyou.txt.
hashcat -m 1800 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
Wyjście:
.
.
$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD: 12345
.
.
Notatka: W Kali Linux, rockyou.txt plik jest domyślnie dostępny wewnątrz /usr/share/wordlists informator. Możesz także użyć innych list słów, uruchamiając w terminalu następujące polecenie:
znajdź listy słów | mniej
Wyjście:
Jednak w przypadku innych dystrybucji Linuksa konieczne będzie pobranie rockyou.txt plik z repozytorium GitHub w następujący sposób:
wget https://github.com/danielmiessler/SecLists/blob/master/Passwords/Leaked-Databases/rockyou-20.txt
Łamanie haseł w systemie Linux za pomocą hashcat
Dobrze zbudowany system uwierzytelniania nie przechowuje haseł użytkowników w postaci zwykłego tekstu i wyraźnie widać, że mogą one powodować luki w zabezpieczeniach. Lepszy mechanizm uwierzytelniania przechowuje hasła jako skróty w bezpiecznych i niedostępnych plikach. Jednak narzędzie do łamania haseł, takie jak hashcat, jest przeznaczone do odszyfrowywania lub odgadywania haseł przy użyciu różnych trybów ataku.
W tym artykule szczegółowo opisano, w jaki sposób tester penetracyjny musi wiedzieć, aby złamać zaszyfrowane hasła za pomocą narzędzia hashcat. Jako członek czerwonego zespołu konieczne jest zrozumienie technik, których może użyć osoba atakująca, aby złamać mechanizmy kontroli uwierzytelniania i zapewnić wytyczne dotyczące pokrywania luk systemowych.
Czy na własne ryzyko ignorujesz weryfikację skrótu pliku? Użyj tych narzędzi, aby sprawdzić, czy pobierany plik jest bezpieczny.
Czytaj dalej
- Linux
- Bezpieczeństwo
- Bezpieczeństwo
- Aplikacje na Linuksa
- Polecenia Linuksa
- Etyczne hakowanie
- Hakerstwo

Rumaisa jest niezależnym pisarzem w MUO. Nosiła wiele kapeluszy, od matematyka po entuzjastę bezpieczeństwa informacji, a teraz pracuje jako analityk SOC. Jej zainteresowania obejmują czytanie i pisanie o nowych technologiach, dystrybucjach Linuksa i wszystkim, co dotyczy bezpieczeństwa informacji.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować