L’arte del Cracking ovvero come gli hacker scoprono le nostre password!
Nella prima parte abbiamo analizzato come un sito conserva le nostre password e cosa accade quando ci viene chiesto di inserirle per accedervi. (https://passounosecurity.ch/hacker-a-caccia-di-password-parte-1/)
Adesso cambieremo prospettiva e cominceremo ad osservare il problema dalla parte dell’hacker.
Come già accennato tralasceremo ogni riferimento alle tecniche che prevedono l’uso di dispositivi, programmi, malware e alle tecniche di Social Engineering (ci sarà un contributo dedicato nelle prossime settimane).
Partiremo presupponendo che l’hacker abbia rubato un file contenente il nostro nome utente e l’hash della nostra password.
Il file potrebbe avere un contenuto simile:
User:passouno Pwd:e99a18c428cb38d5f260853678922e03
A questo punto l’hacker ha già in mano il 50% del suo obbiettivo. Conosce il nostro username, non gli rimane che scoprire la password.
Per prima cosa sfruttando appositi programmi oppure facendo un confronto con una lista di possibili risultati, come nel caso dell’immagine di cui sotto, dovrà identificare che tipo di algoritmo è stato utilizzato .

Grazie a questa attività avrà individuato l’uso dell’algoritmo MD5 e potrà cominciare la fase di “cracking” scegliendo quale tecnica utilizzare.
Occorre ricordare che gli algoritmi di hash non sono reversibili, quindi la password può essere trasformata in hash, ma una hash non può essere ritrasformata in password.
Agli effetti pratici significa che qualsiasi tecnica l’hacker scelga, la procedura di base sarà sempre:
- creare un candidato (la possibile password);
- farlo elaborare dall’algoritmo;
- confrontare il valore ottenuto con quello conservato nel file trafugato.
Es:
Candidato: 123456 >>> algoritmo MD5 >>> e10adc3949ba59abbe56e057f20f883e
E10adc3949ba59abbe56e057f20f883e è uguale a e99a18c428cb38d5f260853678922e03? No!
Candidato: abcdef >>> algoritmo MD5 >>> c2aa78fd769273dedf800aac91ffb8af
C2aa78fd769273dedf800aac91ffb8af è uguale a e99a18c428cb38d5f260853678922e03? No!
La scelta della tecnica più adatta è dettata principalmente da due fattori, il tempo e la potenza di calcolo necessari. Valutati questi l’hacker opterà per un attacco a forza bruta, a dizionario o una rainbow table.
Brute-Force attack
Il Brute-Force Attack è una tecnica elementare che chiunque abbia un lucchetto a combinazione può sperimentare. Se avete una combinazione di tre cifre, quella giusta sarà una delle 1000 comprese tra 000 e 999; quindi non vi resterà altro da fare che indovinarla provando 001, poi 002 e cosi via. In un lucchetto a 4 cifre ci saranno 10.000 candidati (0000-9999).

Ovviamente se ai numeri aggiungiamo lettere maiuscole, minuscole, caratteri speciali il totale di possibilità potrebbe essere nell’ordine dei milioni o dei miliardi. Questo ci porta a concludere che gli attacchi Brute-Force sono attacchi a colpo sicuro, ma richiedono una quantità di tempo enorme. Esistono approcci utili a ridurre il tempo necessario, ma la loro spiegazione tecnica va oltre lo scopo divulgativo di questo articolo.
Dictionary attack
Gli attacchi a dizionario sono attacchi che calcolano i valori candidati in base ad una lista di parole.
I dizionari possono essere:
- generici elenchi di parole scelte in base alla lingua del bersaglio;
- elenchi di password trafugate da altri hacker o in altri attacchi;
- una lista ritagliata sartorialmente sulle abitudini di vita, sulle date significative, sui nomi dei familiari o sugli interessi del bersaglio preso di mira.

La nostra “abc123” è nell’elenco!
Le tecniche a dizionario basano la propria efficacia sulla necessità delle persone di ricordare le password associandole di conseguenza ad un elemento familiare; ad esempio i dati della fidanzata: christina80, imissyouchri. Se il bersaglio è innamorato di una serie televisiva come Stranger Things, la sua password potrebbe essere il nome di uno dei personaggi, alla quale aggiungere il proprio anno di nascita. Ne risulterebbe un numero limitato, per quanto grande, di possibili combinazioni, come ad esempio: mike1980, will80, 19dustin80.
Rainbow table attack
Il concetto che soggiace alle attività di cracking poste in essere con le “Rainbow Table” (tavola arcobaleno) è quello di pre-calcolare i valori di hash candidati salvandoli in un file che può essere creato anche nei giorni, nelle settimane o nei mesi prima dell’attacco.
Per creare una rainbow table l’hacker usa sia approcci Brute-Force (ogni possibile combinazione) piuttosto che a dizionario. Il vantaggio in termine di tempo sarà enorme, perché la procedura sarà ridotta ad un solo passaggio:
creare un candidato (la possibile password);farlo elaborare dall’algoritmo;- confrontare il valore ottenuto con quello conservato nel file trafugato.
A prima vista potrebbe sembrare una soluzione perfetta, tuttavia una rainbow table è un file di dimensioni gigantesche nell’ordine dei terabyte e questo costringe l’hacker ad un baratto tra tempo risparmiato ed investimento economico necessario per conservarlo.
Ora abbiamo una conoscenza panoramica sia delle tecniche utilizzate dagli hacker per scoprire le nostre password, sia dei meccanismi con i quali vengono conservate.
Grazie a questi concetti nel prossimo articolo impareremo a creare password semplici da ricordare, ma a prova di hacker.
Se vi piace il progetto “Passo Uno Security”, ricordate di visitare i miei profili social, aggiungere “mi piace” e condividere i miei post.
2 commenti su “Hacker a caccia di password: parte 2°”
I commenti sono chiusi.