Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Kali Linux: attacchi alle password

Utilizzare la distribuzione Kali Linux, e gli strumenti che mette a disposizione dei suoi utenti, per attaccare le password.
Utilizzare la distribuzione Kali Linux, e gli strumenti che mette a disposizione dei suoi utenti, per attaccare le password.
Link copiato negli appunti

Introduzione a Kali Linux

Kali Linux è una distribuzione Linux che, out-of-the-box, dispone di diversi strumenti per attaccare le password. A seconda del tipo di attacco che si desidera eseguire, ci sono diversi strumenti per soddisfare la necessità. In questa guida vedremo quale strumento utilizzare a seconda della password da attaccare.

Kali linux, con i sui tool, permette di attaccare sia le password memorizzate che le password online indipendentemente dal sistema operativo utilizzato.

In questa guida useremo Hashcat per un attacco diretto alle password memorizzate su un qualsiasi sistema Linux, John the ripper per l’attacco a password memorizzate su PC Windows, e infine Hydra per l’attacco alle password online anche di Instagram.

Password e Kali Linux

Le password, a seconda che siano in Linux o Windows, vengono memorizzate e/o confrontate utilizzando un algoritmo di cifratura, chiamato hash. I sistemi operativi di casa Microsoft salvano le credenziali nel file SAM (la cui posizione nel file system cambia in base al sistema operativo). I sistemi operativi Linux salvano la password in nel file denominato Shawod, che si trova nella cartella etc. L’unica differenza tra Windows e Linux consiste nell’utilizzo della funzione di salting: Linux la utilizza Windows no.

Con il salting, il sistema operativo aggiunge una serie di caratteri alla password utente.

Ad esempio, se un utente sceglie la password 123456, l'operazione di salting la trasforma in 1238456. Applicando a quest'ultima stringa l’algoritmo SHA-256 (un algoritmo di hash molto noto, e considerato uno standard crittografico), su una macchina Linux otterremo questa stringa:

1d51f997fc08294a3590c5419c35ebdbf6f96f02974dc9d729b7c61121d3b790

Su una macchina Windows, invece, otterremo questa:

8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

Entrambe sono rappresentano l’hash della password utente 123456, ma una funziona su Linux e l’altra su Windows.

Esistono molti strumenti e siti web per il calcolo degli hash. In questa guida faremo riferimento al tool online offerto da fileformat.info.

Nel corso della guida vedremo come, nei vari casi, recupereremo la password a partire dall'hash.

Metodi di attacco alle password

Quando si attacca una password abbiamo essenzialmente quattro possibilità.

La prima consiste nell’indovinare la password, cosa che può sembrare banale ma risulta spesso il metodo più semplice ed efficace, dato che quasi sempre si scelgono password non molto lunghe e facili da ricordare.

Se conosciamo la vittima, possiamo provare a stilare un elenco contenete qualche password, e testarle tutti.

Se la prima opzione non funziona, non ci resta che utilizzare i tool a nostra disposizione effettuando un attacco a dizionario o a forza bruta.

Un attacco a dizionario usa un elenco di password molto esteso e confronta l’hash recuperato con quello generato dalle singole parole del dizionario. È tuttavia spesso inefficace se la funzione di salting è stata utilizzata per alterare l’hash.

Brute force - Kali Linux

L’attacco a forza bruta (o brute force) va invece a testare tutte le combinazioni possibili. Un attacco di questo tipo trova sempre la password desiderata, ma richiede molto tempo (spesso troppo).

Un quarto metodo consisterebbe nell'uso delle rainbow tables: si tratta di dizionari contenenti già l’hash di molte parole note. Per essere efficaci, tali tabelle devono essere piene di dati, e di conseguenza esse occupano parecchio spazio (dell'ordine dei terabyte). Anche questa tecnica, però, risulta inefficace se la funzione di salting è stata utilizzata per alterare l’hash.

La soluzione di solito preferita dagli hacker consiste nell’utilizzare un attacco di forza bruta sfruttando però un dizionario compilato per lo specifico caso, una sorta di ibrido tra la seconda e terza opzione viste prima.

Anche noi utilizzeremo questo attacco ibrido, perciò la prima cosa da fare consisterà nel crearci il dizionario personalizzato.

Creazione di dizionari personalizzati

Per creare i nostri dizionari personalizzati possiamo utilizzare i tool cewl o Crunch.

CEWL, acronimo di custom word list generator, è una piccola applicazione Ruby, fondamentalmente uno spider, che recupera le parole-chiave da siti web sulla base di specifici filtri. La lista completa dei comandi supportati è disponibile sul sito ufficiale.

Vediamo come sfruttare il tool per i nostri scopi. Apriamo un shell di Kali Linux e digitiamo questa stringa:

cewl https://digi.ninja -m 5 -d 2 -w dizionario.txt

Dovremmo ritrovarci in una situazione simile:

Commentiamo la stringa appena digitata:

  • cewl avvia il tool;
  • https://digi.ninja indica il target;
  • -m specifica la lunghezza minima delle parole da ricercare;
  • -d ci permette di specificare la profondità dello spider;
  • -w crea un file su cui salvare i dati.

Per accedere al contenuto del file dizionario.txt, lanciamo questo comando nella stessa shell o in una nuova, indifferentemente:

wc -l dizionario.txt

Abbiamo trovato 5753 parole utili in base ai nostri filtri.

Passiamo ora al secondo tool, Crunch. Apriamo nuovamente un shell il Kali Linux, digitando:

crunch 6 6 AB

Questo comando genera tutte le possibili permutazioni di 6 caratteri utilizzando le lettere A e B.

Ora che sappiamo come e dove vengono salvate le password, le metodologie di attacco e come creare i nostri dizionari personalizzati, possiamo passare ai vari metodi di cracking delle password, oggetto delle prossime lezioni.

Nota: questa lezione ha puro scopo educativo, e tutti i test sono stati eseguiti in ambiente di laboratorio. Eventuali tentativi di replica su siti web o indirizzi IP pubblici costituiscono reato informatico.

Ti consigliamo anche