Bine ați revenit, dragii mei greenhorn hackers!
În această serie dedicată spargerii parolelor am încercat să ajut la dezvoltarea unor abilități destul de interesante, pentru pasionați, și anume, spargerea parolelor. Chiar dacă poate părea un exercițiu simplu la prima vedere, cei care ați mai făcut lucrul acesta, știți că este nevoie de multă viclenie pentru a stăpâni această artă. Că veni vorba de viclenie, ascultați podcast-urile mele dedicate ingineriei sociale. De cele mai multe ori, când încercăm spargerea unei parole, suntem nevoiți să utilizăm și o listă de cuvinte, ce va încerca mii de parole posibile pe secundă. Asta este ceea ce eu am tot numit pe aici un atac dicționar, chiar dacă nu trebuie să ne rezumăm doar la cuvintele dintr-un dicționar. Aceste liste de parole pot conține o combinație de caractere și cuvinte, al cărui scop este spargerea unei parole mult mai complexe. Uneori putem avea indicii despre preferințele setării unei parole a țintei noastre, indicii ce vin din cunoștințele noastre despre țintă (iubită, vecin, prieten etc). Ar putea fi numele lor, numele copiilor, numele unui animal de companie, ziua de naștere s.a.m.d. Pe deasupra, mai știm și politica de setare a parolelor a site-ului respectiv (ex: minim 8 caractere, litere mari, litere mici, numere, caractere speciale etc). În astfel de cazuri, putem fi capabili să generăm un fișier de cuvinte personalizat, ce reflectă cunoștințele noastre despre țintă și politica de setare a parolelor a organizației respective.
Kali Linux are instalat un soft numit ,,Crunch”, ce ne permite să creăm un astfel de fișier de cuvinte personalizat, ce poate fi folosit cu softuri precum Hashcat, Cain and abel, John the Ripper, Aircrack-ng și multe altele. Acest fișier de cuvinte personalizat poate fi capabil să ne salveze ore sau zile întregi în procesul nostru de spargere a parolei, dacă îl concepem cum trebuie.
Pasul 1: Pornim Kali și deschidem Crunch
După ce am pornit Kali deschidem Crunch navigând prin Applications -> Password Attacks -> crunch.
O să fim întâmpinați de screen-ul crunch.
Spre deosebire de multe alte aplicații dedicate hacking-ului, crunch nu ne oferă prea multe informații pe ecranul de pornire. Chiar dacă softul este relativ simplu, are multe opțiuni sofisticate, ale căror informații pot fi găsite prin paginile man.
Pasul 2: Sintaxa Crunch
Sintaxa de bază crunch arată în felul următor:
crunch <min> max<max> <characterset> -t <pattern> -o <output filename>
Acum, haideți să analizăm sintaxa de mai sus.
- min = reprezintă minimum de caractere pe care trebuie să îl aibă parola
- max = reprezintă maximum de caractere pe care trebuie să îl aibă parola
- characterset = Setul de caractere ce va fi utilizat în generarea parolelor
- -t <pattern> = Șablonul specificat pentru generarea parolelor. Spre exemplu, știu că ziua de naștere a victimei este 2807 (28 Iulie) și presupun că și-ar putea folosi data nașterii în parolă (mulți oameni fac asta). Așadar, pot genera o listă cu parole ce se termină cu 2807 oferin crunch-ului modelul @@@@@@@2807. Acest cuvânt va genera parole ce conțin până la 11 caractere (7 variabile și 4 fixe) ce se vor termina cu 2807.
- -o <outputfile> = Acesta este fișierul în care dorim scrierea listei de parole.
Pasul 3: Manualul Crunch
O să accesăm paginile man pentru crunch, tastând:
man crunch
Această comandă ar trebui să deschidă paginile manualului crunch precum se vede în imaginea de mai jos. Dezvoltatorii softului au îngrămădit în aceste pagini o mulțime de informații, pentru a ne ușura cât mai mult munca.
Dacă navigăm mai jos prin aceste pagini, o să ajungem la aceasta (observați jos, scrie că suntem la linia 70).
La început putem vedea schimbătorul -f. Acesta ne permite să alegem setul de caractere pe care dorim să le utilizăm la generarea listei de parole. Sintaxa este:
-f /path/to/charset.lst <charactersetname>
Aici spunem crunch-ului unde se află charset.lst și apoi selectăm un set de caractere special din listă. În Kali, charset.lst se află:
/usr/share/rainbowcrack/charset.lst
Pasul 4: Generăm niște liste de parole simple
Începem prin generarea unor liste de parole simple, ce le vom folosi în spargerea parolelor. Să presupunem că site-ul/compania acceptă parole între 4-8 caractere. Putem genera toate posibilitățile în crunch, doar tastând comanda:
crunch 4 8
Când executăm această comandă, crunch va calcula cât de mare va fi lista (1812 GB) și apoi începe să o genereze.
Totuși, ce ar fi dacă am ști că ținta noastră folosește întotdeauna parole între 6 și 8 caractere? Am putea genera o listă completă de posibile parole ce respectă acest criteriu și să o salvăm în directorul root. Să presupunem că fișierul se va numi parolenumerice.lst:
crunch 6 8 1234567890 -o /root/parolenumerice.lst
Dacă știm că ziua de naștere a țintei noastre este pe 28 iulie, am putea genera toate posibilitățile de parole în zece caractere ce se termină în 2807 și să le salvăm în fișierul paroleziledenastere.lst, din root, tastând:
crunch 10 10 -t @@@@@@2807 -o /root/paroleziledenastere.lst
Semnul @ este utilizat pentru a toate reprezenta posibilitățile, în timp ce “2807” reprezintă o valoare fixă.
Pasul 5: Liste de parole complexe cu Crunch
Unul dintre cele mai tari lucruri la Crunch îl reprezintă abilitatea de a selecta un set de caractere specifice sau de a crea propriul set de caractere pentru generarea listei de parole. Cu atât mai bine, dacă știm și preferințele țintei noastre. Putem găsi alegerea setului de caractere la:
/usr/share/rainbowcrack/charset.txt
Acum, dacă știm că ținta noastră folosește o parolă formată din 8 caractere alfabetice, putem genera o listă cu toate posibilitățile, utilizând următoarea comandă:
crunch 8 8 -f /usr/share/rainbowcrack/charset.txt mixalpha -o /root/caracterealfabetice.lst
Comanda aceasta va genera parole formate din 8 caractere, utilizând doar caractere alfabetice (fără numere sau caractere speciale) și le va salva într-un fișier numit caracterealfabetice.lst, în directorul user-ului root.
Sunt nenumărate metode pe care le putem utiliza pentru a sparge parole. Atacul dicționar, tabelul curcubeu, brute force și multe altele. Dacă știm parametrii parolei sau dacă știm ceva despre ținta noastră și despre posibilele parole (zile de naștere, numele animalelor de companie, numele iubitei, iubiutului etc), crunch poate fi un soft foarte efectiv, ce ne poate genera liste de parole specifice, pe care le putem utiliza în atacuri de tip dicționar.
Rămâneți alături de blogul Blackweb.ro pentru a vedea mai multe tutoriale dedicate hacking-ului.