
Da sempre nel mondo digitale ogni server esposto su Internet prima o poi finisce nel mirino degli attaccanti, è praticamente una certezza. Per difendersi, oltre a fermare gli attacchi preventivamente, dobbiamo capire chi li lancia, cosa cerca e quali tecniche utilizza. Ed è qui che entrano in gioco gli honeypot, sistemi progettati per attirare gli attaccanti e analizzarne il comportamento senza mettere a rischio dati o infrastrutture reali.
Un honeypot è un sistema esca isolato dall’infrastruttura reale, progettato per sembrare vulnerabile e attirare attaccanti. Chi ci interagisce espone tecniche, strumenti e obiettivi senza saperlo, permettendo di capire quali risorse vengono prese di mira e come rafforzare le difese. Tra i più usati dalla community abbiamo tool come Beelzebub (su Kubernetes) oppure Cowrie (per SSH).
In questo articolo vi presentiamo Krawl, il nostro nuovo progetto open source in sviluppo: un honeypot web e cloud-native che tramite esche distribuite attrae e permette di analizzare attaccanti e crawler malevoli. Nelle scorse settimane abbiamo effettuato il deploy su Docker di un’istanza di Krawl per individuare gli attacchi “in tendenza” e i potenziali zero-day che circolano attualmente nel web.
Ma cosa fa, nel concreto, Krawl?
Krawl cerca di ingannare gli attaccanti attraverso una grande vastità di tecniche come pagine infinite che restituiscono HTTP 200, errori casuali e header di server volutamente vulnerabili, così da confondere i crawler, far sprecare le loro risorse e distinguere i comportamenti malevoli da quelli legittimi.
L’honeypot si finge vulnerabile esponendo path come /etc/passwd, /passwords.txt, /api/v2/secrets e molte altre, registrando le richieste e classificando gli IP in quattro categorie:
- Attaccante se vengono rilevati attacchi attivi
- Bad Crawler se vengono rilevate richieste aggressive verso path inusuali o violazioni dei Disallow in /robots.txt
- Good Crawler se le richieste sono periodiche e non ostili
- Regular User se le richieste sono del tutto innocue
Ogni attività sospetta viene monitorata in tempo reale attraverso una dashboard interattiva, che permette di analizzare IP, origini geografiche, User-Agent e tipologie di attacco (SQLi, XSS, path traversal ed altre), oltre a gestire liste di IP da monitorare o bloccare automaticamente.

Nelle scorse settimane abbiamo registrato oltre 1 milione di richieste provenienti da più di 9.000 IP, tra i quali abbiamo identificato 454 attaccanti. La mappa qui sopra mostra la geolocalizzazione degli IP sorgenti: la distribuzione geografica degli attacchi è già di per sé indicativa di quanto sia globale e indiscriminata la superficie di rischio per qualsiasi server esposto. La dashboard è inoltre visualizzabile al seguente link.
Filtrando per IP è possibile vedere gli attacchi più comuni, le path prese di mira e gli indirizzi sorgente. Come si vede nella seguente immagine, nella nostra istanza demo gli attacchi più frequenti, oltre alle probe per individuare path esposte, sono stati quelli di tipo command injection.

Krawl permette di visualizzare le richieste in formato RAW e di scaricarle per analisi successive. La richiesta mostrata di seguito, categorizzata come command injection, mostra come un attaccante abbia tentato di eseguire codice arbitrario sul server tramite la funzione shell_exec, codificando il payload in Base64. L’attacco era esplicitamente mirato a sfruttare la CVE-2024-4577, una vulnerabilità nota di PHP.

Come si vede nell’immagine sottostante, Krawl permette anche di isolare un singolo IP, ottenerne la reputazione online e ricostruirne il comportamento nel tempo, osservando la sequenza delle richieste, le path più cercate e l’evoluzione della sessione di attacco.

Ma quindi, perché usare un honeypot come Krawl?
Richieste come quella descritta ci consentono di mappare la superficie di attacco del nostro server ed identificare le richieste più frequenti e intercettare eventuali zero-day non ancora divulgati pubblicamente ma già sfruttati dagli attaccanti. Si tratta a tutti gli effetti di una difesa preventiva, ovvero intervenire prima ancora che un attacco vada a segno.
Dopo aver registrato un attacco, Krawl inserisce l’IP dell’attaccante in una banlist esportabile, integrabile direttamente con firewall come OPNsense e pfSense, oppure con strumenti di sistema come iptables e nftables che ci permettono di applicare il ban presente nelle liste create dall’honeypot.
L’obiettivo di Krawl è costruire una grande Knowledge Base collettiva: un insieme strutturato di informazioni come IP degli attaccanti nel tempo, payload utilizzati e path cercate in un determinato periodo, da usare come risorsa per proteggere i server web esposti. Gli utenti possono inoltre condividere gli attacchi registrati nella sezione Discussion su GitHub, contribuendo a far crescere la base di dati a beneficio di tutta la community.
Per sperimentare Krawl o contribuire allo sviluppo del progetto, visita il repository ufficiale su GitHub!
Red Team & Offensive Security Engineer
Parlo di sicurezza informatica offensive, Linux e Open Source






















Lascia un commento