Jak prolomit hesla pomocí nástroje Hashcat?

Při etickém hackování a penetračním testování je prolomení hesla zásadní pro získání přístupu k systému nebo serveru.

V systémech a databázích se hesla zřídka ukládají ve formě prostého textu.

Hesla jsou vždy před uložením do databáze hašována a během procesu ověřování je hašování porovnáváno.

V závislosti na použitém šifrování různé systémy ukládají hodnoty hash hesel různými způsoby. A pokud máte hashe, můžete snadno prolomit jakékoli heslo.

A v tomto článku prozkoumáme, jak prolomit hash hesel pomocí šikovného a vynikajícího nástroje příkazového řádku Hashcat.

Pojďme tedy začít.

Ale předtím…

Co je hashovací funkce?

Hašování je proces převodu normálního vstupního textu na textový řetězec pevné velikosti pomocí nějaké matematické funkce, která je známá jako hashovací funkce. Jakýkoli text, bez ohledu na délku, lze pomocí algoritmu převést na náhodnou kombinaci celých čísel a abeced.

  • Vstup odkazuje na zprávu, která bude hashována.
  • Hashovací funkce je šifrovací algoritmus jako MD5 a SHA-256, který převádí řetězec na hodnotu hash.
  • A nakonec je výsledkem hash hodnota.

Co je Hashcat?

Hashcat je nejrychlejší nástroj pro obnovu hesla. Byl navržen tak, aby prolomil velmi složitá hesla v krátkém čase. A tento nástroj je také schopen útoků se seznamem slov a hrubou silou.

Hashcat má dvě varianty. Na základě CPU a GPU (Graphical Processing Unit). Nástroj založený na GPU dokáže prolomit hashe za kratší dobu než CPU. Požadavky na ovladače GPU si můžete ověřit na jejich oficiálních stránkách.

  Jak opravit chybějící kalendář v Microsoft Teams

Funkce

  • Zdarma a open-source
  • Lze implementovat více než 200 variant typu hash.
  • Podporuje více operačních systémů jako Linux, Windows a macOS.
  • K dispozici jsou různé platformy, jako je podpora CPU a GPU.
  • Najednou lze prolomit více hashů.
  • Jsou podporovány soubory Hex-salt a hex-charset spolu s automatickým laděním výkonu.
  • K dispozici je vestavěný srovnávací systém.
  • Distribuované crackingové sítě mohou být podporovány pomocí překryvů.

A další funkce můžete vidět také na jejich webových stránkách.

Instalace Hashcat

Nejprve se ujistěte, že váš systém Linux je aktuální s nejnovějšími programy a nástroji.

Za tímto účelem otevřete terminál a zadejte:

$ sudo apt update && sudo apt upgrade

Hashcat je obvykle předinstalovaný v Kali Linuxu. Nástroj najdete v sekci prolomení hesla. Pokud jej však potřebujete nainstalovat ručně v jakékoli distribuci Linuxu, zadejte do terminálu následující příkaz.

$ sudo apt-get install hashcat

Použití nástroje

Abychom mohli začít s Hashcat, budeme potřebovat nějaké hash hesla. Pokud nemáte hash k rozlousknutí, nejprve vytvoříme nějaké hash.

Chcete-li vytvořit hash pomocí příkazového řádku, postupujte podle níže uvedeného formátu.

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

Můžete například vidět, že jsem pomocí níže uvedeného algoritmu md5 přeměnil některá slova na hashe.

┌──(root💀kali)-[/home/writer/Desktop]
└─# echo -n "etechblog.cz" | 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 výstup se uloží do souboru crackhash.txt.

  Top 32 nejlepších bezpečných ROM stránek

Nyní zkontrolujeme hashe, které byly uloženy v daném souboru.

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

066d45208667198296e0688629e28b14
482c811da5d5b4bcd497ffeaa98491e3
72a2bc267579aae943326d17e14a8048
2192d208d304b75bcd00b29bc8de5024
caae8dd682acb088ed63e2d492fe1e13

Vidíte, teď máme nějaké hashe k rozluštění. Toto je postup, jak vytvořit hash pomocí algoritmu dle vašeho výběru.

Dalším krokem je spuštění nástroje Hashcat ve vašem počítači se systémem Linux. K použití Hashcat stačí použít následující příkaz.

$ hashcat --help

Zobrazí všechny možnosti, které budete potřebovat ke spuštění nástroje. Na terminálu najdete všechny režimy útoku a hash.

Obecná forma příkazu je

$ hashcat -a num -m num hashfile wordlistfile

Zde ‚num‘ představuje konkrétní útok a režim hash, který se má použít. Pokud posouváte terminál, můžete najít přesná čísla pro každý útok a hashovací režim, jako pro md4 – číslo je 0 a pro algoritmus sha256 – číslo je 1740.

Seznam slov, který použiji, je rockyou wordlist. Tento seznam můžete snadno najít v cestě /usr/share/wordlists.

K nalezení cesty k seznamu slov můžete dokonce použít příkaz locate.

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

A nakonec, k prolomení hashů pomocí souboru seznamu slov, použijte následující příkaz.

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

Po spuštění tohoto příkazu se může zobrazit chyba běhu (chyba výjimky délky tokenu), kterou lze snadno vyřešit.

Chcete-li to vyřešit, uložte každý hash samostatně do jiného souboru. K této chybě dochází, pokud máte nízkou rychlost CPU nebo GPU. Pokud má váš počítač vysokorychlostní procesor, můžete snadno prolomit všechny hashe současně s jedním samotným souborem.

  Jak spustit displej Retina v jeho nativním rozlišení

Takže po opravě chyby a všeho bude výsledek takový.

┌──(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

Ve výše uvedeném výsledku si po podrobnostech mezipaměti slovníku můžete všimnout, že hash byl prolomen a heslo bylo odhaleno.

Závěr

Doufám, že jste lépe porozuměli používání Hashcatu k prolomení hesel.

Také by vás mohlo zajímat informace o různých nástrojích hrubou silou pro penetrační testování a o některých nejlepších nástrojích pro pentesting.