Password CrackerCome decifrare/indovinare una password

⚡ Riepilogo intelligente

Il cracking delle password è la pratica di recuperare le credenziali indovinandole, confrontandole o calcolandole sistematicamente rispetto agli hash memorizzati. Questa panoramica spiega come operano gli aggressori, gli strumenti che utilizzano, i fattori di sicurezza che li contrastano e i controlli che gli amministratori devono implementare.

  • 🧭 FoundationPrincipio: La robustezza di una password si basa su lunghezza, complessità dei caratteri e imprevedibilità, al fine di resistere agli attacchi di forza bruta e al recupero tramite dizionario.
  • 🔐 Hashing contro crittografia: Le credenziali memorizzate sono protette da funzioni hash unidirezionali come MD5, SHA-256 o bcrypt, anziché da crittografia reversibile.
  • 🎯 Tecniche di attacco comuni: Dizionario, forza bruta, tabella arcobaleno, ibrido, spidering e credential stuffing sfruttano comportamenti umani prevedibili.
  • ️ Set di strumenti per il cracking: John the Ripper, Hashcat, Cain & Abel, OphcrackHydra automatizza il recupero offline e online a partire dagli hash catturati.
  • 🤖 Attacchi guidati dall'intelligenza artificiale: I modelli generativi prevedono passphrase realistiche a partire da dati trapelati, migliorando drasticamente l'efficacia dei dizionari contro le credenziali deboli.
  • 🛡️ Controlli difensivi: Gli hash con salt, l'autenticazione a più fattori, le politiche di blocco e i gestori di password neutralizzano la maggior parte dei tentativi di cracking negli ambienti di produzione.

Come decifrare (hackerare) una password?

Il cracking delle password è una delle discipline più antiche della sicurezza offensiva, eppure rimane più che mai attuale perché gli utenti continuano a scegliere password prevedibili. In questo tutorial, presenteremo le tecniche più comuni utilizzate dagli hacker per recuperare le password, gli strumenti che automatizzano il processo e le contromisure che gli amministratori possono implementare per proteggere i sistemi da questi attacchi.

Cos'è il cracking delle password?

Il cracking delle password è il processo che tenta di ottenere un accesso non autorizzato a un sistema protetto recuperando il segreto che protegge un meccanismo di autenticazione. Il processo di cracking può prevedere il confronto degli hash delle password memorizzate con un elenco di parole precalcolato o l'esecuzione di algoritmi che generano password candidate fino a quando non viene trovata una corrispondenza. Una volta trovata la corrispondenza, l'attaccante può autenticarsi come un utente legittimo senza dover fare tentativi online.

Che cos'è la sicurezza della password?

La robustezza di una password è la misura della sua efficacia nel resistere agli attacchi di decifrazione. La robustezza di una password è determinata da tre proprietà:

  • Lunghezza: il numero totale di caratteri contenuti nella password.
  • Complessità: se utilizza una combinazione di lettere maiuscole, lettere minuscole, numeri e simboli.
  • Imprevedibilità: se la password può essere indovinata facilmente da un malintenzionato che conosce l'utente.

Confrontiamo tre password: password, password1e #password1$Per questo esempio, utilizzeremo l'indicatore di robustezza della password di cPanel. Le immagini seguenti mostrano la robustezza di ciascun candidato.

L'indicatore di robustezza della password di cPanel mostra una valutazione molto debole per la password di valore

Nota: la password utilizzata è password; la forza è 1, che è molto debole.

Indicatore di robustezza della password di cPanel che mostra una valutazione debole per il valore password1

Nota: la password utilizzata è password1; la forza è 28, che è ancora debole.

Indicatore di robustezza della password di cPanel che mostra una valutazione elevata per il valore hashpassword1dollar

Nota: la password utilizzata è #password1$La forza è 60, il che indica una password robusta. Più alto è il valore di forza, migliore è la password.

Supponiamo ora di dover memorizzare le stesse password utilizzando l'hashing MD5. Useremo un generatore di hash MD5 online per convertire ogni password nel suo valore hash. La tabella seguente mostra gli hash risultanti.

Password Hash MD5 Indicatore di forza di cPanel
password 5f4dcc3b5aa765d61d8327deb882cf99 1
password1 7c6a180b36896a0a8c02787eeafb0e4c 28
#password1$ 29e08fb7103c327d68327f23d8d9256c 60

Utilizzeremo ora un sito pubblico di ricerca inversa MD5 per decifrare gli hash sopra riportati. Le immagini seguenti mostrano i risultati della decifrazione della password per ciascun valore.

Risultato della ricerca inversa MD5 per l'hash del valore password

Risultato della ricerca inversa MD5 per l'hash del valore password1

Risultato della ricerca inversa MD5 che mostra l'impossibilità di decifrare il valore forte hashpassword1dollar

Come si evince dai risultati sopra riportati, siamo riusciti a decifrare la prima e la seconda password, che presentavano un livello di sicurezza inferiore. Non siamo invece riusciti a decifrare la terza password, che era più lunga, complessa e imprevedibile, e che aveva un livello di sicurezza superiore.

Tecniche di cracking delle password

Esistono diverse tecniche comprovate utilizzate dagli hacker per recuperare le password. Di seguito descriveremo le categorie più comunemente utilizzate.

  • Attacco al dizionario: Questo metodo utilizza un elenco di parole potenzialmente valide e confronta ciascuna di esse con le password utente o gli hash delle password acquisiti.
  • Attacco con la forza bruta: Gli attacchi di forza bruta combinano caratteri alfanumerici e simboli utilizzando algoritmi per generare sistematicamente ogni possibile password fino a quando non viene trovata una corrispondenza. Ad esempio, una password come password può anche essere provato come parola p@$$word utilizzando una regola ibrida di forza bruta.
  • Attacco al tavolo arcobaleno: Questo metodo si basa su hash precalcolati. Supponiamo che un database memorizzi le password come hash MD5. L'attaccante crea un'altra tabella che memorizza gli hash MD5 delle password più comuni e confronta l'hash catturato con quello presente nella tabella precalcolata. Se viene trovata una corrispondenza, la password viene recuperata.
  • Indovinare: Come suggerisce il nome, questo metodo si basa sul tentativo di indovinare. Password come QWERTY, passworde Admin sono comunemente utilizzate o impostate come predefinite. Se non sono state modificate, possono essere compromesse rapidamente.
  • Spidering: La maggior parte delle organizzazioni utilizza password che contengono informazioni aziendali. Queste informazioni possono essere raccolte dai siti web aziendali e dai social media come Facebook e Twitter. Lo spidering raccoglie dati da queste fonti per creare elenchi di parole mirati, che vengono poi utilizzati in attacchi a dizionario e a forza bruta.
  • Ripieno di credenziali: Gli aggressori riutilizzano le coppie di nome utente e password trapelate da una violazione dei dati contro servizi non correlati, sfruttando gli utenti che riutilizzano le stesse credenziali.

Un elenco di parole chiave per la ricerca di informazioni su un'azienda fittizia potrebbe includere: 1976 (anno di nascita del fondatore); Smith, Jones (cognomi); Acme (nome dell'azienda); Built, to, last (parole chiave relative alla visione); Golfing, Chess, Soccer (hobby).

La tabella seguente confronta le tecniche in base a velocità, prerequisiti e rilevabilità.

Tecnica Velocità Richiede hash? Rilevabile online?
Dizionario Connessione Opzionale Si
Forza bruta Rallentare Opzionale Si
Tavolo arcobaleno Molto veloce Si No (offline)
indovinare Variabile Nodo Si
ragnatela Rallentare Nodo Si
Riempimento di credenziali Connessione Nodo Si

Password Cracker Strumenti

Gli strumenti di cracking delle password sono programmi software che automatizzano le tecniche descritte in precedenza. Abbiamo già accennato a uno di questi strumenti nell'esempio precedente sulla robustezza delle password, in cui una ricerca MD5 pubblica utilizza una tabella arcobaleno per invertire gli hash più comuni. Ora esamineremo altri strumenti a cui i professionisti si affidano durante le valutazioni autorizzate.

1) John the Ripper
John the Ripper Utilizza il prompt dei comandi e accetta elenchi di parole con regole per generare candidati. Rileva automaticamente molti formati di hash comuni. Il programma è gratuito, mentre elenchi di parole commerciali selezionati sono disponibili separatamente. Visita https://www.openwall.com/john/.

2) Cain & Abel
Cain & Abel gira su Windows e recupera le password degli utenti, esegue l'analisi del traffico di rete e altro ancora. La sua interfaccia grafica lo rende popolare tra i neofiti. Lo strumento non è stato attivamente mantenuto dal 2014, quindi utilizzalo solo su sistemi di laboratorio obsoleti. Vedi https://sectools.org/tool/cain/.

3) Ophcrack
Ophcrack è una piattaforma multipiattaforma Windows programma per craccare password che utilizza tabelle arcobaleno. Funziona su Windows, Linux e macOSe include un modulo di forza bruta. Visita https://ophcrack.sourceforge.io/.

4) Hashcat
Hashcat è lo standard moderno per il recupero offline delle password. Supporta oltre 300 algoritmi di hash, sfrutta l'accelerazione GPU e offre attacchi basati su regole. La documentazione si trova all'indirizzo https://hashcat.net/hashcat/.

5) Idra
Hydra (THC-Hydra) prende di mira i servizi online come SSH, FTP, RDP e i moduli di accesso HTTP. Viene fornito con Kali Linux ed è ampiamente utilizzato nelle operazioni autorizzate del red team.

Come proteggersi dagli attacchi di cracking delle password?

Un'organizzazione può adottare le seguenti misure per ridurre le probabilità che le password vengano violate:

  • Il testo deve contenere almeno 12 caratteri ed evitare sequenze prevedibili come 11552266 o qwerty1234.
  • È preferibile memorizzare le password utilizzando una funzione di hash unidirezionale lenta come bcrypt, scrypt o Argon2, piuttosto che funzioni di hash veloci come MD5 o SHA-1.
  • Aggiungete un sale a ogni password prima di sottoporla ad hashing; i sali impediscono le ricerche nelle tabelle rainbow anche quando l'hash stesso è veloce.
  • Adottate politiche per le password che privilegino punteggi di robustezza elevati e promuovano le passphrase, come raccomandato dallo standard NIST SP 800-63B.
  • Attiva l'autenticazione a più fattori (MFA) in modo che una password rubata da sola non garantisca l'accesso.
  • Utilizza un gestore di password per generare credenziali univoche per ogni servizio, neutralizzando così gli attacchi di credential stuffing.
  • Configura il blocco dell'account, la limitazione della velocità e il monitoraggio continuo per rilevare tempestivamente le attività di attacco brute force online.

Attività di hacking: hackera ora!

In questo scenario pratico, risolveremo un Windows account che utilizza una password semplice. Windows memorizza le credenziali locali come hash NTLM (uno schema basato su MD4) e useremo il modulo di cracking NTLM di Cain and Abel per recuperare il valore.

Caino e Abele possono decifrare le password utilizzando un attacco a dizionario, la forza bruta o la crittanalisi (tabelle precalcolate). Qui useremo l'attacco a dizionario. Scarica la lista di parole 10k-Most-Common.zip da un mirror affidabile. Per questa dimostrazione, abbiamo creato un account chiamato conti con la password QWERTY su una Windows 7 apparecchiature da laboratorio.

Windows 7 utenti di laboratorio denominati Account creati con la password semplice qwerty per la dimostrazione

Come decifrare una password

La procedura descritta di seguito associa ogni schermata di Cain and Abel all'azione da intraprendere. Segui i passaggi in ordine utilizzando il tuo account di laboratorio, mai un sistema di cui non sei proprietario.

Passaggio 1) Apri Caino e Abele.
Avvia l'applicazione; visualizzerai la seguente schermata principale.

Interfaccia principale di Caino e Abele con la scheda Cracker visibile

Passaggio 2) Individua il pulsante Aggiungi.
Assicurati che la scheda Cracker sia selezionata come mostrato sopra e fai clic sul pulsante Aggiungi nella barra degli strumenti.

Scheda Cracker selezionata con il pulsante Aggiungi evidenziato sulla barra degli strumenti di Cain e Abel

Passaggio 3) Scegliere l'origine dell'importazione.
Viene visualizzata la seguente finestra di dialogo. Seleziona Importa gli hash dal sistema locale e fare clic su Avanti.

Dialogo tra Caino e Abele che chiede da quale fonte importare gli hash NTLM.

Passo 4) RevVisualizza gli account importati.
Gli account utente locali sono elencati come segue. I risultati esatti corrisponderanno agli account utente presenti sul computer del laboratorio.

Elenco dei prodotti locali importati Windows conti pronti per essere decifrati all'interno di Caino e Abele

Passaggio 5) Fare clic con il pulsante destro del mouse sull'account di destinazione.
Fai clic con il pulsante destro del mouse sull'account che vuoi violare. Per questo tutorial, useremo l' conti utente.

Fai clic con il pulsante destro del mouse sul menu contestuale dell'utente Account all'interno di Cain and Abel

Passaggio 6) Aprire il pannello di attacco a dizionario.
Nella finestra di attacco del dizionario, fai clic con il pulsante destro del mouse nella sezione del dizionario e seleziona Aggiungi alla lista come mostrato di seguito.

Pannello di attacco a dizionario con l'opzione "Aggiungi alla lista" evidenziata

Passaggio 7) Individuare il file contenente l'elenco di parole.
Passare al 10-più-comuni.txt il file che hai appena scaricato e selezionalo.

Apri il browser dei file all'interno di Cain and Abel per scegliere la lista di 10 password più comuni.

Passo 8) RevVisualizza la password recuperata.
Se l'utente sceglie una password semplice come QWERTY, vedrai risultati simili alla schermata sottostante, con il valore in chiaro accanto all'account utente.

Caino e Abele mostrano la password in chiaro recuperata qwerty per l'utente Accounts

Nota: il tempo necessario per decifrare una password dipende dalla sua robustezza, dalla complessità dell'elenco di password candidate e dalla potenza di elaborazione del computer. Se l'attacco a dizionario non riesce a recuperare la password, prova un attacco a forza bruta o un attacco di crittanalisi.

Come l'IA è Reshaping Decifrazione e difesa delle password

L'intelligenza artificiale è diventata una forza determinante da entrambe le parti nel campo della decifrazione delle password. Gli aggressori addestrano modelli linguistici utilizzando i dump di credenziali trapelate per prevedere passphrase realistiche, mentre i difensori combinano gli stessi modelli con pipeline di telemetria per rilevare le compromissioni più rapidamente.

Ecco come l'intelligenza artificiale sta cambiando il settore oggi:

  • Generazione di elenchi di parole più intelligenti: I modelli generativi come PassGAN apprendono i modelli di password umani e producono elenchi di candidati che decifrano più hash rispetto ai dizionari statici.
  • Valutazione del rischio comportamentale: L'IA difensiva ispeziona la geografia di accesso, l'impronta digitale del dispositivo e il tipoping ritmo, inviando contesti insoliti per intensificare l'autenticazione.
  • Rilevamento delle anomalie in tempo reale: I classificatori di apprendimento automatico monitorano i registri di autenticazione e segnalano tentativi di credential stuffing o attacchi brute force lenti che le regole di firma non rilevano.
  • Consulenza automatizzata sulle politiche aziendali: Le piattaforme di gestione delle identità valutano le nuove passphrase confrontandole con i corpus specifici dell'organizzazione e suggeriscono alternative più sicure prima che gli utenti le finalizzino.
  • Difesa a prova di phishing: L'intelligenza artificiale accelera l'implementazione di FIDO2 e dei flussi di accesso tramite password, analizzando i segnali di rischio e riducendo le difficoltà per l'utente.

Abbina il monitoraggio basato sull'intelligenza artificiale all'autenticazione a più fattori, a moderni algoritmi di hashing come Argon2 e a feed di notifica rapidi delle violazioni per mantenere la difesa automatizzata un passo avanti rispetto all'attacco automatizzato.

DOMANDE FREQUENTI

La decifrazione delle password è legale solo se eseguita con esplicita autorizzazione scritta, ad esempio nell'ambito di test di penetrazione, audit interni o per il recupero delle proprie credenziali. La decifrazione non autorizzata viola le leggi sull'uso improprio dei sistemi informatici in quasi tutte le giurisdizioni.

L'hashing è una trasformazione irreversibile: il valore originale non può essere recuperato. La crittografia, invece, è reversibile con la chiave corretta. Le password dovrebbero essere sempre memorizzate come hash con salt utilizzando algoritmi come bcrypt, scrypt o Argon2, mai come stringhe crittografate.

Per il cracking offline, Hashcat è generalmente il più veloce perché utilizza l'accelerazione GPU e supporta attacchi basati su regole su oltre 300 formati di hash. John the Ripper Rimane una scelta popolare quando le risorse della GPU sono limitate.

Il salt è un valore casuale univoco aggiunto a ogni password prima che venga sottoposta ad hashing. L'aggiunta di un salt contrasta gli attacchi rainbow table perché le tabelle precalcolate funzionano solo contro hash non salati. I salt garantiscono inoltre che due utenti con la stessa password producano valori memorizzati diversi.

Una password di 12 caratteri, composta da lettere, numeri e simboli, può richiedere secoli per essere decifrata con un attacco di forza bruta contro un algoritmo di hash lento come bcrypt. Contro un algoritmo MD5 veloce e senza salt, la stessa password potrebbe essere decifrata in pochi giorni. Sia la scelta dell'algoritmo di hash che la sua lunghezza sono fondamentali.

Gli aggressori addestrano modelli generativi come PassGAN su dump di credenziali trapelati in modo da prevedere passphrase umane realistiche. Gli elenchi di parole risultanti decifrano un numero notevolmente maggiore di hash rispetto ai dizionari statici durante lo stesso tempo di esecuzione, soprattutto se abbinati a mutazioni basate su regole in Hashcat.

Sì. L'IA difensiva definisce i parametri di riferimento per il normale comportamento di accesso, valuta il rischio per ogni tentativo e segnala ondate di credential stuffing o lente campagne di forza bruta che i motori di regole non rilevano. Per ottenere i risultati migliori, abbina il monitoraggio tramite IA all'autenticazione a più fattori e a moderne tecniche di hashing come Argon2.

L'autenticazione a più fattori blocca la stragrande maggioranza dei tentativi di intrusione, poiché una password recuperata da sola non è sufficiente per completare l'accesso. I fattori di protezione anti-phishing, come le chiavi di sicurezza FIDO2 e le passkey, offrono la massima sicurezza e dovrebbero essere abilitati ove possibile.

Riassumi questo post con: