Cos'è veramente il Penetration Testing?
Un'analisi pratica del penetration testing: cosa è, come si svolgono gli engagement e cosa lo distingue da una vulnerability scan.
Il penetration testing è la pratica di simulare attacchi reali contro un sistema, una rete o un'applicazione in base a un accordo sottoscritto, con l'obiettivo di trovare debolezze sfruttabili prima che qualcuno senza autorizzazione lo faccia. È un esercizio controllato e limitato nel tempo che termina con un rapporto, non una sessione di hacking senza fine.
La differenza tra pentesting e vulnerability scanning
Uno scanner di vulnerabilità come Nessus o OpenVAS verifica un target rispetto a un database di firme note e ti fornisce un elenco di potenziali problemi, la maggior parte dei quali richiede verifica manuale. Un pentest va oltre: il tester effettivamente tenta di sfruttare i risultati, collegarli insieme e dimostrare l'impatto reale. Lo scanning ti dice che una porta è aperta e una versione del servizio sembra obsoleta. Il pentesting ti dice che quel servizio obsoleto può essere utilizzato per ottenere una shell, e da quella shell puoi spostarti nel domain controller.
Questa distinzione conta anche per il rapporto. Un rapporto di scan è un elenco. Un rapporto di pentest è una storia con prove: screenshot, output di comandi e una procedura dettagliata del percorso di attacco dalla prima compromissione fino a qualunque obiettivo sia stato concordato (accesso ai dati, domain admin, ecc.).
Come viene definito l'ambito di un engagement
Prima che inizi qualsiasi test, il cliente e il tester concordano sulle regole di ingaggio: cosa rientra nell'ambito (intervalli IP specifici, domini, applicazioni), cosa è vietato (database di produzione, sistemi di terze parti non di proprietà del cliente), finestre di test e contatti di emergenza se qualcosa si rompe. Questo è documentato in una lettera di autorizzazione firmata o in un contratto. Senza questa autorizzazione, lo stesso lavoro tecnico è un reato secondo leggi come il US Computer Fraud and Abuse Act o il UK Computer Misuse Act.
Gli engagement sono di solito categorizzati in base a quante informazioni il tester ha all'inizio:
- Black box — il tester riceve un target e nient'altro, simulando un attaccante esterno con zero conoscenze preliminari.
- Gray box — il tester riceve alcune informazioni, come un account utente o un diagramma di rete, simile a uno scenario da insider malintenzionato o credenziali compromesse.
- White box — il tester ha accesso completo al codice sorgente, alla documentazione dell'architettura e alle credenziali, utile per test approfonditi a livello di applicazione.
Come appare una metodologia tipica
La maggior parte dei pentest segue vagamente una struttura simile a PTES (Penetration Testing Execution Standard) o le fasi in NIST SP 800-115:
- Reconnaissance — raccolta di informazioni passiva e attiva. Strumenti come
theHarvester,amasso semplice Google dorking per sottodomini esposti e email dei dipendenti. - Scanning and enumeration —
nmap -sC -sVrispetto all'intervallo target, directory brute-forcing congobusteroffufsu app web, enumerazione SMB conenum4linuxsu reti interne. - Exploitation — usando CVE note, misconfigurazioni, credenziali deboli o payload personalizzati per ottenere accesso iniziale. Questo potrebbe significare un modulo Metasploit, un payload SQL injection realizzato ad hoc o un'email di phishing con una macro dannosa.
- Post-exploitation — una volta che hai una compromissione iniziale, inizia il vero lavoro: escalation dei privilegi, lateral movement, raccolta di credenziali con strumenti come Mimikatz o
secretsdump.pye capire quanto effettivamente si estende l'accesso. - Reporting — compilare i risultati con punteggi CVSS, step di riproduzione, prove e indicazioni di remediation su cui il team di ingegneria del cliente può agire.
Tipi di pentest che incontrerai
I network pentest prendono di mira infrastrutture interne o esterne — server, firewall, router. I web application pentest si concentrano su cose in OWASP Top 10: injection flaws, broken authentication, insecure deserialization. I mobile app pentest si addentra in file APK/IPA, endpoint API e local storage. I wireless pentest testano la sicurezza Wi-Fi (cattura dell'handshake WPA2/3, rogue access point). I pentest fisici e di social engineering testano se qualcuno può entrare in un edificio o convincere un dipendente a cedere credenziali, senza codice.
Perché le aziende effettivamente pagano per questo
Oltre a trovare bug, i pentest soddisfano i requisiti di conformità. PCI DSS richiede penetration test annuali per chiunque gestisca dati di carte. Gli audit SOC 2 e ISO 27001 spesso richiedono prove di test regolari. Ma il motivo onesto per cui i buoni team di sicurezza commissionano pentest non è solo la spunta — è che gli scanner automatici non rilevano i difetti di business logic, i problemi di bassa gravità concatenati e il tipo di sfruttamento creativo che un tester abile trova. Uno scanner non noterà che cambiare un ID ordine in un URL ti permette di visualizzare la fattura di qualcun altro. Un tester lo farà.
Entrare in questo settore
Se miri al penetration testing come carriera, la pratica pratica conta più delle sole certificazioni. Piattaforme come HackTheBox e TryHackMe costruiscono la memoria muscolare; certificazioni come OSCP la validano. Impara a leggere il codice sorgente, comprendi come HTTP effettivamente funziona a livello di byte e familiarizzati con un terminale Linux prima di preoccuparti di strumenti affascinanti.
Se questo riepilogo ti è stato utile, Korra Studio ha più segmenti nel track Offensive che coprono tecniche di sfruttamento specifiche, procedure di strumenti e pratica basata su lab che puoi seguire.
Scritto con assistenza AI, revisionato e pubblicato da Michal Pilch (CISSP), Korra Studio.
Questa è una nota dalla knowledge base di Korra Studio — la piattaforma abbina ogni argomento a mentoring 1-to-1.
Inizia gratisarrow_forward