Kali Linux: cosa puoi fare davvero (guida pratica ai tool e ai test di sicurezza)

Cosa puoi fare con Kali Linux: guida pratica ai tool, test di sicurezza e uso da USB, con esempi concreti e senza falsi miti.

Kali Linux è una distribuzione GNU/Linux specializzata, basata su Debian, progettata come piattaforma integrata per attività di sicurezza, auditing e analisi forense. A differenza delle distribuzioni general purpose, non nasce per l’uso quotidiano ma per fornire un ambiente coerente, riproducibile e già pronto per lo svolgimento di test tecnici.

Dal punto di vista architetturale, Kali adotta un modello rolling release: gli aggiornamenti dei pacchetti avvengono in modo continuo. È una scelta importante nell’ambito della sicurezza informatica: tool e meccanismi di aggressione evolvono rapidamente. Il sistema si basa su repository dedicati gestiti da Offensive Security, con pacchetti mantenuti e testati per garantire compatibilità tra strumenti spesso eterogenei.

Kali Linux: perché è un sistema operativo “strumentale”

La progettazione di Kali Linux segue una logica completamente diversa rispetto alle distribuzioni tradizionali: ogni componente del sistema è pensato per ridurre l’attrito operativo durante attività di analisi, auditing e test di sicurezza. Non si tratta solo di avere molti tool preinstallati, ma di integrarli in modo coerente, evitando conflitti, ridondanze o configurazioni incompatibili.

L’integrazione nativa degli strumenti è uno degli aspetti più rilevanti. I tool non sono semplicemente installati, ma sono mantenuti e adattati per funzionare correttamente all’interno dello stesso ambiente. Ciò significa, ad esempio, che librerie, dipendenze e versioni sono allineate per evitare problemi tipici di installazioni manuali su altre distribuzioni.

Desktop Kali Linux Live

Componenti di sistema

Lo stack di rete di Kali Linux è configurato per supportare attività avanzate come sniffing, packet injection e manipolazione del traffico. Grazie ai tool e alle configurazioni presenti, è possibile operare a basso livello sui pacchetti, cosa che in una distribuzione general purpose richiederebbe interventi manuali.

Particolarmente rilevante è il supporto ai driver hardware specializzati, soprattutto in ambito wireless. Kali include e supporta driver compatibili con modalità avanzate, utilizzabili ad esempio in monitor mode e per attività di packet injection. Sono funzionalità sono essenziali per analizzare e testare reti WiFi, ma raramente sono disponibili o configurate correttamente in sistemi destinati all’uso quotidiano.

Categorie funzionali dei tool integrati

Uno dei tratti distintivi di Kali è l’organizzazione dei tool integrati. Le principali categorie includono:

  • Information Gathering: strumenti per la raccolta di informazioni, sia a livello di rete sia tramite OSINT. Qui si identificano target, infrastrutture e superfici di attacco.
  • Vulnerability Analysis: tool dedicati all’individuazione di vulnerabilità note o configurazioni errate, spesso attraverso scansioni automatizzate o semi-automatiche.
  • Wireless Attacks: strumenti specifici per l’analisi e il testing delle reti WiFi, inclusi attacchi su protocolli, autenticazione e configurazioni.
  • Web Application Testing: ambiente completo per analizzare applicazioni Web, testare input, individuare vulnerabilità come SQL injection o XSS e verificare la sicurezza lato server.
  • Sniffing & Spoofing: tool per intercettare, analizzare e manipolare il traffico di rete, fondamentali per comprendere il comportamento dei protocolli e simulare attacchi man-in-the-middle.
  • Exploitation: strumenti che permettono di sfruttare vulnerabilità identificate, principalmente in ambienti di test controllati, per verificare l’impatto reale di un problema di sicurezza.
  • Forensics: software dedicati all’analisi post-evento, recupero dati e investigazione digitale su dischi, file system e memoria.
  • Reverse Engineering: strumenti per analizzare software compilato, comprendere il funzionamento interno di applicazioni e individuare comportamenti nascosti o vulnerabilità.

Come usare Kali Linux da una chiavetta USB avviabile

Sebbene Kali Linux sia distribuito anche sotto forma di immagini per le principali soluzioni di virtualizzazione (download), chi volesse evitare di installare la distribuzione – in modo permanente – su PC può servirsi dell’edizione Live.

Purtroppo Kali Linux Live non è più disponibile sotto forma di file ISO, comodamente scaricabile dal sito ufficiale. Per risolvere, noi abbiamo scaricato una versione portabile del client qBittorrent ed effettuato il download della distribuzione utilizzando il file kali-linux-202***-live-amd64.iso.torrent più recente.

Ci siamo quindi serviti del software Ventoy per far convivere la ISO di Kali Linux Live con molte altre ISO e file VHDX in un’unica chiavetta USB avviabile. In alternativa, è possibile inserire Kali Linux Live in una chiavetta dedicata alla distribuzione servendosi di Rufus.

Semplicemente configurando una chiavetta USB sufficientemente “veloce” (almeno USB Gen 1, 5 Gbps) con Rufus o Ventoy quindi effettuando il boot del PC dall’immagine di Kali Linux Live, è possibile usare la distribuzione senza modificare la configurazione delle unità presenti, con il vantaggio di poter usare tutte le risorse hardware disponibili senza passare per forme di virtualizzazione.

L’unico svantaggio di Kali Linux è che non supporta Secure Boot, secondo noi essenzialmente per una questione ideologica. Per usare la distro, quindi, bisogna ricordarsi di disattivare temporaneamente Secure Boot nel BIOS UEFI.

Attivare la persistenza in Kali Linux Live: cosa significa

Di norma, come qualunque altra distribuzione “Live”, Kali Linux Live perderebbe tutte le preferenze impostate e le modifiche effettuate dall’utente al momento del riavvio o ad ogni spegnimento del PC.

C’è però un trucco che consente di attivare la persistenza in Kali Linux Live: se provate a creare una cartella sul desktop della distro oppure ad effettuare delle modifiche, le ritroverete puntualmente ai riavvii successivi.

Le strade possibili sono due: una consiste nel ricorrere alla nota utilità Rufus: il programma consente di creare una partizione destinata alla persistenza, con la possibilità di specificarne la dimensione esatta.

Nel caso di Ventoy, invece, basta seguire alcune semplici istruzioni per abilitare la persistenza. Il post contiene anche il riferimento a una pratica guida in formato RTF con tanto di immagini esplicative.

In breve, per attivare la persistenza con Ventoy su Kali Linux Live, è necessario creare un file di persistenza (tipicamente un’immagine .dat) formattato in ext4 e configurarlo tramite il file ventoy.json. Successivamente si associa questo file alla ISO di Kali, in modo che all’avvio Ventoy carichi automaticamente l’ambiente con supporto alla scrittura. In questo modo tutte le modifiche (file, configurazioni, tool installati,…) vengono salvate e mantenute tra un riavvio e l’altro.

La differenza è che mentre nel caso di Ventoy la persistenza è molto limitata (4 GB), Rufus permette di avere la partizione di persistenza con una capienza pari a decine di gigabyte.

Come impostare il layout di tastiera italiano

Per usare Kali Linux in tutta comodità, la prima operazione da fare consiste nell’impostare il layout di tastiera italiano. Diversamente, la posizione dei vari simboli non corrisponderà con la loro effettiva dislocazione sulla tastiera italiana.

La procedura da seguire è molto semplice: basta aprire la finestra del terminale quindi impartire i comandi che seguono.

setxkbmap it

sudo dpkg-reconfigure keyboard-configuration (scegliere Other nella prima schermata)

sudo systemctl restart keyboard-setup

Dentro Kali Linux: guida pratica ai tool davvero utili (con esempi concreti)

Entrare in Kali Linux senza avere un’idea di ciò che si troverà non ha senso: è invece importante quando i tool possono essere usati per risolvere problemi reali, verificare cosa è esposto, cosa è vulnerabile e come intervenire.

Scansione della rete locale (chi è connesso?)

Questi strumenti permettono di identificare tutti i dispositivi attivi in una rete locale, anche quelli “invisibili” (IoT, stampanti, smart TV,…). Entrambi forniscono un elenco dei dispositivi, degli indirizzi IP assegnati e dei corrispondenti MAC address. Possono risultare utili per scoprire dispositivi non autorizzati o dimenticati che stanno usando la connessione di rete locale.

sudo netdiscover -r 192.168.1.0/24

nmap -sn 192.168.1.0/24

Analisi porte e servizi (cosa è esposto)

Il comando che proponiamo di seguito verifica quali servizi sono attivi su un dispositivo e su quali porte, rivelando possibili punti di accesso. Esempio:

nmap -sV 192.168.1.10

Il comando aiuta quindi a individuare porte aperte, servizi attivi e versioni software, rivelando servizi esposti, nascosti e potenziali vulnerabilità.

Analisi vulnerabilità Web (quando il problema non è visibile a occhio nudo)

Molti server Web funzionano bene all’apparenza, ma nascondono configurazioni errate che non emergono durante l’uso normale. File di debug lasciati online, directory accessibili senza restrizioni o versioni software obsolete sono problemi comuni. Strumenti come nikto automatizzano proprio questo tipo di analisi: non attaccano il sistema, ma mettono in evidenza debolezze strutturali.

nikto -h http://192.168.1.10

Test delle password: dataset reali, tool e differenze operative

La sicurezza delle password è uno degli ambiti in cui la teoria dovrebbe cedere rapidamente il passo alla pratica. In Kali Linux esiste un ecosistema completo per testare le credenziali, basato su tre elementi chiave: dataset realistici (wordlist); strumenti di attacco (cracking); strategie (regole, maschere, combinazioni).

Una wordlist come rockyou.txt (contiene milioni di password reali provenienti da leak storici) è già inclusa in Kali in formato compresso. Si può estrarne il contenuto semplicemente digitando:

sudo gzip -d /usr/share/wordlists/rockyou.txt.gz

Esiste poi uno strumento come cewl che, partendo dai contenuti di un sito specificato dall’utente, estrae parole potenzialmente rilevanti come nomi, marchi, termini ricorrenti. Esempio:

cewl http://tuosito.it -w custom.txt

Usando il comando cat rockyou.txt custom.txt > wordlist.txt è possibile combinare i dizionari.

Hashcat: potenza e controllo

Hashcat è il riferimento per provare in parallelo milioni di password e verificare quali sono quelle corrette. Il programma non fa altro che calcolare l’hash delle password contenute nel dizionario (come rockyou.txt, custom.txt o wordlist.txt) per verificare la sussistenza di corrispondenze. Esempio:

hashcat -m 1400 -a 0 hash.txt /usr/share/wordlists/rockyou.txt

Con il comando hashcat -m 1400 -a 3 hash.txt ?a?a?a?a?a?a, già visto nell’articolo sulla robustezza delle password citato in precedenza, Hashcat lancia un attacco bruteforce: prova a sequenze del tipo: aaaaaa, aaaaab, aaaaac, e così via fino a esaurire tutte le combinazioni.

John the Ripper: flessibilità e trasformazioni intelligenti per verificare la robustezza delle password

John the Ripper sfrutta un approccio diverso rispetto a strumenti più “brutali” come Hashcat: non punta esclusivamente sulla forza computazionale, ma sulla capacità di adattare e trasformare le password in modo realistico.

Il suo punto di forza è l’utilizzo delle rules, ovvero insiemi di regole che modificano automaticamente le parole presenti in una wordlist per simulare i comportamenti tipici degli utenti. Esempio:

john --wordlist=rockyou.txt --rules hash.txt

Grazie alle rules, John non si limita a provare password esistenti, ma genera varianti plausibili. Ad esempio da ciao a Ciao123; da admin a admin!; da test a t3st; da password a P@ssw0rd e così via. L’approccio riflette un dato concreto: gli utenti raramente inventano password completamente nuove, ma modificano pattern già esistenti.

Generazione combinazioni e verifica degli hash

Quando le wordlist standard non bastano, entra in gioco crunch, uno strumento pensato per generare combinazioni personalizzate.

Il comando seguente, per esempio, genera tutte le password da 6 a 8 caratteri usando i caratteri indicati:

crunch 6 8 abc123 -o wordlist.txt

Servendosi invece di hash-identifier, è possibile analizzare una stringa hash in modo da ottenere suggerimenti sugli algoritmi utilizzati (SHA1, SHA-256, bcrypt, ecc.).

Analisi del traffico di rete con Wireshark (vedere quello che normalmente resta invisibile)

Ogni dispositivo connesso a una rete genera traffico in modo continuo, anche quando non è attivamente utilizzato. Smartphone in standby, smart TV, assistenti vocali, NAS: tutti comunicano periodicamente con server esterni per aggiornamenti, sincronizzazioni o telemetria.

Questo flusso di dati, nella maggior parte dei casi, resta completamente invisibile all’utente. Ed è proprio qui che strumenti come Wireshark diventano fondamentali: permettono di trasformare un’attività nascosta in informazione leggibile e analizzabile.

Un errore comune è pensare che analizzare il traffico significhi leggere contenuti (password, messaggi, ecc.): in realtà, oggi, gran parte del traffico è crittografato (HTTPS/TLS), quindi ciò che si osserva sono soprattutto metadati (chi comunica con chi), frequenza e pattern delle connessioni, tipologia di protocolli utilizzati.

In Kali Linux Live si deve prima aprire una finestra del terminale, digitare sudo dpkg-reconfigure wireshark-common, scegliere Yes quindi attivare il monitoraggio con Wireshark. Con un clic su Start capturing packets, si possono usare dei filtri nella casella in alto:

dns Ogni volta che apri un sito o un’app, il sistema effettua una richiesta DNS per risolvere il dominio. Il filtro permette di osservare in tempo reale i domini contattati (google.com, api.whatsapp.com, ecc.), frequenza delle richieste, dispositivi che generano traffico continuo, richieste verso domini insoliti.

tls Per le connessioni cifrate, come in questo caso, non si può accedere ai dati ma si possono identificare i server di destinazione (SNI), i certificati utilizzati e seguire le procedure di handshake. Ad esempio, il filtro tls.handshake.extensions_server_name mostra subito il nome del server (SNI) nelle connessioni HTTPS.

http Visualizza solo le connessioni HTTP senza cifratura. Qui, in presenza di moduli di login, si leggeranno nomi utente e password in chiaro.

ip.addr == 192.168.1.50 Mostra tutto il traffico da/verso un dispositivo specifico.

Analisi avanzata delle applicazioni Web con Burp Suite

Quando si passa dall’analisi superficiale di un sito Web a una verifica tecnica approfondita, strumenti come Burp Suite diventano indispensabili. A differenza di scanner automatici, Burp lavora come proxy: si posiziona tra il browser e il server, intercettando tutte le richieste HTTP e HTTPS.

E può essere utilizzato non solo lato browser Web ma anche per studiare il comportamento di applicazioni desktop e app per i dispositivi mobili.

Burp non consente solo di osservare il traffico, ma soprattutto di modificarlo in tempo reale. Ad esempio, durante un login, è possibile intercettare la richiesta, alterare i parametri inviati e analizzare la risposta del server. È un approccio completamente diverso rispetto all’uso passivo di strumenti come nikto: Burp apre una porta nella logica dell’applicazione.

Una volta configurato il proxy (tipicamente su 127.0.0.1:8080) e impostato il browser per utilizzarlo, basta attivare la funzione Intercept per iniziare a catturare le richieste. Da qui è possibile inviarle al modulo Repeater, modificarle e ripeterle più volte per testare il comportamento dell’applicazione.

Conclusioni

Kali Linux è molto più di quanto mostrato in questo articolo. Gli esempi proposti – dalla scansione della rete all’analisi del traffico, fino al testing delle password – rappresentano solo una piccola parte delle sue reali potenzialità. Il sistema integra centinaia di strumenti e copre ambiti molto più ampi.

Proprio per questo motivo, è importante chiarire un aspetto fondamentale: Kali Linux non è uno strumento “magico” né una scorciatoia per ottenere risultati immediati. Il suo utilizzo richiede metodo, competenze e soprattutto consapevolezza del contesto in cui si opera.

Un altro punto essenziale riguarda l’utilizzo etico. Gli strumenti inclusi in Kali Linux devono essere impiegati esclusivamente su sistemi propri, in ambienti di test controllati, * con autorizzazione esplicita. L’obiettivo è verificare la sicurezza delle proprie configurazioni, individuare punti deboli e migliorare la protezione di reti e applicazioni. Usare questi strumenti al di fuori del perimetro indicato può comportare conseguenze legali.

Se utilizzato correttamente, Kali Linux diventa una piattaforma estremamente efficace per comprendere come funzionano davvero i sistemi informatici, nella loro struttura più profonda.

Ti consigliamo anche

Link copiato negli appunti