79 secondi

TL;DR Un curioso esperimenti amatoriale ha evidenziato come un nuovo host esposto in rete, dopo neanche 79 secondi, viene subito intercettato da bad bot, alla ricerca di vulnerabilità da sfruttare. E di come i certificati SSL ne siano “complici” inconsapevoli.

79 secondi. Poco più di un minuto tra quando un host viene esposto in Rete e la ricezione dei primi probe alla ricerca di vulnerabilità sfruttabili da parte di cybercriminali.

E’ il risultato di un esperimento condotto da un collega che, dopo aver predisposto un server HTTP e richiesto il certificato SSL a Let’s Encrypt, il popolare servizio di rilascio certificati gratuiti, ha visto il log del demone Apache2 popolarsi di richieste provenienti da IP di crawler più o meno noti.

Non è una gran novità: è noto da anni che la Rete è popolata da “bot” che continuamente scandagliano i meandri di Internet, alla ricerca di nuovi host. Con la nascita dei servizi di ricerca delle vulnerabilità, come shodan.io, il traffico dei crawler in Rete è esploso.

Secondo un recente report pubblicato da Imperva “Bad Bot Report 2022”, il traffico non-umano in Rete sta crescendo, dal 40,8% del 2020 a oltre 42% del 2021. Oltre la metà, circa il 27,7%, è traffico dei cosiddetti “bad bots“, ovvero bot creati con intenti malevoli.

Bad Bot Report 2022 – Imperva

Ma cos’è un bot? Bot è la contrazione della parola “robot” e indica, nel mondo ICT, un software che esegue compiti automatizzati. Quando parliamo di web scraping e web crawling, generalmente ci si riferisce a spider bot, “robot ragni” che esplorano la ragnatela del web indicizzando tutti i contenuti della infosfera. Ci sono però anche altre tipologie di bot, dedicate ad esempio alla scoperta dei servizi attivi (e relative vulnerabilità) sui nodi esposti in Rete. Alcuni di essi sono alla base di motori di ricerca come il già citato shodan.io, censys, zoomeye, leakix

Questi strumenti, potentissimi, hanno aumentato l’esposizione delle vulnerabilità dei sistemi presenti in Rete: se prima della loro nascita un cybercriminale doveva provvedere anche alla ricerca del sistema vulnerabile, con queste piattaforme è sufficiente decidere quale tipo di vulnerabilità vogliono esplorare!

Come è facile capire, la questione è molto controversa: se da una parte queste piattaforme non effettuano alcun tipo di attacco, limitandosi alla racconta delle informazioni esposte dai nodi, dall’altra semplificano enormemente il lavoro del cybercrime. Chiaramente, sono informazioni che aiutano anche i blue team, coloro che devono difendere tali nodi, la cui analisi quotidiana della cyber exposure è attività fondamentale.

Ecco perché i 79 secondi da cui prende spunto questo articolo sono un fattore critico: in questo lasso di tempo, che può essere maggiore o anche inferiore, una vulnerabilità del nostro sistema appena esposto in Rete potrebbe essere notata da un attaccante e sfruttata immediatamente.

Ma come fanno a scoprire il mio host appena esposto?

La domanda è comprensibile, la risposta è un po’ più complicata.

Nell’esperimento citato all’inizio, ho parlato dell’esecuzione del certbot (Let’s Encrypt) per il rilascio del certificato SSL, che sul log del server HTTP apache2 lascia una traccia tipo:

jsqugqcm.XXXX.it:80 18.117.7.125 - - [18/Nov/2022:22:10:20 +0100] "GET /.well-known/acme-challenge/oiuCx-tc7ZUUc7QMiqZkDnQEAy2Ta6TwbHpVpDV8sXM HTTP/1.1" 200 388 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"

jsqugqcm.XXXX.it:80 35.89.249.250 - - [18/Nov/2022:22:10:20 +0100] "GET /.well-known/acme-challenge/oiuCx-tc7ZUUc7QMiqZkDnQEAy2Ta6TwbHpVpDV8sXM HTTP/1.1" 200 388 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"

jsqugqcm.XXXX.it:80 23.178.112.202 - - [18/Nov/2022:22:10:20 +0100] "GET /.well-known/acme-challenge/oiuCx-tc7ZUUc7QMiqZkDnQEAy2Ta6TwbHpVpDV8sXM HTTP/1.1" 200 388 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"

Forse non sapevate dell’esistenza dell’iniziativa Certificate Trasparency, a cui partecipano gran parte degli issuer di certificati SSL. Per farla breve (ma sul sito web troverete tutti i dettagli tecnici), ogni qualvolta viene rilasciato o rinnovato un certificato SSL, ne viene data notizia pubblica attraverso alcuni feed (date un’occhiata a certstream, ad esempio). Per chi effettua lo scraping di Internet, quindi, è sufficiente monitorare questo stream per sapere, in tempo reale, quali nuovi nodi vengono esposti (almeno tra quelli che richiedono un certificato SSL).

Esistono anche motori di ricerca dedicati ai certificati SSL, come Censys.

La Certificate Trasparency initiative è una iniziativa, anche in questo caso, controversa. Da un lato, monitorando il mio dominio posso sapere se qualcuno emette un certificato che lo include (es. per programmare una campagna di phishing?). Dall’altra, offre un innegabile vantaggio al cybercrime per sapere quali nuovi nodi vengono esposti in Rete.

Infatti, sempre tornando all’esperimento citato, sono bastati pochi attimi (79 secondi) per vedere il log del server HTTP popolarsi di richieste inusuali…

jsqugqcm.XXXX.it:443 39.110.218.101 - - [18/Nov/2022:22:11:39 +0100] "GET / HTTP/1.1" 200 5077 "-" "Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"

jsqugqcm.XXXX.it:443 179.43.177.154 - - [18/Nov/2022:22:11:56 +0100] "GET /static../config HTTP/1.1" 404 5233 "-" "Baiduspider ( http://www.baidu.com/search/spider.htm)"

jsqugqcm.XXXX.it:80 165.227.238.25 - - [18/Nov/2022:22:11:57 +0100] "GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application HTTP/1.1" 301 706 "-" "Go-http-client/1.1"

jsqugqcm.XXX.it:80 165.227.238.25 - - [18/Nov/2022:22:11:57 +0100] "GET /s/2363e2931323e2736313e2239313/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties HTTP/1.1" 301 756 "-" "Go-http-client/1.1"

sono quasi tutti probe automatizzati alla ricerca di potenziali vulnerabilità. Come se, ad esempio, una banda di svaligiatori di appartamenti ingaggiasse migliaia di persone per andare, quotidianamente, di casa in casa a verificare quale è abitata e quale no, compilando un elenco dove inserisce il tipo di serratura, di infisso etc…

…e se per il mio nuovo host non chiedo alcun certificato SSL?

Benvenuto nel deep web, quindi. Quella enorme parte di Internet poco o per niente indicizzata, individuabile solo attraverso scansioni mirate su range IP. Un po’ come non avere il numero civico e abitare in una via senza nome: qualcuno, sbagliando strada o provando tutte le strade, in qualche modo potrebbe comunque trovarci. E su Internet, di questi “esploratori” ce ne sono davvero tantissimi.

In conclusione, quindi, esporre un nodo in Rete non adeguatamente protetto è rischiosissimo e, in poche manciate di secondi, potrebbe essere violato. Buona norma dice che prima di esporre in Rete un host, si fa effettuare una verifica approfondita da specialisti del settore, che possono evidenziare le vulnerabilità note prima che siano sfruttate (e indicare anche come correggerle).

Hai trovato utile questo articolo?

Questo articolo è stato visto 265 volte (Oggi 1 visite)
Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.