L’ormai famoso motore di ricerca Shodan ha raggiunto in data 29/03 più di 4 milioni di utenti registrati nel suo portale. Come aveva già fatto nel lontano Novembre 2019, regalando la membership lifetime a solo 1$, quest’anno si è ripetuta per i risultati conseguiti vendendo lo stesso tipo di abbonamento lifetime a ben 4$. L’annuncio era visibile sul sito principale e sui loro canali social ufficiali, come Twitter.

0.1 – Canale Ufficiale di Shodan, Twitter

Non vi preoccupate se non siete riusciti ad accaparrarvi questa offerta, in futuro ce ne saranno altre, e se non avete mai sentito parlare di Shodan in questo articolo andremo a parlare di cos’è e di come si usa questo fantastico motore di ricerca, anche senza avere un abbonamento. Infatti potrete tranquillamente registrarvi gratuitamente sul sito principale: Shodan nella sezione “Login or Register“.

1.0 – Cos’è Shodan?

Facendo riferimento alla documentazione fornita, Shodan è un motore di ricerca per dispositivi connessi ad internet. Una delle comparazioni più note e banali è quella fatta con i tradizionali motori di ricerca come Google o Bing: quest’ultimi infatti sono ottimi per la ricerca di siti web con tutte le tipologie di dorks annesse o la ricerca tramite IP.

Shodan però è stato creato per rispondere ad altro tipo di domande, ovvero: quanti e quali host stanno facendo girare nel sistema Apache? Quale versione di Microsoft IIS sta girando su questo determinato server? Quante FTP con accesso anonimo sono disponibili nel mondo?

2.0 – Come funziona Shodan?

L’unità di base che Shodan raccoglie nel suo database sono i banner.
Il banner è un’informazione testuale che descrive un servizio su un dispositivo, per esempio, nel caso di un servizio web il banner sarà il suo header, per telnet, invece, la sua schermata di accesso. I banner quindi variano molto in base al tipo di servizio colpito, hittato.
Questo è un classico esempio di banner HTTP:

HTTP/1.1 200 OK
Date: Tue, 30 Mar 2021 17:07:00 GMT
Server: Apache
Content-Type: text/html; charset=utf-8
Content-Length: 6466

Ovviamente Shodan memorizza anche tecnologie che supportano SSL , come HTTPS.

Questi banner vengono trovati dai crawlers di Shodan che lavorano 24 ore su 24, 7 giorni su 7 e aggiornano il database in tempo reale. I crawlers sono sparsi in tutto il mondo, in nazioni come USA, Cina, Francia o Vietnam. In questo modo anche se in alcune nazioni vengono bannati determinati range di IP, Shodan riuscirà comunque ad avere accesso a quelle risorse avendo posizionato la sua tecnologia in varie zone geografiche.

2.1 – Come funziona un crawler di Shodan?

I crawlers di Shodan si basano su un algoritmo che ripete i seguenti passaggi:

  1. Genera un indirizzo IPv4 casuale;
  2. Genera una porta casuale;
  3. Controlla se indirizzo IPv4 + porta rispondono ad una richiesta, se la risposta arriva prendi il banner;
  4. Ritorna al punto 1.

Questo significa che i crawlers non eseguono scansioni di rete incrementali su un determinato range di IP. Come confermato dalla documentazione ufficiale, questo garantisce una copertura uniforme di internet.

3.0 – Come accede l’utente finale ai dati raccolti da Shodan?

0.2 Portale di shodan.io

Il modo più semplice per accedere ai dati raccolti da Shodan è andare sul sito ufficiale, che ci mette subito a disposizione una barra di ricerca, dove possiamo inserire delle semplici query.

Di default, quando noi inseriamo del testo nella barra di ricerca, la stringa verrà matchata solo se si trova nei banner che Shodan ha collezionato e non nei meta-data.
Cercando la parola “google” ci aspettiamo risultati del genere:

0.3 query “google” su Shodan

Questo tipo di ricerche sono forse un po’ troppo generiche, e per creare delle query più complete bisogna imparare ad utilizzare dei filtri che Shodan stesso ci mette a disposizione.

3.1 – Come si realizzano ricerche più specifiche?

Come detto sopra, ricerche più mirate possono essere create con appositi “filtri”: non sono altro che delle keywords speciali, che permettono di restringere i risultati di una ricerca in base ai meta-dati di un servizio o dispositivo.
Ecco il formato standard per qualunque filtro:

nomefiltro:valore

Facendo attenzione a non lasciare nessun spazio quando inserite i due punti che dividono le due stringhe. Ora facciamo alcuni esempi.

city:Potenza port:21
In questo questo modo stiamo cercando tutte le porte FTP nella zona di Potenza (che per chi non lo sapesse è il capoluogo della Basilicata 🌍).

server:Apache
Enumerazione dei server Apache contenuti nei databases di Shodan.

org:Google
Ricerca tutti gli ip collegati all’organizzazione di Google.

In questo modo possiamo restringere tutte le nostre ricerche sulla piattaforma ed ottenere dati che avrebbero richiesto una grande mole di lavoro per essere trovati.

Un’altra interessante sezione del sito è “Explore” che ci informa sulle migliori e più ricercate query che sono state inviate su Shodan.

0.4 – Sezione Explore Shodan

In questo modo non c’è bisogno nemmeno di scrivere la query per ottenere dei risultati e ci facciamo anche un’idea su cosa la gente cerca quando si connette a Shodan.
Inoltre, la piattaforma ci mette a disposizione altri numerosi servizi, come Shodan Image, Shodan Maps, Shodan Exploits, le API developers e tanti altri tool e plugin esterni che possiamo utilizzare nelle nostre ricerche. Vediamo velocemente cosa sono!

4.0 Shodan Images

0.5 Shodan Images

Per sfogliare rapidamente tutti gli screenshot che Shodan riesce a raccogliere c’è la sezione Images. Una sezione che viene creata usando il filtro has_screenshot.
Possibile notare anche una barra di ricerca, la quale funziona allo stesso modo della barra di ricerca principale di Shodan, ma dove possibile ci ritornerà lo screenshot!
Ovviamente RDP e WEBCAM non finiscono mai…

5.0 Shodan Maps

0.6 Shodan Maps

Sulla falsariga di “Images”, Shodan Maps ci propone una ricerca geo-visiva. I risultati delle nostre query saranno visualizzate appunto sulla mappa geografica. Come al solito, qualunque query che funzioni sulla barra principale, funziona anche qui!

6.0 Shodan Exploits

0.7 Shodan Exploits

Ed infine Shodan Exploits, questo servizio raccoglie le vulnerabilità note da CVE, EXPLOIT DB e Metasploit. Attenzione che qui i parametri di ricerca sono diversi dai precedenti.
Facendo il submit di una parola o una serie di parole lui la cercherà in tutto il database, come intuitivamente possiamo pensare, ma possiamo anche usare parametri specifici come author, description, platform o type per effettuare ricerche più accurate.

7.0 – Conclusioni

In questo articolo abbiamo visto alcune delle potenzialità che, grazie ad un servizio come Shodan, possiamo sfruttare, anche solo tramite le sue interfacce Web. Sicuramente con i prossimi articoli approfondiremo questa tematica lato security e più nello specifico nell’uso che se ne può fare nel bugbounty.

Se questa breve presentazione ti è piaciuta, puoi continuare a seguirci, oltre che su questo blog, anche sugli altri canali attivi e ricchi di contenuti: Twitch e YouTube.
Non esitare a lasciare feedback, domande o precisazioni nei commenti o sui nostri canali social di Telegram e Discord!

0.8 Shodan

Saluti e buon hacking dal team di PMS!

Donato Di Pasquale
Donato Di Pasquale
@dipa996 | eWPT | CyberSecurity Enthusiast | Blog writer per PentestingMadeSimple

Lascia un commento