În cazul hacking-ului etic și al testelor de penetrare, spargerea parolelor este crucială în obținerea accesului la un sistem sau un server.
În sisteme și baze de date, parolele sunt rareori salvate în formă de text simplu.
Parolele sunt întotdeauna indexate înainte de a fi stocate în baza de date, iar hash-ul este comparat în timpul procesului de verificare.
În funcție de criptarea folosită, sistemele diferite stochează hash-urile parolelor în moduri diferite. Și dacă aveți hashuri, puteți sparge cu ușurință orice parolă.
Și în acest articol, vom explora cum să spargem hash-urile parolei folosind un instrument de linie de comandă Hashcat, la îndemână și excelent.
Deci sa începem.
Dar înainte de asta…
Cuprins
Ce este o funcție Hash?
Hashing este procesul de conversie a unui text de intrare normal într-un șir de text de dimensiune fixă folosind o funcție matematică cunoscută sub numele de Funcția Hash. Orice text, indiferent de lungime, poate fi transformat într-o combinație aleatorie de numere întregi și alfabete folosind un algoritm.
- Intrarea se referă la mesajul care va fi hashing.
- Funcția hash este algoritmul de criptare precum MD5 și SHA-256 care convertește un șir într-o valoare hash.
- Și, în sfârșit, valoarea hash este rezultatul.
Ce este Hashcat?
Hashcat este cel mai rapid instrument de recuperare a parolei. A fost conceput pentru a sparge parolele complexe într-un interval scurt de timp. Și acest instrument este, de asemenea, capabil de atacuri atât pe lista de cuvinte, cât și cu forța brută.
Hashcat are două variante. Bazat pe CPU și GPU (Unitate de procesare grafică). Instrumentul bazat pe GPU poate sparge hashurile în mai puțin timp decât procesorul. Puteți verifica cerințele pentru driverul GPU pe site-ul lor oficial.
Caracteristici
- Gratuit și open-source
- Pot fi implementate peste 200 de variante de tip hash.
- Suportă sisteme de operare multiple precum Linux, Windows și macOS.
- Sunt disponibile mai multe platforme, cum ar fi suport pentru CPU și GPU.
- Mai multe hashuri pot fi sparte în același timp.
- Sunt acceptate fișierele Hex-salt și hex-charset, împreună cu reglarea automată a performanței.
- Este disponibil un sistem de benchmarking încorporat.
- Rețelele de cracare distribuite pot fi suportate folosind suprapuneri.
Și puteți vedea alte caracteristici și de pe site-ul lor.
Instalarea Hashcat
În primul rând, asigurați-vă că sistemul dvs. Linux este la zi cu cele mai noi programe și instrumente.
Pentru aceasta, deschideți un terminal și tastați:
$ sudo apt update && sudo apt upgrade
Hashcat este de obicei preinstalat în Kali Linux. Puteți găsi instrumentul în secțiunea de spargere a parolelor. Dar dacă trebuie să îl instalați manual în orice distribuție Linux, introduceți următoarea comandă în terminal.
$ sudo apt-get install hashcat
Utilizarea instrumentului
Pentru a începe cu Hashcat, vom avea nevoie de niște hash-uri de parole. Dacă nu aveți un hash de spart, vom crea mai întâi niște hashuri.
Pentru a crea hashuri folosind linia de comandă, trebuie doar să urmați formatul de mai jos.
echo -n "input" | algorithm | tr -d "-">>outputfiename
De exemplu, puteți vedea că am transformat unele cuvinte în hashes folosind algoritmul md5 de mai jos.
┌──(root💀kali)-[/home/writer/Desktop] └─# echo -n "tipstrick.ro" | 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
Și rezultatul va fi salvat în fișierul crackhash.txt.
Acum vom verifica hashurile care au fost salvate în fișierul dat.
┌──(root💀kali)-[/home/writer/Desktop] └─# cat crackhash.txt 066d45208667198296e0688629e28b14 482c811da5d5b4bcd497ffeaa98491e3 72a2bc267579aae943326d17e14a8048 2192d208d304b75bcd00b29bc8de5024 caae8dd682acb088ed63e2d492fe1e13
Puteți vedea, acum avem niște hashe-uri de spart. Aceasta este procedura pentru a crea un hash folosind algoritmul ales de dvs.
Următorul pas este să porniți un instrument Hashcat în mașina dvs. Linux. Utilizați următoarea comandă pentru a utiliza Hashcat.
$ hashcat --help
Acesta va afișa toate opțiunile pe care trebuie să le cunoașteți pentru a rula instrumentul. Pe terminal, puteți găsi toate modurile de atac și hash.
Forma generală a comenzii este
$ hashcat -a num -m num hashfile wordlistfile
Aici „num” reprezintă un anumit mod de atac și hash de utilizat. Dacă derulați terminalul, puteți găsi numerele exacte pentru fiecare mod de atac și hash, cum ar fi pentru md4 – numărul este 0, iar pentru algoritmul sha256 – numărul este 1740.
Lista de cuvinte pe care o voi folosi este lista de cuvinte rockyou. Puteți găsi cu ușurință acea listă de cuvinte în calea /usr/share/wordlists.
Puteți chiar să utilizați comanda locate pentru a găsi acea cale a listei de cuvinte.
┌──(root💀kali)-[/home/writer] └─# locate rockyou.txt
Și, în sfârșit, pentru a sparge hashurile folosind fișierul liste de cuvinte, utilizați următoarea comandă.
$ hashcat -a 0 -m 0 ./crackhash.txt rockyou.txt
După rularea acestei comenzi, este posibil să primiți o eroare de rulare (Eroare de excepție de lungime a simbolului) care poate fi rezolvată cu ușurință.
Pentru a rezolva acest lucru, salvați fiecare hash separat într-un fișier diferit. Această eroare apare dacă aveți o viteză scăzută a procesorului sau a GPU-ului. Dacă computerul dvs. are un procesor de mare viteză, puteți sparge cu ușurință toate hashe-urile în același timp ca un singur fișier.
Deci, după remedierea erorii și a tot, rezultatul va fi așa.
┌──(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
În rezultatul de mai sus, după detaliile din memoria cache a dicționarului, puteți observa, hash-ul a fost spart și parola a fost dezvăluită.
Concluzie
Sper că ați înțeles mai bine utilizarea Hashcat pentru a sparge parole.
Ați putea fi, de asemenea, interesat să aflați despre diferitele instrumente de forță brută pentru testarea de penetrare și unele dintre cele mai bune instrumente de pentesting.