Rating di Cybersecurity usando Shodan
Da appassionata di mindfulness sono abituata a stare con quello che c’è: nel contesto IT questo atteggiamento traduce la capacità di osservare la realtà della connettività così com’è, senza dipendere esclusivamente da strumenti complessi. L’idea del progetto è produrre un cybersecurity rating che valuti in modo oggettivo l’assetto esposto di un dominio o di un’organizzazione—utilizzando fonti esterne come Shodan—e che allo stesso tempo si colleghi alle evidenze interne di compliance normativa e alle dashboard aziendali. Il risultato è una dashboard unica che coniuga visibilità esterna (servizi esposti, banner, versioni) e stato interno dei controlli (checklist ISO 27001, mappatura NIST CSF), trasformando dati tecnici in priorità concrete di remediation e in metriche utilizzabili dal management.
pippozzo time
Quando ho deciso di convertire la mia esperienza in insegnamento, ho iniziato a produrre una quantità non definita di slide cercando di spiegare tutto ciò che reputavo utile per le materie assegnate. In realtà quelle slide servivano più a me che agli studenti, perchè mi permettevano di superare la mia sindrome dell’impostore e visto che l’ho egregiamente superata, sono molto felice di poter parlare di questo progetto senza slide e chiarire anche alcuni aspetti un po’ più spinosi. Fare ricerche su un dominio usando Shodan (ovvero consultare i dati che Shodan ha già indicizzato, senza avviare scansioni o exploit verso il bersaglio) di norma non è reato: è attività di OSINT/passiva. Diventa invece rischioso (e potenzialmente configurante reato) effettuare scansioni attive, sfruttare vulnerabilità o introdursi in sistemi protetti senza autorizzazione (art. 615-ter c.p.).
Quindi chiariamo subito che questo progetto è stato un passive OSINT e non uno scanning attivo. Shodan permette di raccogliere e rendere ricercabili i risultati che il suo crawler ha già eseguito. Consultare questi dati è un’attività passiva e, in sé, non costituisce accesso abusivo. Se poi quello che si trova è un portale di accesso esposto e con “admin” “admin” si riesce ad entrare, allora stiamo sfruttando una vulnerabilità e entrando in un sistema. Qualora si dovesse trovare un portale esposto, l’etica è quella di contattare l’owner e comunicargli questa vulnerabilità in modo tale da rendere internet un posto più sicuro. Per un dominio che si cerca Shodan fornisce informazioni indicizzate come: indirizzo IP, porte aperte, servizi e banner (es. server web, SSH, FTP), versioni dei software riportate nei banner, certificati SSL/TLS e i loro soggetti, hostname e domini associati, organizzazione/ASN, geolocalizzazione approssimativa dell’IP, timestamp dell’ultima scansione, eventuali tag di vulnerabilità o CVE rilevati e storici di banner. Questi dati derivano da dati raccolti pubblicamente eseguiti dal crawler di Shodan e sono esposti tramite l’interfaccia e la API ufficiale.
Ormai è finita l’epoca dei siti creati in modo casalingo con l’indirizzo di casa e numero di telefono del proprietario nel dettaglio del dominio, ora ci si rifà a grandi fornitori (come Squarespace, dove è hostato fattoreumano.org, Wordpress, etc) che proteggono - nella maggior parte dei casi - le informazioni e che tutelano anche la loro infrastruttura. Facendo un reverse dell’indirizzo IP di fattoreumano.org - ad esempio - potrebbe uscirvi un IP che su Shodan in realtà compare associato a qualcunaltro, proprio perchè il TTL è di 4h (e quindi ogni 4h viene cambiato e associato ad altro). Vediamo un po’ da lontano cosa possiamo trovare su Shodan cercando, ad esempio, la mappa dei servizi esposti in Italia (immagine qui sotto, ref: https://exposure.shodan.io/#/IT). Questa fotografia solitamente fa sentire meno soli i manager di Aziende che sono appena state bucate proprio a causa di uno di questi servizi esposti.
Capiamo cosa si può fare con shodan
La porta 5060, ad esempio, è usata dal protocollo SIP per il signalling delle chiamate VoIP; la sua presenza pubblica non è di per sé un’emergenza, ma segnala che vale la pena verificare. Per intercettare traffico su 5060 (o sulla 7170) un attaccante non basta che “apra” una porta: deve trovarsi sul percorso di rete dei pacchetti (on-path), compromettere un dispositivo intermedio o manipolare attivamente la negoziazione della chiamata. Molti telefoni IP e centralini rispondono su 5060, quindi la porta è spesso visibile; però il traffico viaggia comunque verso l’indirizzo destinazione, non verso chiunque voglia ascoltare. Un avversario può leggere o dirottare le comunicazioni solo se è fisicamente o logicamente in mezzo (e.g. stessa rete Wi-Fi non protetta, router/ISP compromessi, ARP-spoofing o DNS poisoning), oppure se riesce a forzare la chiamata a passare per un suo server. Se signalling e media sono cifrati (SIP/TLS per lo signalling, SRTP per l’audio) una semplice acquisizione passiva dei pacchetti non permette di leggere il contenuto.
La porta aperta è da intendersi come un indicatore da investigare, non una prova di compromissione. Serve controllare quale servizio la espone, valutare la necessità dell’esposizione e applicare mitigazioni se necessario.