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.

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.
Nota: la password utilizzata è password; la forza è 1, che è molto debole.
Nota: la password utilizzata è password1; la forza è 28, che è ancora debole.
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.
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.
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.
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.
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.
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.
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.
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.
Passaggio 7) Individuare il file contenente l'elenco di parole.
Passare al 10-più-comuni.txt il file che hai appena scaricato e selezionalo.
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.
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.















