Pochi giorni fa, Shodan ha annunciato una interessantissima offerta, proponendo la membership subscription a solo un dollaro! Noi ovviamente ne abbiamo approfittato e ci abbiamo giocato un po'. Se non conoscete Shodan, vi spieghiamo brevemente di cosa si tratta e vi mostriamo un paio di use case.

Avvertenza!

Gli argomenti che tratteremo nel presente articolo hanno puro scopo illustrativo e non sono minimamente da intendersi come un invito a commettere illeciti.

Chi è Shodan?

Shodan è un motore di ricerca per device collegati ad Internet (conosciuta anche come IoT=Internet of Things). A differenza di un comune motore di ricerca che indicizza pagine web, in questo caso il motore indicizza i banner delle risposte ottenute inviando richieste verso le varie porte dei dispositivi collegati ad Internet. In tal modo, conoscendo anche solo parte del contenuto di tali risposte, possiamo chiedere a Shodan di mostrarci i dispositivi che rispettino determinati criteri.

Per poter effettuare ricerche non è necessaria alcuna iscrizione. Tuttavia, se si effettua il login, in base al tipo di account, sarà possibile avere vantaggi come utilizzare più filtri per affinare le proprie ricerche, scaricare i risultati ottenuti, disporre di una API key per integrare i servizi di Shodan in altre applicazioni.

I primi passi...

Una volta che abbiamo di fronte l'home page di Shodan, per sapere cosa fare e avere un'idea delle sconfinate possibilità che offre questo motore di ricerca possiamo visitare questa pagina.

Invece, cliccando sul tasto "Explore" accanto alla barra di ricerca, possiamo visualizzare le ricerche che vengono effettuate più di sovente dagli utenti, e magari provare a replicarne qualcuna.

Shodan - Explore

Caratteristica interessante del servizio è la possibilità di utilizzare i filtri direttamente nella query di ricerca. La sintassi è la seguente:

nome_filtro:valore_filtro

Quindi, se ad esempio fossimo interessati ai device che risultano localizzati a Parigi, potremmo usare il filtro

city:"Paris"

Un altro filtro che potremmo utilizzare è quello basato sulle porte. Ad esempio possiamo applicarlo per visualizzare tra i risultati solo quelli in cui una o più porte indicate abbiano fornito una risposta. Se volessimo visualizzare tra i risultati solo i dispositivi che rispondano alle query inviate alla porta 22 e alla porta 23, useremo:

port:22,23

Altri usi

Oltre alla funzione di ricerca, sono presenti altre funzionalità molto interessanti. Ad esempio, Shodan cattura uno screenshot di tutti i dispositivi interrogati nella cui risposta è stata rilevata la presenza di VNC, RDP, RTSP, Webcam e X Windows. Per visualizzare gli screenshot archiviati basta visitare images.shodan.io.

Shodan images

Cliccando su ciascuno screenshot, sarà possibile visualizzare le informazioni complete presenti nei banner di risposta ottenuti dalla scansione effettuata da Shodan.

Altra feature molto carina può essere visualizzata all'URL 2000.shodan.io.

2000.shodan.io

In pratica, vengono mostrati in sequenza i dettagli dei vari device scansionati. Nell'esempio riportato, quando abbiamo catturato lo screenshot era stata appena scansionata una webcam installata in provincia di Salerno che trasmette i flussi video in chiaro sulla porta 84.

Un esempio

In rete è possibile trovare molti articoli su come utilizzare al meglio Shodan, per scopi professionali o ludici. Alcuni esempi un po' più interessanti possiamo trovarli a questa pagina.

Anche su questo blog abbiamo già presentato un'applicazione del motore Shodan, nell'articolo su Plex e Tautulli.

Per cominciare proviamo con una semplice ricerca. Shodan è diventato famoso perché offre la possibilità di individuare webcam che trasmettono in chiaro. Quindi, perché non provare a cercarne qualcuna? Usiamo la query

device:webcam country:IT

per individuare tutti i dispositivi censiti come webcam localizzati in Italia.

Shodan first query

Riceveremo un elenco di tutti i dispositivi indicizzati che rispettano i criteri richiesti. Sulla sinistra troviamo anche un raggruppamento dei risultati totali, in modo da poter filtrare ulteriormente i risultati ottenuti, ad esempio per città.

Affiniamo la ricerca

Notiamo però che i primi risultati ottenuti, nei banner delle risposte, contengono la dicitura

HTTP/1.0 401 Authorization Required

Quindi, se anche dovessimo provare a collegarci agli indirizzi IP ottenuti come risultato della ricerca, ci verrà chiesta un'ulteriore autenticazione per accedere ai dati trasmessi dalle webcam. Proviamo ad affinare la nostra ricerca: aggiungiamo alla query la stringa "200 OK", in modo da visualizzare soltanto i dispositivi che abbiano fornito una risposta con tale codice (per approfondire i codici di stato presenti nelle risposte http, vi suggeriamo questa pagina). La nostra query quindi sarà:

"200 OK" device:webcam country:IT

Shodan second query

Ora stiamo visualizzando tutti i risultati relativi ai dispositivi che hanno risposto a Shodan con codice 200. Tuttavia, si tratta di una risposta http che potrebbe portare ad una pagina web di autenticazione o ad altri contenuti. Infatti il titolo del secondo risultato è per l'appunto "::: Login :::". Per individuare rapidamente i dispositivi che trasmettono in chiaro e non doverli ispezionare tutti, scorrendo i risultati della ricerca, sarà mostrata già un'anteprima dei flussi video.

Shodan example

Nell'esempio riportato, Shodan è riuscito ad individuare una webcam installata presso un'università italiana che trasmetteva i video in chiaro nel momento in cui è stata interrogata. Dobbiamo sempre tenere presente che i dati indicizzati da Shodan potrebbero cambiare dal momento in cui sono stati catturati al momento in cui li stiamo consultando.

Cliccando invece sul tasto "Maps" in alto a sinistra, possiamo visualizzare tutti i risultati della nostra ricerca su una mappa, in base alla geo-localizzazione dei dispositivi.

Shodan maps

Conclusioni

In occasione dell'imperdibile offerta proposta da Shodan per celebrare i primi 10 anni di attività, abbiamo ritenuto opportuno spendere due parole per presentarvi questo servizio. In sostanza si tratta di un motore di ricerca che rende disponibili informazioni difficili da reperire diversamente. Chiaramente, se già conosciamo l'indirizzo IP che ci interessa conoscere, potremmo fare da noi le richieste per individuare i servizi attivi e catturare i banner delle risposte (in teoria). Tuttavia con un servizio del genere, possiamo analizzare le risposte già catturate su scala globale e individuare in poco tempo i dispositivi che soddisfano i nostri criteri. Magari non è un'esigenza che hanno molte persone, ma Shodan può essere visto anche come un buon modo per approfondire le nostre conoscenze.

Tags:
webcam
Mister Serious
Post by Mister Serious
December 1, 2019
Head of the AnuBitux project. Works as a cryptocurrency analyst and in the blockchain forensics field. In the free time he develops this distro and codes with Python.

Comments