assistenza informatica
  
  
  

Ti sei mai chiesto perché quando non ricordi più la password di un sito web non ti viene mai permesso di recuperarla, ma solo di resettata? La risposta è semplice: non la conoscono neppure gli amministratori! Ogni qual volta accedi ad una web application, ad esempio il tuo account Facebook, Google, Yahoo, Twitter, Libero e via dicendo, ottieni l’autenticazione solo nel caso in cui la password da te immessa corrisponda effettivamente a quella memorizzata nel sistema. Il passaggio appena descritto avviene in pochi decimi di secondo e le password confrontate, per una questione di sicurezza, non sono mai in chiaro, poiché subiscono un processo detto hashing che varia in base all’algoritmo crittografico utilizzato.

In parole spicciole questo tipo di codifica prende come input una stringa di lunghezza variabile (la tua password) e ne restituisce l’output, noto anche come MD5 Checksum. Da un hash così ottenuto non è possibile risalire a ciò che l’ha originato. Una delle domande maggiormente rivolte al centro supporto Facebook è quella che segue. “Potete inviarmi una copia della mia password senza che debba reimpostarla?”. La risposta ufficiale: “Facebook archivia la tua password in modo talmente sicuro che neanche noi la conosciamo. Se non ricordi la password, puoi richiederne una nuova”.

Differenze tra hashing e crittografia

Hashing e crittografia sono modi diversi di proteggere le informazioni. La crittografia consente di ripristinare il testo originale in seguito tramite la decodifica. L’hashing riassume il testo in un breve impronta che non può essere decrittata. Con la sola impronta hash, non c’è alcun modo di sapere esattamente quale testo è stato riassunto anche se una determinata parola genera sempre la stessa impronta. Così facendo se un malintenzionato riuscisse ad ottenere il database di un sito web contenente tutte le password “hashate” degli utenti registrati, si ritroverebbe in mano un mucchio di stringhe da 128 bit composte da 32 caratteri esadecimali. Segui il successivo esempio per comprendere al meglio questo meccanismo.

Hash e Salt questi sconosciuti – Approfondimenti ed esempi pratici

L’hacker di turno ottiene l’hash della password di Topolino che in fase di registrazione ha scelto la parola chiave “password123” che attraverso il processo di hashing MD5 corrisponde al valore “482c811da5d5b4bc6d497ffa98491e38”. Esistono centinaia di siti che all’interno dei loro database contengono miliardi di termini comuni in tutte le lingue “pre-hashati” e in un batter d’occhio ricercano l’output immesso e se trovano una corrispondenza restituiscono la parola in chiaro. Puoi effettuare una veloce verifica visitando il sito md5online.org che contiene quasi 125 miliardi di termini (hai capito bene). Copia e incolla la stringa su riportata nell’apposito campo del sito menzionato e clicca su Decrypt. NB: sullo stesso portale puoi verificare il processo inverso (MD5 Encrypter).

Hash e salt, come violare una password

Hash Hacking in corso…

Per impedire questo tipo di attacco, in inglese chiamato Rainbow Table, è stato introdotto un espediente: il salt. Quest’ultimo, altro non è che una sequenza casuale di bit utilizzata dal server per ottenere un output univoco durante il processo di “hashing” della password. Al momento del login la password digitata viene nuovamente combinata con il “seme” e la stringa ottenuta viene confrontata con quella memorizzata nel database del sito web e se i valori coincidono, l’utente ha accesso al sistema.

Se Topolino in fase di registrazione avesse usufruito di questo accorgimento e il server avesse utilizzato come salt il valore “sale321”, la chiave segreta da lui scelta, ovvero la parola “password123”, avrebbe prodotto un output non più calcolabile tramite l’uso delle Tabelle Arcobaleno e in questo caso il risultato ottenuto da questa funzione matematica di tipo irreversibile, avrebbe portato alle differenze che seguono:

Password Salt Risultato Hash MD5
password123 (nessuno) 482c811da5d5b4bc6d497ffa98491e38
password123 sale321 cf780d5206af87b64f6df62e5381004e

Adesso copiando e incollando la stringa con il salt sul sito precedente non si otterrà alcuna corrispondenza, sebbene la password sia rimasta identica.  A dispetto di quanto comunemente si pensa, è opportuno precisare che il salt non aumenta la lunghezza della password, nè la complica ulteriormente e il suo scopo consiste nel differenziare le codifiche di password identiche e rendere inoffensivo l’attacco a tabelle precompilate (le Rainbow) e di accrescere sensibilmente i tempi di “recupero” della password durante l’attacco, motivo per cui questo dato lo si potrebbe addirittura lasciare a “portata di mano”. Gli hash così “conditi” restano comunque sensibili agli attacchi a forza bruta e a quelli a dizionario.

Il consiglio è sempre lo stesso: scegliere una password robusta, che soddisfi per esempio i criteri menzionati nell’articolo in cui tratto l’argomento Password Facebook. Le statistiche affermano che su 100 utenti il 93% sceglie una password di lunghezza variabile tra i 6 e i 10 caratteri, il 43% usa soltanto caratteri minuscoli, il 36% delle password scelte sono presenti nei comuni dizionari, il 67% sono riutilizzate dalle stesse persone per più servizi e solo il 3% delle password contiene un carattere speciale; Questi dati devono fare riflettere! Se la tua password possiede queste caratteristiche e l’attacker di turno ottiene il corrispettivo hash, con un computer di fascia medio-bassa e un buon programma, in meno di mezzo minuto può processare 14 milioni di parole e risalire alla tua password in altrettanti secondi. Guarda il video per farti un’idea più concreta.

Guarda il video in HD

Il software per l’Hash Cracking a portati di tutti

In rete esistono dei potenti strumenti che consento di effettuare molteplici attacchi sulle hash delle password, anche se queste ultime hanno subìto il processo di hashing tramite salt. Elenco brevemente quelli più conosciuti e usati:

Il punto dolente di questi programmi è dovuto al fatto che sono quasi tutti a riga di comando, spesso complessi, di grosse dimensioni, localizzati esclusivamente in lingua inglese, necessitano di distribuzioni Linux per poter funzionare e hanno interfaccia grafica scarna o assente. Esiste invece un incredibile software che di fatto possiede caratteristiche opposte a quelle poc’anzi citate; Passwords PRO è un programma shareware per Windows (la versione in download è preregistrata e non necessita di alcun crack), non più commercializzato e per questo motivo difficilmente reperibile. Ho individuato il file localizzato da Michele Beriola di una precedente release (la 2.4.4.2) e ho provveduto a perfezionarlo e adattarlo alla più attuale versione 3.1.2.1 e adesso Password PRO è interamente tradotto in italiano; Infine ho incluso l’installer dato che il software ne era praticamente sprovvisto.

Questa applicazione è progettata per recuperare le password di molteplici codifiche hash (oltre 170) incluse quelle dei CMS più diffusi come Joomla, WordPress, Drupal e dei Sistemi Operativi più recenti come Windows 7 e Windows 8.1 (tabella sotto). Per ottenere questi ultimi hash puoi utilizzare una piccola sorprendente utility chiamata Mimikatz (password: marcucciogemel.it) e impartire in successione i comandi “privilege::debug” e “sekurlsa::msv”, come mostrato in questo esempio; NB: in verità con il comando “sekurlsa::logonpasswords” puoi ottenere immediatamente le password di Windows in chiaro.

CMS e S.O. Hash Tipo Hash
Joomla 6edb6d10ea920c5d4d0a337efb4077ee md5($pass.$salt)
WordPress $P$BilsaltqO7.UDoX9zxQ3r5y2Nl6G0 MD5(WordPress)
Drupal $S$CforteZT47H8YFKK4qSdeWBzYlgnc6xPyCM6OwFPi10cEJ6Rk SHA-512(Drupal)
Windows 7/8.1 05af928255a863470439110616156ff2 NTLM

PasswordsPro prevede il supporto per l’utilizzo di molteplici plug-in; Tra i più utili Dictionary Generator per creare, ordinare, pulire, splittare, combinare e  comparare i dizionari, Hash Generator per il supporto di oltre 130 algoritmi di hash (salt incluso), ed SQL Dump Parser per estrarre gli hash dai file con estensione SQL. E’ possibile effettuare l’hacking di ogni tipo di hash con Attacco Preliminare, Brute Force, con Maschera, Dizionario Semplice, Dizionario Combinato e Dizionario Ibrido.

Insomma le funzioni e le caratteristiche di questo straordinario prodotto sono tantissime ed altamente performanti. Per generare dizionari “a tema” a partire da uno specifico file o una cartella, puoi utilizzare Word List Compiler 2.0 della Lastbit, che ho parzialmente tradotto in italiano per facilitarne l’uso. Se invece sei alla ricerca di dizionari precompilati di grandi dimensioni che includano milioni di termini, puoi scaricarli a partire dai seguenti link:

Download: Passwords Pro 3.1.2.1 (2.86 MB)

Ti è piaciuto questo articolo? Lo ritieni valido? Ti è stato utile?
  • MOLTO
  • SI DAI
  • CERTO
  • IN PARTE
  • NO
  • POCO
Ulteriori articoli scelti per te:

5 risposte a Attacco hash delle Password

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *