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 Non Si
ragnatela Rallentare Non Si
Riempimento di credenziali Connessione Non 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: