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:

instagram viewer

  • 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ł:

  1. 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.
  2. 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.
  3. 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.

7 darmowych kontrolerów haszowania do sprawdzania integralności dowolnego pliku

Czy na własne ryzyko ignorujesz weryfikację skrótu pliku? Użyj tych narzędzi, aby sprawdzić, czy pobierany plik jest bezpieczny.

Czytaj dalej

UdziałĆwierkaćE-mail
Powiązane tematy
  • Linux
  • Bezpieczeństwo
  • Bezpieczeństwo
  • Aplikacje na Linuksa
  • Polecenia Linuksa
  • Etyczne hakowanie
  • Hakerstwo
O autorze
Rumaisa Niazi (9 opublikowanych artykułów)

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.

Więcej od Rumaisy Niazi

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ć