f in x
Ethical Hacking e Penetration Testing: La Guida Pillar Definitiva per Professionisti della Sicurezza
> cd .. / HUB_EDITORIALE > Visualizza in Inglese
Sicurezza Informatica

Ethical Hacking e Penetration Testing: La Guida Pillar Definitiva per Professionisti della Sicurezza

[2026-06-14] Author: Ing. Calogero Bono

Il cliente ti chiama alle 23:00. Il sito è offline. Poco prima, un alert del firewall: tentativo di SQL injection partito da un IP estero. Scopri che la vulnerabilità era in un form di contatto lasciato senza sanitizzazione tre anni fa. Il backup più recente è di due mesi fa. – Se lavori in un'azienda italiana di medie dimensioni, questa scena te la racconti da solo. Noi di Meteora Web lo vediamo ogni giorno. Da qui nasce questa guida: non un manuale teorico, ma un percorso operativo su come testare la sicurezza di un sistema prima che qualcun altro lo faccia al posto tuo, senza chiederti il permesso.

In questa Pillar Page copriamo l’intero ciclo di un penetration test etico: metodologia, strumenti, tecniche avanzate e la parte più sottovalutata – la scrittura del report. Ogni sezione ti dà qualcosa che puoi usare subito. Nessun preambolo accademico.

Cos’è l’Ethical Hacking e Quale Quadro Normativo lo Regola in Italia

L’ethical hacking è il test autorizzato delle difese di un sistema informatico. Senza autorizzazione scritta, è reato (art. 615-ter del Codice Penale – accesso abusivo a sistema informatico). In Italia la cornice di riferimento è la Legge 48/2008 che ratifica la Convenzione di Budapest sul cybercrime. Un penetration test etico deve avere un perimetro chiaro: obiettivi, tempistiche, esclusioni, gestione dei dati sensibili. Noi, di Meteora Web, quando avviamo un assessment firmiamo sempre un documento che specifica cosa si può testare e cosa no, e definisce le finestre orarie – mai a sorpresa.

Metodologie standard: PTES, OWASP Testing Guide, OSSTMM

Le tre principali metodologie riconosciute a livello internazionale sono:

  • PTES (Penetration Testing Execution Standard): 7 fasi – pre-engagement, intelligence gathering, threat modeling, vulnerability analysis, exploitation, post-exploitation, reporting.
  • OWASP Testing Guide: focalizzata su applicazioni web, con checklist per ogni vulnerabilità (OWASP Top 10).
  • OSSTMM (Open Source Security Testing Methodology Manual): più orientato alla sicurezza operativa e dei processi.

Noi usiamo un ibrido: per il web application testing seguiamo OWASP, per l’infrastruttura PTES. Ogni fase produce dati che confluiscono nel report finale.

Sponsored Protocol

Azione immediata: Scarica il template di autorizzazione al test dal sito di OWASP Testing Guide e adattalo alla tua realtà. Mai un comando senza un foglio firmato.

Kali Linux: Setup dell’Ambiente di Penetration Testing

Kali Linux è la distribuzione Debian-based più usata per il penetration testing. Include oltre 600 tool preinstallati. Se parti da zero, il primo passo è l’installazione: virtuale (VirtualBox / VMware), bare-metal o Live USB. Per test su reti aziendali sconsigliamo il Live USB perché le performance di scrittura sono limitate. Un’ installazione su macchina virtuale con 4 GB di RAM e 2 CPU è sufficiente per la maggior parte degli scenari.

Comandi essenziali post-installazione

# Aggiornamento del sistema
sudo apt update && sudo apt full-upgrade -y

# Installazione di strumenti aggiuntivi (se non presenti)
sudo apt install -y gobuster dirb seclists

# Verifica dell'installazione degli strumenti principali
which nmap sqlmap burpsuite hashcat

Organizzazione delle workspace

Crea una struttura di directory per ogni progetto:

mkdir -p ~/pentest/{recon,exploit,reports,loot}

Questo semplice schema ti evita di perdere risultati e facilita la stesura del report. Lo usiamo per ogni assessment.

Azione immediata: Installa Kali Linux in ambiente virtualizzato, esegui l’update e crea la struttura directory sopra. Poi installa seclists (contiene wordlist per directory busting e password cracking).

Reconnaissance e OSINT: Raccogliere Informazioni senza Lasciare Tracce

La fase di ricognizione è quella che separa un pentester da uno script kiddie. Raccolta passiva (nessun pacchetto inviato al target) e attiva (scansione controllata).

OSINT passivo: strumenti e tecniche

  • whois: informazioni sul dominio (registrante, nameserver, date di creazione).
  • theHarvester: estrae email, subdomini e IP pubblici da motori di ricerca, PGP keys, Linkedin.
  • Shodan: motore di ricerca per dispositivi connessi (cerca port:22 country:IT per SSH accessibili in Italia).
  • Google dorking: operatori avanzati come site:target.com filetype:pdf o intitle:"index of" / per directory listing.
# Esempio con theHarvester
theHarvester -d meteoraweb.com -l 500 -b google

Enumerazione attiva: Nmap e masscan

Per la scansione delle porte usa Nmap. La scansione iniziale veloce: nmap -sT -Pn -p1-10000 target. Per reti interne o test autorizzati, masscan è molto più rapido:

Sponsored Protocol

sudo masscan 192.168.1.0/24 -p22,80,443,3306 --rate=1000

Importante: scansioni aggressive su server di produzione possono generare allarmi SOC o bloccare servizi. Chiedi sempre finestre di test.

Azione immediata: Esegui un OSINT passivo su un dominio di tua proprietà (es. il tuo blog). Usa theHarvester e shodan.io. Documenta tutto: le informazioni raccolte serviranno nel report.

Vulnerability Scanning: Nmap, Nessus e OpenVAS

Lo scanning automatico delle vulnerabilità è un passo necessario ma mai sufficiente. Nessun tool sostituisce l’analisi manuale. Usiamo Nmap con script NSE per identificare vulnerabilità note, e OpenVAS per una scansione più estesa.

Scan con NSE (Nmap Scripting Engine)

# Scansione vulnerabilità su un servizio web
nmap --script=http-vuln* -p80,443 target

Script consigliati: http-sql-injection, http-xss, ssl-enum-ciphers. Attenzione ai falsi positivi: ogni alert va verificato manualmente.

OpenVAS: installazione e configurazione rapida

# Su Kali, OpenVAS è preinstallato (gvm)
sudo gvm-setup
sudo gvm-start
# Accedi via browser a https://127.0.0.1:9392 con credenziali create durante setup

Lancia una scansione “Full and Fast”, poi esporta il report in PDF. I falsi positivi possono essere tantissimi: dedica tempo alla triage.

Azione immediata: Configura OpenVAS sul tuo Kali e lancia una scansione su una macchina virtuale vulnerabile (es. Metasploitable 2). Confronta i risultati con un Nmap NSE. Impara a distinguere un falso positivo da una vulnerabilità reale.

Web Application Pentesting: Burp Suite dalla Configurazione all’Exploit

Burp Suite Community Edition è lo standard de facto per il test delle applicazioni web. Il flusso di lavoro: intercettazione, analisi del traffico, attacco manuale.

Setup del proxy e certificato HTTPS

  1. Avvia Burp Suite, vai al tab Proxy > Options, porta 8080.
  2. Configura il browser (es. Firefox) per usare il proxy 127.0.0.1:8080.
  3. Visita http://burpsuite e scarica il certificato CA per fare HTTPS interception.

Nota: non usare il browser principale con il proxy attivo. Usa un browser isolato o una macchina virtuale separata per non inquinare le tue sessioni.

Sponsored Protocol

SQL Injection Manuale e con sqlmap

Identifichi un parametro vulnerabile? Esempio in un form di login: username=admin' OR '1'='1. Ma la vera potenza è nell’uso combinato di Burp Repeater e sqlmap.

# Copia la richiesta HTTP da Burp Repeater e salvala in request.txt
sqlmap -r request.txt --batch --level=3 --risk=2

Sqlmap automatizza l’estrazione di database, tabelle e dati. Ma occhio: non eseguire mai sqlmap su target non autorizzato. Può corrompere dati o mandare in crash il database.

Azione immediata: Configura Burp Suite con Firefox su una macchina virtuale con OWASP WebGoat (un’app vulnerabile). Esercitati a intercettare richieste e a modificare parametri. Poi usa sqlmap con il file di richiesta.

Privilege Escalation su Linux: dall’Accesso Iniziale al Root

Una volta ottenuto un accesso (es. shell inversa su un server web), l’obiettivo è scalare privilegi. Le tecniche principali:

  • Kernel exploit: controllare con uname -a e cercare exploit per quella versione (es. Dirty Pipe CVE-2022-0847).
  • SUID misconfiguration: trovare binari con suid bit usando find / -perm -4000 -type f 2>/dev/null. Un classico: nmap --interactive se ha il suid.
  • Sudo rights: esegui sudo -l. A volte un utente può eseguire comandi come root senza password.
  • Cron job: cerca script in /etc/crontab scrivibili dal tuo utente.

Esempio pratico: se trovi /usr/bin/python3 con suid, puoi fare:

/usr/bin/python3 -c 'import os; os.setuid(0); os.system("/bin/bash")'

Azione immediata: Su una macchina Linux di test (es. Metasploitable 2 o Debian vulnerabile), ottieni una shell a bassi privilegi (via SSH o reverse shell). Applica la checklist sopra e cerca di diventare root. Documenta ogni passaggio: sarà il cuore del tuo report.

Password Cracking: Hashcat, John the Ripper e Rainbow Table

Dopo un dump di hash (es. da SQL injection o da file /etc/shadow), serve l’offline cracking. Mai tentare brute force online: è lento e rumoroso.

Identificare il tipo di hash

hashid hash.txt
hash-identifier

Esempio: $2y$10$... = bcrypt. $1$... = MD5 crypt.

Sponsored Protocol

Cracking con Hashcat

Se hai GPU NVIDIA o AMD, Hashcat è velocissimo. Per hash di password Windows NTLM:

hashcat -m 1000 -a 0 ntlm.txt rockyou.txt -O

Modalità attacco: Wordlist + Rules è la più efficace. Usa --rules-file best64.rule per mutazioni standard.

Rainbow table: quando servono

Le rainbow table sono utili solo per hash non salati (es. LM hash di Windows). Per hash salati (bcrypt, SHA256 con sale) sono inutilizzabili. Noi sconsigliamo l’uso di rainbow table per web app test: meglio investire in una buona wordlist e regole personalizzate.

Azione immediata: Genera un hash SHA256 di una password semplice (echo -n "password" | sha256sum). Metti l’hash in un file e prova a crackarlo con Hashcat usando rockyou.txt. Impara a riconoscere i vari tipi di hash.

Social Engineering: Phishing Kit e Difese

L’anello debole non è il server, è la persona. Un attacco di phishing ben costruito può bypassare qualsiasi firewall. Per test interni, il social engineering test è spesso il più rivelatore.

Creare una campagna di phishing con SET (Social Engineering Toolkit)

sudo setoolkit
1) Social-Engineering Attacks
2) Web Site Attack Vectors
3) Credential Harvester Attack Method
4) Site Cloner

SET clona la pagina di login del target (es. Google Workspace) e invia l’email. Il successo è alto, ma devi avere autorizzazione esplicita e informare il responsabile HR.

Difese: MFA obbligatorio, banner di avviso sulle email esterne, formazione periodica. Noi testiamo il personale clienti con campagne simulate e poi eroghiamo sessioni di awareness.

Azione immediata: Se hai un ambiente di test, installa SET e prova il credential harvester su un sito clonato di tua proprietà. Non usarlo mai contro terzi senza permesso.

Il Pentesting Report: Come Scrivere un Report Professionale

Un penetration test senza report vale zero. Il report è il documento che il cliente userà per giustificare gli investimenti in sicurezza. Deve essere chiaro, sintetico, e dare priorità alle azioni.

Struttura standard di un report di pentesting

  1. Executive Summary: 1 pagina, linguaggio non tecnico, descrive il rischio complessivo (Alto/Medio/Basso) e le 3 vulnerabilità più critiche.
  2. Metodologia: tool usati, date, orari, perimetro.
  3. Findings: ogni vulnerabilità con ID, gravità (CVSSv3), descrizione, prova di exploit (screenshot), impatto, raccomandazione.
  4. Allegati: output degli strumenti, log, copia delle richieste HTTP.

Esempio di entry per una SQL injection

VULN-001: SQL Injection nel parametro 'id' della pagina /product.php
Gravità: Critico (CVSS 9.1)
Descrizione: Il parametro id non viene sanitizzato. Inviando "id=1 UNION SELECT 1,2,3,4" si ottengono dati dalla tabella users.
Prova: [screenshot di sqlmap che estrae password hash]
Impatto: Accesso a tutti i dati del database, inclusi utenti e credenziali.
Raccomandazione: Utilizzare prepared statement (PDO o MySQLi).

Azione immediata: Prepara un template di report in Markdown con la struttura sopra. Ogni volta che trovi una vulnerabilità, riempi la scheda immediatamente. Non rimandare la documentazione alla fine del test.

Sponsored Protocol

In sintesi — Cosa Fare Adesso

L’ethical hacking non è un corso da seguire, è un’abilità che si costruisce testando. Ecco i passi concreti che puoi fare da oggi:

  1. Leggi il documento di autorizzazione – senza firma, niente test.
  2. Installa Kali Linux in VM e configura l’ambiente come descritto.
  3. Esegui un OSINT passivo su un dominio di tua proprietà.
  4. Lancia una scansione NSE e OpenVAS su una macchina vulnerabile (Metasploitable 2).
  5. Intercetta una richiesta HTTP con Burp Suite e prova una SQL injection manuale su WebGoat.
  6. Ottieni una shell bassa privilegi (via exploit o SSH) e tenta la privilege escalation.
  7. Scrivi il report per ogni test che fai, anche se è solo per te.

Noi, di Meteora Web, facciamo questo ogni giorno. Veniamo dalla contabilità e dal codice: ogni vulnerabilità trovata è un costo evitato. La sicurezza non è un costo, è un investimento che si misura in continuità operativa. Se vuoi approfondire, dai un’occhiata al nostro articolo sul jailbreak di Claude per capire come l’AI può essere usata anche in attacchi di social engineering. Per difendere le infrastrutture ibride, leggi la nostra guida agli agenti AI per la protezione delle EV charger.

Ing. Calogero Bono

> AUTHOR_EXTRACTED

Ing. Calogero Bono

Ingegnere Informatico, co-fondatore di Meteora Web. Esperto in architetture software, sicurezza informatica e sviluppo sistemi scalabili.
[ Read Full Dossier ]

> METEORA_WEB // WEB AGENCY

Costruiamo la presenza digitale che la tua azienda merita.

Siti web, social, pubblicità online, e-commerce e hosting performante: ingegnerizzati con metodo da ingegneri informatici a Sciacca, per tutta Italia.

> MW_JOURNAL

> READ_ALL()