Home › Blog › Password cracking: come funziona e quali strumenti esistono

Password cracking: come funziona e quali strumenti esistono

Il password cracking è l'insieme di tecniche con cui un attaccante risale a una password, o la indovina, senza conoscerla. Può avvenire online, provando credenziali su un servizio di login, oppure offline, partendo da un database di hash rubato. Gli strumenti più noti, come Hashcat e John the Ripper, automatizzano milioni di tentativi al secondo: la difesa dipende da password robuste e da un salvataggio corretto.

In questa guida vediamo come funziona il cracking delle password, quali tecniche e strumenti esistono e che cosa può fare un'azienda per ridurre il rischio. Un'attenzione particolare va al codice PHP, dove il modo in cui si memorizzano le credenziali fa spesso la differenza dopo una violazione.

Come funziona il password cracking

Quasi nessun sistema serio conserva le password in chiaro: salva un hash, cioè il risultato di una funzione matematica a senso unico. Non si può "invertire" l'hash, ma si può calcolare l'hash di molte password candidate e confrontarlo con quello rubato. Quando i due coincidono, la password è stata trovata.

Questo è il cuore del password cracking offline. L'attaccante lavora sul proprio hardware, senza limiti di tentativi e senza far scattare alcun allarme sul sistema della vittima.

Attacco online e attacco offline

Nell'attacco online ogni tentativo passa dal servizio bersaglio, che può bloccare l'account, rallentare le richieste o segnalare l'anomalia. Nell'attacco offline questi controlli non esistono, perché l'attaccante possiede già gli hash: ottenerli è il passo precedente, spesso grazie a una SQL injection, a un backup esposto o a un'intrusione nel server.

Per questo la solidità dell'hash conta tanto quanto la complessità della password. Una password media protetta da un algoritmo lento resiste meglio di una password complessa protetta da un hash veloce.

Le principali tecniche di password cracking

Le tecniche si differenziano per quanto sfruttano il comportamento prevedibile delle persone. Le più comuni sono queste:

Il brute force merita un discorso a parte, perché colpisce anche pannelli di login, VPN e servizi esposti. Se vuoi approfondire le contromisure, trovi una guida dedicata su come difendersi da un attacco brute force.

Strumenti usati per craccare le password

Gli strumenti sono pubblici e usati sia dai criminali sia dai professionisti che verificano la robustezza delle credenziali durante un incarico autorizzato. Conoscerli aiuta a capire che cosa si sta affrontando.

Le prestazioni dipendono dall'algoritmo: gli hash veloci come MD5 e SHA-1 si calcolano in enormi quantità, mentre algoritmi progettati per essere lenti, come bcrypt o Argon2, rendono ogni tentativo molto più costoso. Non citiamo cifre di velocità perché variano molto con l'hardware: se ti servono dati affidabili, consulta la documentazione degli strumenti e fai prove sui tuoi sistemi.

Un uso legittimo richiede sempre autorizzazione scritta. Tentare di accedere a sistemi altrui è accesso abusivo a un sistema informatico, reato previsto dall'art. 615-ter del Codice penale.

Password cracking e codice PHP: gli errori più frequenti

Nelle applicazioni PHP il rischio nasce quasi sempre da come vengono gestite le credenziali. Un database trapelato con hash deboli trasforma un incidente in una compromissione di massa degli account.

Gli errori che incontriamo più spesso sono questi:

La soluzione in PHP è nativa: password_hash() genera un hash con salt incorporato e un algoritmo adeguato, mentre password_verify() controlla la password al login. Con password_needs_rehash() puoi aggiornare gli hash quando decidi di rafforzare i parametri. Alcune delle cause a monte, come le iniezioni, sono trattate nella guida alle vulnerabilità delle applicazioni web secondo l'OWASP Top 10.

Tastiera di un laptop con chiave di sicurezza hardware per proteggere le password
immagine generata con ai

Credenziali predefinite e dispositivi IoT

Tra i casi più semplici di cracking c'è quello che non richiede alcun calcolo: la password di fabbrica. Telecamere, router e sensori vengono spesso consegnati con credenziali uguali per tutti gli esemplari, e gli elenchi di queste combinazioni sono noti e facilmente reperibili.

Per questo è importante modificare le credenziali predefinite di un dispositivo IoT: serve a impedire che chiunque possa accedervi facilmente con la password di default. Non è una questione di personalizzazione o di estetica, ma di sicurezza. Un dispositivo con credenziali di fabbrica può essere trovato e controllato in pochi minuti, e poi usato come punto d'ingresso nella rete. Per il quadro completo dei rischi, leggi la guida su vulnerabilità IoT e attacchi ai dispositivi connessi.

Come ridurre il rischio in azienda

Nessuna misura da sola basta, ma alcune abitudini riducono molto la superficie d'attacco. In un'azienda milanese, dove spesso convivono servizi cloud, VPN e sistemi locali, conviene agire su più livelli.

  1. Password lunghe, non per forza complicate: una frase di più parole è più resistente di una breve con simboli, e più facile da ricordare.
  2. Gestore di password: evita il riuso delle credenziali tra servizi, che alimenta il credential stuffing.
  3. Autenticazione a più fattori: anche una password scoperta non basta per entrare.
  4. Hash corretti nel codice: password_hash() in PHP e algoritmi lenti in ogni applicazione.
  5. Limiti e monitoraggio dei login: blocchi temporanei, avvisi su tentativi anomali e controllo dei log.
  6. Cambio delle credenziali predefinite: su dispositivi, pannelli di amministrazione e software appena installati.
  7. Controllo delle password compromesse: verifica che quelle in uso non compaiano in violazioni note.

Negli ambienti Windows aziendali il cracking assume forme specifiche, legate a ticket e hash di dominio: se li gestisci, approfondisci in attacchi ad Active Directory: tecniche e difese.

Verificare davvero le proprie difese

Sapere come funziona il password cracking è utile, ma ciò che conta è capire se i tuoi sistemi reggerebbero. Un test di sicurezza autorizzato può controllare politiche di password, credenziali predefinite, limiti ai tentativi di accesso e qualità dell'hashing, indicando le correzioni da fare per priorità.

Se vuoi capire come impostare una verifica ripetibile, puoi leggere come funziona il penetration test automatizzato con FRED.

Conclusione

Il password cracking funziona perché le persone scelgono password prevedibili e perché alcuni sistemi le proteggono male. Password lunghe, autenticazione a più fattori, hash moderni e controllo delle credenziali di default tolgono all'attaccante quasi tutti i vantaggi. Se desideri una valutazione concreta della situazione della tua azienda, il team di Fred for Security può aiutarti a individuare i punti deboli e a pianificare le correzioni più urgenti.

Domande frequenti

Qual è la differenza tra brute force e attacco a dizionario?

Il brute force prova tutte le combinazioni possibili di caratteri fino a trovare quella giusta, ed è lento su password lunghe. L'attacco a dizionario prova invece parole e password comuni da un elenco, ed è molto più rapido contro le scelte prevedibili degli utenti.

Il password cracking è legale?

Dipende dal contesto. Verificare la robustezza delle password dei propri sistemi, con autorizzazione scritta, è un'attività lecita di sicurezza. Tentare di entrare in sistemi altrui è invece accesso abusivo, punito dall'art. 615-ter del Codice penale. In caso di dubbi, chiedi un parere legale.

Come si salvano correttamente le password in PHP?

Non vanno mai salvate in chiaro né con hash veloci come MD5 o SHA-1. In PHP si usa password_hash(), che genera automaticamente il salt e usa un algoritmo lento adatto, e password_verify() per il controllo al login. Conviene anche prevedere il rehash quando cambiano i parametri.

Un'autenticazione a due fattori protegge dal password cracking?

Sì, in gran parte. Anche se l'attaccante scopre la password, gli serve il secondo fattore per accedere. Non protegge però l'hash dal essere craccato offline né evita il riuso della password altrove, quindi va affiancata a password robuste e a un salvataggio corretto.