Jak złamać hasła za pomocą narzędzia Hashcat?
Opublikowany: 2021-12-14W 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 tekstu o stałym rozmiarze za pomocą funkcji matematycznej znanej jako funkcja haszują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?
Hashcat 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 opartych na listach słów i brute force .
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 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 upgradeHashcat 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 hashcatWykorzystanie 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 "-">>outputfienameNa przykład możesz zobaczyć, że zamieniłem niektóre słowa na skróty za pomocą algorytmu md5 poniżej.
┌──(rootkali)-[/home/writer/Desktop] └─# echo -n "geekflare" | 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.txtA wynik zostanie zapisany w pliku crackhash.txt.

Teraz sprawdzimy, jakie skróty zostały zapisane w podanym pliku.
┌──(rootkali)-[/home/writer/Desktop] └─# cat crackhash.txt 066d45208667198296e0688629e28b14 482c811da5d5b4bcd497ffeaa98491e3 72a2bc267579aae943326d17e14a8048 2192d208d304b75bcd00b29bc8de5024 caae8dd682acb088ed63e2d492fe1e13Widzisz, 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 --helpWyświetli wszystkie opcje, które musisz znać, aby uruchomić narzędzie. Na terminalu znajdziesz wszystkie tryby ataku i skrótu.
Ogólna forma polecenia to
$ hashcat -a num -m num hashfile wordlistfileTutaj „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, np. 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.
┌──(rootkali)-[/home/writer] └─# locate rockyou.txtI 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.txtPo 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.
┌──(rootkali)-[/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 2021W 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ś używanie 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.
