Jak złamać hasła za pomocą narzędzia Hashcat?

W etycznym hakowaniu i testach penetracyjnych łamanie haseł ma kluczowe znaczenie dla uzyskania dostępu do systemu lub serwera.

W systemach i bazach danych hasła rzadko są zapisywane w postaci zwykłego tekstu.

Hasła są zawsze haszowane przed zapisaniem w bazie danych, a hash jest porównywany podczas procesu weryfikacji.

W zależności od zastosowanego szyfrowania różne systemy przechowują skróty haseł na różne sposoby. A jeśli masz skróty, możesz łatwo złamać dowolne hasło.

W tym artykule dowiemy się, jak łamać skróty haseł za pomocą poręcznego i doskonałego narzędzia wiersza poleceń Hashcat.

Więc zacznijmy.

Ale przed tym…

Co to jest funkcja skrótu?

Haszowanie to proces przekształcania zwykłego tekstu wejściowego w ciąg tekstowy o stałym rozmiarze za pomocą funkcji matematycznej znanej jako funkcja mieszająca. Dowolny tekst, niezależnie od długości, może zostać zamieniony w losową kombinację liczb całkowitych i alfabetów za pomocą algorytmu.

  • Wejście odnosi się do wiadomości, która zostanie zaszyfrowana.
  • Funkcja skrótu to algorytm szyfrowania, taki jak MD5 i SHA-256, który konwertuje ciąg na wartość skrótu.
  • I wreszcie wynikiem jest wartość skrótu.

Co to jest haszysz?

haszysz to najszybsze narzędzie do odzyskiwania hasła. Został zaprojektowany do łamania bardzo złożonych haseł w krótkim czasie. A to narzędzie jest również zdolne do ataków z użyciem listy słów i brutalnej siły.

Hashcat ma dwa warianty. Oparte na CPU i GPU (Graphical Processing Unit). Narzędzie oparte na GPU może złamać skróty w krótszym czasie niż procesor. Możesz sprawdzić wymagania sterownika GPU na ich oficjalnej stronie internetowej.

Cechy

  • Bezpłatne i open-source
  • Można zaimplementować ponad 200 odmian typu hash.
  • Obsługuje wiele systemów operacyjnych, takich jak Linux, Windows i macOS.
  • Dostępne są wieloplatformy, takie jak obsługa procesorów CPU i GPU.
  • W tym samym czasie można złamać wiele skrótów.
  • Obsługiwane są pliki soli szesnastkowych i zestawów znaków szesnastkowych, wraz z automatycznym dostrajaniem wydajności.
  • Dostępny jest wbudowany system testów porównawczych.
  • Rozproszone sieci crackujące mogą być obsługiwane za pomocą nakładek.

Możesz zobaczyć inne funkcje również z ich strony internetowej.

Instalacja Hashcat

Najpierw upewnij się, że Twój system Linux jest na bieżąco z najnowszymi programami i narzędziami.

W tym celu otwórz terminal i wpisz:

$ sudo apt update && sudo apt upgrade

Hashcat jest zwykle preinstalowany w Kali Linux. Możesz znaleźć narzędzie w sekcji łamania haseł. Ale jeśli musisz zainstalować go ręcznie w dowolnej dystrybucji Linuksa, wpisz następujące polecenie w terminalu.

$ sudo apt-get install hashcat

Wykorzystanie narzędzi

Aby rozpocząć korzystanie z Hashcat, potrzebujemy kilku skrótów haseł. Jeśli nie masz skrótu do złamania, najpierw utworzymy kilka skrótów.

Aby utworzyć skróty za pomocą wiersza poleceń, postępuj zgodnie z poniższym formatem.

echo -n "input" | algorithm | tr -d "-">>outputfiename

Na przykład możesz zobaczyć, że zamieniłem niektóre słowa na skróty za pomocą algorytmu md5 poniżej.

┌──(root💀kali)-[/home/writer/Desktop]
└─# echo -n "newsblog.pl" | md5sum | tr -d "-">>crackhash.txt
echo -n "password123" | md5sum | tr -d "-">>crackhash.txt
echo -n "Webtechnology" | md5sum | tr -d "-">>crackhash.txt
echo -n "microsoftteams" | md5sum | tr -d "-">>crackhash.txt
echo -n "recyclebin" | md5sum | tr -d "-">>crackhash.txt

A wynik zostanie zapisany w pliku crackhash.txt.

Teraz sprawdzimy hash, które zostały zapisane w podanym pliku.

┌──(root💀kali)-[/home/writer/Desktop]
└─# cat crackhash.txt

066d45208667198296e0688629e28b14
482c811da5d5b4bcd497ffeaa98491e3
72a2bc267579aae943326d17e14a8048
2192d208d304b75bcd00b29bc8de5024
caae8dd682acb088ed63e2d492fe1e13

Widzisz, teraz mamy kilka skrótów do złamania. Jest to procedura tworzenia skrótu przy użyciu wybranego algorytmu.

Następnym krokiem jest uruchomienie narzędzia Hashcat na komputerze z systemem Linux. Wystarczy użyć następującego polecenia, aby użyć Hashcat.

$ hashcat --help

Wyświetli wszystkie opcje, które musisz znać, aby uruchomić narzędzie. Na terminalu znajdziesz wszystkie tryby ataku i haszowania.

Ogólna forma polecenia to

$ hashcat -a num -m num hashfile wordlistfile

Tutaj 'num’ reprezentuje konkretny atak i tryb skrótu do użycia. Przewijając terminal, możesz znaleźć dokładne liczby dla każdego ataku i trybu skrótu, jak dla md4 – liczba to 0, a dla algorytmu sha256 – liczba to 1740.

Lista słów, której zamierzam użyć, to lista słów rockyou. Możesz łatwo znaleźć tę listę słów w ścieżce /usr/share/wordlists.

Możesz nawet użyć polecenia zlokalizować, aby znaleźć tę ścieżkę listy słów.

┌──(root💀kali)-[/home/writer]
└─# locate rockyou.txt

I na koniec, aby złamać skróty za pomocą pliku listy słów, użyj następującego polecenia.

$ hashcat -a 0 -m 0 ./crackhash.txt rockyou.txt

Po uruchomieniu tego polecenia może pojawić się błąd w czasie wykonywania (Błąd wyjątku długości tokena), który można łatwo rozwiązać.

Aby rozwiązać ten problem, zapisz każdy skrót osobno w innym pliku. Ten błąd występuje, jeśli masz niską prędkość procesora lub karty graficznej. Jeśli Twój komputer ma szybki procesor, możesz łatwo złamać wszystkie skróty w tym samym czasie, co sam plik.

Więc po naprawieniu błędu i wszystkiego wynik będzie taki.

┌──(root💀kali)-[/home/writer/Desktop]
└─# hashcat -a 0 -m 0 hashcrack.txt rockyou.txt
hashcat (v6.1.1) starting...

OpenCL API (OpenCL 1.2 pocl 1.6, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
=============================================================================================================================
* Device #1: pthread-Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz, 2403/2467 MB (1024 MB allocatable), 4MCU

Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 256

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Rules: 1

Dictionary cache built:
* Filename..: rockyou.txt
* Passwords.: 14344405
* Bytes.....: 139921671
* Keyspace..: 14344398
* Runtime...: 1 sec

8276b0e763d7c9044d255e025fe0c212: [email protected]
                                                 
Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: 8276b0e763d7c9044d255e025fe0c212
Time.Started.....: Sun Dec 12 08:06:15 2021 (0 secs)
Time.Estimated...: Sun Dec 12 08:06:15 2021 (0 secs)
Guess.Base.......: File (rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:  1059.6 kH/s (0.52ms) @ Accel:1024 Loops:1 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests
Progress.........: 4096/14344398 (0.03%)
Rejected.........: 0/4096 (0.00%)
Restore.Point....: 0/14344398 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: 123456 -> pampam

Started: Sun Dec 12 08:06:13 2021
Stopped: Sun Dec 12 08:06:16 2021

W powyższym wyniku, po szczegółach pamięci podręcznej słownika, możesz zauważyć, że hash został złamany, a hasło zostało ujawnione.

Wniosek

Mam nadzieję, że lepiej zrozumiałeś, jak używać Hashcata do łamania haseł.

Możesz również zainteresować się różnymi narzędziami brute-force do testów penetracyjnych i niektórymi z najlepszych narzędzi do testów penetracyjnych.