Siti web e assistenza remota

Ultimo aggiornamento 9 Agosto 2022

hash e password.

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, Instagram, TikTok 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, approfondimenti ed esempi pratici

L’hacker di turno ottiene l’hash della password della Banda Bassotti 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 migliaia di miliardi di termini, più di 1,150,000,000,000 (hai capito bene!). Copia e incolla la stringa su riportata nell’apposito campo del sito menzionato e clicca su Decrypt. Sullo stesso portale puoi verificare il processo inverso (MD5 Encrypter).

Violare diverse codifiche hash

Violare codifiche hash password. Attacco a dizionario e attacco brute force.
Attacco a dizionario e attacco brute force

Il Salt, questo sconosciuto

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 la Banda Bassotti 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:

PasswordSaltRisultato Hash MD5
password123(nessuno)482c811da5d5b4bc6d497ffa98491e38
password123sale321cf780d5206af87b64f6df62e5381004e

Copiando e incollando la stringa con il salt sul sito precedentemente linkato, 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, infatti ogni bit di sale raddoppia i calcoli necessari all’attacco; un buon motivo per tenere segreto questo dato. Gli hash così “conditi” restano comunque sensibili agli attacchi a forza bruta e a quelli a dizionario.

Suggerimenti, sicurezza e statistiche

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.

Hash Hacking in corso

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 subito 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 software che di fatto possiede caratteristiche opposte a quelle poc’anzi citate. Passwords Pro è un programma shareware per Windows (la versione in download è completa), non più commercializzato e per questo motivo difficilmente reperibile. Ho individuato il file localizzato di una precedente release (la 2.4.4.2) e ho provveduto a perfezionarlo e adattarlo alla più attuale versione (la 3.1.2.1) e adesso Password Pro è interamente tradotto in italiano. Infine l’ho dotato di setup di installazione, dato che il software ne era praticamente sprovvisto.

Violare molteplici codifiche hash

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/10/11.

Per ottenere gli hash puoi utilizzare una piccola sorprendente utility chiamata Mimikatz (password: marcucciogemel.it) e impartire come amministratore in successione i comandi “privilege::debug” e “sekurlsa::msv“, come mostrato in questo esempio. Nota. In verità con il comando “sekurlsa::logonpasswords” puoi ottenere immediatamente le password di Windows in chiaro.

CMS e S.O. HashTipo di Hash
Joomla6edb6d10ea920c5d4d0a337efb4077eemd5($pass.$salt)
Worpress$P$BilsaltqO7.UDoX9zxQ3r5y2Nl6G0MD5(WordPress)
Drupal$S$CforteZT47H8YFKK4qSdeWBzYlgnc6xPyCM6OwFPi10cEJ6RkSHA-512(Drupal)
Windows 7/10/1105af928255a863470439110616156ff2NTLM

Passwords Pro 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).
  • 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/combinato/ibrido. 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)

Lascia un commento

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

5 risposte a Attacco hash delle Password