Cum spargem parole utilizând Hashcat (#3)

0

Bine ați revenit, dragii mei, greenhorn hackers!

Continuăm cu cea de-a doua serie începută pe acest blog, și anume, strategii și metode de spargere a parolelor. În acest turorial o să vă prezint unul dintre cele mai bine concepute softuri de spargere a parolelor – hashcat. Frumusețea acestui soft se află în conceptul său unic, ce se concentrează pe viteză și versatilitate. Ne permite să spargem diferite tipuri de hash-uri, în diferite moduri, foarte rapid. Așa cum am menționat în prima parte a seriei, parolele criptate sunt numite hash-uri. Sunt multe moduri de a obține aceste hash-uri, precum .dll injection pentru Windows, sau capturarea hash-ului în tranzit, precum spargerea retelelor wi-fi. O dată ce am capturat hash-ul, următorul pas este să găsim o metodă eficientă de a-l sparge. Sunt numeroase softuri pentru a face lucrul acesta, unele dintre ele menționate în alte articole pe acest blog, însă cum în acest articol este vorba despre Hashcat, haideți să ne uităm puțin la cum funcționează.


Pasul 1: Pornim Kali și deschidem Hashcat

Pentru a deschide Hashcat, mergem la Applications -> Password Attacks -> hashcat, exact cum se vede mai jos.

Când alegem hashcat din meniu, suntem întâmpinați de următorul screen:

La începutul ecranului, putem vedea sintaxa de bază hashcat:



hashcat options hashfile mask|wordfiles|directories

Putem vedea câteva dintre opțiunile hashcat listate mai jos, sub sintaxa de bază. Unele dintre cele mai importante sunt -m (tipul hash-ului) și -a (modul de atac). De obicei, va trebui să le utilizăm ambele opțiuni în majoritatea încercărilor de a sparge o parolă cu hashcat.

Pasul 2: Mai multe opțiuni

Dacă dăm mai jos pe ecranul de ajutor hashcat, putem vedea mai multe opțiuni. Primele două, sunt unele dintre opțiunile de bază activate de hashcat. Ne uităm la prima, și putem vedea că hashcat activează anumite optiuni ce ne permit să aplicăm anumite reguli, proiectate special pentru listele noastre de cuvinte. Aceste reguli pot lua fișierul de cuvinte și să aplice reguli pentru capitalizare, pentru caractere speciale,  pentru combinații de cuvinte, numere înainte și după cuvânt s.a.m.d. Fiecare dintre acestea ne vor ajuta să spargem parolele mai complexe, concepute să reziste unui atac tip dicționar.

 

Următoarea secțiune este pentru seturile de caractere (custom character sets).  Lucrul acesta ne permite să alegem setul de caractere pe care dorim să-l utilizăm pentru a sparge parolele. Dacă știm politica site-ului instituției sau companiei, putem alege un subset al tuturor caracterelor ce se potrivesc politicii lor, pentru a grăbi procesul de spargere. Spre exemplu, dacă site-ul unei companii te obligă să setezi parole doar din cifre, atunci alegem să spargem hash-urile doar cu numere. Aceste tipuri de parole sunt cel mai ușor de spart.

 

Următorul screen include opțiuni mai complicate, precum modul depanare, seturile de caractere și diferite tipuri de formate pentru fișierul de ieșire.

La final, trebuie să alegem tipul hash-ului pe care dorim să îl spargem. Hashcat ne oferă numeroase opțiuni. Când suntem gata să spargem hash-ul, trebuie să alegem prin comanda noastră cu ce tip de hash lucrăm, oferind hash-cat-ului numărul asociat cu tipul de hash. Aici putem vedea o listă cu unele dintre tipurile de hash-uri cu care hashcat poate lucra.

Pasul 3: Alegerea listei de cuvinte

În acest tutorial o să folosim un simplu atac dicționar pe niște hash-uri Linux.Pentru a face asta, avem nevoie de o listă de cuvinte. Sunt mii de astfel de liste pe internet, iar Kali Linux are și el numeroase astfel de liste, pe care le putem folosi. Așadar, pentru acest tutorial voi folosi una dintre listele de cuvinte, găsite în Kali. Pentru a făsi aceste fișiere în Kali, putem scrie urmatoarea comandă:  locate wordlist

Putem vedea că sunt nenumărate liste de cuvinte disponibile:

O să folosesc lista de cuvinte pentru sqlmap, deoarece are peste un milion de cuvinte.


Pasul 4: Prinderea hash-urilor

În următorul pas, trebuie să prindem hash-urile pe sistemul nostru. Dacă suntem logați ca root, putem vedea și prinde hash-urile. În Linux, hash-urile sunt stocate în fișierul etc/shadow, așadar tastăm comanda:

tail /etc/shadow

Putem vedea fișierul shadow cu hash-uri, precum mai jos:

Mai departe, trebuie să știm ce tip de hash folosește sistemul. În Linux, mergem către /etc/login.defs pentru a vedea tipul criptării pe care sistemul îl utilizează. Deschidem fișierul utilizând următoarea comandă:

more /etc/login.defs

Când navigăm aproximativ 89% prin fișier, putem vedea că sistemul Kali utilizează criptarea SHA512. Lucrul acesta este important, deoarece trebuie să spunem hashcat-ului această informație, atunci când dorim să spargem hash-ul.

Pasul 5: Spargerea hash-urilor

Acum, că știm cum să utilizăm hashcat, unde sunt locate hash-urile și tipul criptării, suntem gata să începem spargerea hash-urilor. O să punem aceste hash-uri într-un fișier separat, pe care îl voi numi hash.lst.



 

cp /etc/shadow hash.lst

Pentru a mă asigura că au fost copiate, verific prin următoarea comandă:

more hash.lst

Așa cum se vede mai jos, hash-urile au fost copiate în fișierul hash.lst.

Pentru a prepara fișierul pentru spargere, trebuie să eliminăm toate informațiile din acest fișier, cu excepția hash-urilor. Fișierul /etc/shadow include username-ul și hash-ul prins, cât și informații despre politica înregistrării conturilor. Trebuie să eliminăm aceste informații, lăsând doar hash-ul.

Putem vedea că acest fișier începe cu un username. Ex: “user1”, “user2″, etc. Deschidem acest fișier cu editorul nostru de text preferat (vim, vi, leafpad) și ștergem unsername-ul și cele două puncte care urmează. După aceea, mergem la sfârșitul rândului și ștergem informațiile aflate după hash, ce încep cu ,,:”. Acum, o să avem un fișier doar cu hash-uri.



La ultimul nostru pas, putem începe spargerea hash-urilor. Mai jos este comanda utilizată de mine:

hashcat -m 1800 -a 0 -o cracked.txt –remove hash.lst /usr/share/sqlmap/txt/wordlist.txt

  • -m 1800 indică tipul hash-ului pe care îl spargem (SHA-512)
  • -a 0 indică atacul dicționar
  • -o cracked.txt este fișierul în care se vor salva parolele sparte
  • –remove spune hashcat-ului să elimine hash-ul după ce acesta a fost spart
  • hash.lst este fișierul nostru în care am introdus hash-urile
  • /usr/share/sqlmap/txt/wordlist.txt este adresa listei noastre de cuvinte, pentru atacul dicționar

O dată ce procesul de spargere a început, putem apăsa enter pentru a primi un update al procesului. Când hashcat a terminat procesul, vom vedea un screen precum cel de mai jos, unde hashcat ne anunța că a recuperat toate hash-urile după un timp de 9 :47:16 ore.

Acum, trebuie doar să deschidem fișierul cracked.txt pentru a vedea parolele sparte.



Este posibil ca Hashcat să fie cel mai bun soft de spargere a parolelor în momentul de față, așa că rezervă-ți timp să îl înveți. Are mult mai multe caracteristici decât cele prezentate în acest prim tutorial, cât și o versiune ce utilizează GPU (oclhashcat), ce poate sparge parole mult mai repede decât procesorul.

Cam atât pentru astăzi. Dacă aveți nelămuriri, secțiunea comentarii vă stă la dispoziție.

Choose your Reaction!
Leave a Comment

Your email address will not be published.