Shodan est un moteur de recherche qui indexe les appareils connectés à Internet. Cet outil permet d’identifier les vulnérabilités potentielles des infrastructures et de tout appareil connecté.

Guide d'utilisation de Shodan avec un compte gratuit

 

En indexant les appareils connectés à Internet plutôt que les sites web permet notamment de découvrir quels appareils sont connectés à Internet, où ils se trouvent, qui les utilise et les failles de sécurité potentielles. Cet outil est précieux pour les professionnels de la cybersécurité pour identifier les vulnérabilités potentielles dans leurs infrastructures.

Cet article décrit les principales fonctionnalités de base et avancées de Shodan accessibles avec un compte gratuit, afin de :

  • Comprendre comment les entreprises peuvent être exposées sur Internet.
  • Identifier les bonnes pratiques en matière de sécurité.
  • Sensibiliser aux risques liés aux appareils mal configurés.

 Cet article est écrit à des fins de sensibilisation à la cybersécurité. Les informations recueillies via Shodan ne doivent jamais être utilisées pour des activités illégales ou non éthiques. Il est rappelé qu’il ne faut jamais accéder à des systèmes sans autorisation explicite du propriétaire et que toute intrusion illicite peut-être tracée et l’auteur retrouvé.

 

1. Créer un compte Shodan gratuit

Utiliser un compte gratuit que l’on va créer permet d’accéder à certaines fonctionnalités, cependant celle-ci restent limitées. Pour obtenir des fonctionnalités plus importantes et plus intéressantes il faudra accéder à un compte payant. Pour créer un compte gratuit : 

 

 

2. Interface web de Shodan

2.1 - Recherches de base

L'interface web de Shodan sur https://www.shodan.io/ permet d'effectuer des recherches simples. Avec un compte gratuit il y a un nombre limité de requêtes qu’il faut donc utiliser judicieusement.

Exemples de recherches de base :

  • webcam : recherche des webcams connectées
  • apache : recherche des serveurs utilisant Apache
  • country:FR : limite les résultats à la France
  • port:22 : recherche les appareils avec le port SSH ouvert

 

2.2 - Filtres avancés (compte gratuit)

Voici les principaux filtres utilisables avec un compte gratuit :

  • country:code : code pays (ex : FR, US, DE)
  • city:nom : nom de la ville
  • port:numéro : numéro de port spécifique
  • os:système : système d'exploitation (Windows, Linux, etc.)
  • hostname:nom : nom d'hôte ou domaine
  • net:adresse/masque : plage d'adresses IP (ex : 192.168.1.0/24)

 

2.3 - Syntaxe des requêtes

  • Utilisation des opérateurs booléens :
    • apache AND country:FR : serveurs Apache en France
    • webcam NOT password : webcams sans protection par mot de passe
    • "Server: Apache" port:8080 : recherche les serveurs Apache sur le port 8080

 

 

3. Commandes Shodan CLI (compte gratuit)

Le CLI (Command Line Interface) de Shodan offre des fonctionnalités supplémentaires. Voici comment l'installer et l'utiliser avec un compte gratuit :

 

3.1 – Command line interface

  • Installation du CLI : pip install shodan
  • Il est possible qu’un ou plusieurs messages (warnings) demandent de mettre le chemin dans les variables d’environnement.
  • Configuration du CLI : shodan init « CLE_API ».

Pour récupérer sa clé API, se connecter à son compte Shodan et aller sur «Account".

Si l’initialisation de Shodan ne fonctionne pas et qu’une erreur comme « ModuleNotFoundError: No module named 'pkg_resources » s’affiche c’est qu'il manque un module Python nécessaire. Voici comment résoudre ce problème :

  1. Essayer d'installer le module manquant avec pip : pip install setuptools
  2. Si cela ne fonctionne pas, essayer alors : pip install --upgrade setuptools
  3. Réessayer d'initialiser SHODAN : shodan init "ma_clé_API".
  4. Si le problème persiste, vérifier la version de Python utilisée avec SHODAN. Ce genre d'erreur peut se produire quand plusieurs versions de Python sont installées. Une solution alternative peut être de réinstaller complètement le CLI SHODAN en faisant : pip uninstall shodan et ensuite : pip install shodan.

Exemple de commande : shodan host 8.8.8.8 on obtient :

PS C:\Users\root_Orion> shodan host 8.8.8.8

8.8.8.8

Hostnames:               dns.google

City:                    Mountain View

Country:                 United States

Organization:            Google LLC

Updated:                 2025-04-03T10:48:12.821013

Number of open ports:    2

Ports:

     53/tcp

     53/udp

    443/tcp

        |-- HTTP title: Google Public DNS

        |-- Cert Issuer: C=US, CN=WR2, O=Google Trust Services

        |-- Cert Subject: CN=dns.google

        |-- SSL Versions: -SSLv2, -SSLv3, -TLSv1, -TLSv1.1, TLSv1.2, TLSv1.3

PS C:\Users\root_Orion>

 

3.2 - Commandes de base

  • Recherche d'informations: shodan search apache
  • Compte d'hôtes: shodan count apache country:FR
  • Informations sur une IP spécifique : shodan host 8.8.8.8
  • Conversion de requêtes : shodan convert --filters apache country:FR port:80
  • Recherche DNS : shodan domain example.com

 

 

4. Exemples de cas d'utilisation

4.1 - Identifier les appareils IoT exposés

La requête : "Server: Arduino" port:80 montre comment des appareils IoT peuvent être exposés accidentellement à Internet sans protection adéquate.

Pour rechercher des appareils IoT Arduino avec une clé API gratuite, voici comment formuler correctement la requête :

shodan search "Server: Arduino" port:80

Si cette requête génère une erreur 403 (limites du compte gratuit), essayer de la simplifier comme ceci :

shodan search "Arduino" --limit 10

Avec une API gratuite, on peut également explorer d'autres approches :

Utiliser la commande shodan stats pour voir des statistiques sur les résultats sans les afficher tous : shodan stats "Server: Arduino" port:80

Utiliser un filtrage par pays pour réduire le nombre de résultats : shodan search "Server: Arduino port:80 country:FR"

Utiliser l'interface web de SHODAN pour les recherches, elle pourrait offrir plus de fonctionnalités avec un compte gratuit.

Il faut bien noter que les comptes gratuits de SHODAN ont des limitations significatives, notamment sur les types de requêtes et le nombre de résultats. En cas d’utilisation régulière il vaut mieux envisager un abonnement payant.

 

4.2 - Trouver des instances de bases de données non sécurisées

La requête : "MongoDB Server Information" port : 27017 illustre l'importance de sécuriser les bases de données avec au minimum une authentification.

4.3 - Découvrir des interfaces d'administration

La requête : http.title:"Dashboard" port:80,8080,8443 montre comment des interfaces d'administration peuvent être accessibles sans authentification conforme.

4.4 - Surveiller sa propre infrastructure

Shodan peut être utilisé pour auditer sa propre empreinte sur Internet et identifier des failles potentielles.

 

5. Limites du compte gratuit et bonnes pratiques

5.1 - Limites du compte gratuit

  • Les résultats sont généralement limités à 100 résultats par recherche.
  • Le nombre de requêtes est limité à un certain quota par mois.
  • L’accès aux données historiques est limité ou indisponible.
  • L’export de données a des fonctionnalités limitées.

 

5.2 - Bonnes pratiques d'utilisation

  • En raison des limites il est nécessaire de planifier soigneusement ses requêtes.
  • Il faut utiliser des filtres précis pour obtenir des résultats pertinents.
  • Documenter ses découvertes à des fins pédagogiques mais sans exposer d'informations sensibles.
  • Respecter l'éthique en n'exploitant jamais les vulnérabilités découvertes sans autorisation.

 

6 - Tableaux de commandes utiles

6.1 - Tableau des filtres courants

 

Filtre

Description

Exemple

country

Code pays ISO

country:FR

city

Nom de ville

city:Paris

port

Numéro de port

port:22

os

Système d'exploitation

os:Linux

product

Nom du produit/service

product:nginx

version

Version du service

version:1.14.0

net

Plage d'adresses IP

net:192.168.0.0/24

hostname

Nom d'hôte/domaine

hostname:example.com

http.title

Titre de la page web

http.title:"Dashboard"

http.status

Code de statut HTTP

http.status:200

has_ssl

Présence de SSL/TLS

has_ssl:true

 

 

6.2 - Tableau des commandes CLI de base

 

Commande

Description

 

Exemple

shodan search

Recherche dans la base de données

shodan search apache

shodan host

Informations sur une IP

shodan host 8.8.8.8

shodan count

Compte le nombre de résultats

shodan count port:22

shodan scan

Lance un scan (limité)

shodan scan submit 192.168.1.0/24

shodan domain

Informations sur un domaine

shodan domain example.com

shodan convert

Convertit une requête

shodan convert --filters apache

shodan stats

Statistiques sur une recherche

shodan stats --facets country port:22

shodan download

Télécharge des résultats

shodan download results apache

 

 

7 - Exemple de recherche de caméras web exposées

Ce qui suit montre comment trouver des caméras de surveillance mal protégées sur Internet dans le but de sensibiliser aux risques et encourager la mise en place de bonnes pratiques de sécurité. Ceci est à utiliser uniquement pour ses propres caméras et systèmes. Accéder à des flux vidéo sans autorisation du propriétaire est illégal et peut faire l’objet de poursuites.

 

7.1 - Recherche de caméras exposées via l'interface web

7.1.1 - Requêtes de base pour identifier des caméras

  1. Recherche générale de webcams
    • Dans la barre de recherche de Shodan, taper simplement : webcam
    • On peut affiner par pays : webcam country:FR
  2. Recherche par marques populaires
    • Hikvision : product:hikvision
    • Dahua : dahua
    • Axis : product:"AXIS"
    • Foscam : product:"foscam"
  3. Recherche par protocole
    • RTSP (streaming) : port:554 has_screenshot:true
    • Caméras HTTP sans authentification : webcam http.component:basic-auth -401.
  1. Recherche par titres spécifiques
    • title:"webcam" has_screenshot:true
    • title:"surveillance" has_screenshot:true
    • title:"camera" has_screenshot:true

 

7.1.2 - Navigation dans les résultats

  1. Cliquer sur un résultat pour voir les détails.
  2. Dans la page de détails, on peut voir selon les cas :
    • Une capture d'écran (si disponible avec le compte)
    • Les ports ouverts
    • Les services en cours d'exécution
    • Les bannières (qui révèlent souvent le modèle exact)
  3. Pour les caméras mal sécurisées, on peut voir :
    • Un lien direct vers l'interface web
    • Des informations sur le flux RTSP
    • Des identifiants par défaut non changés

 

7.2 - Recherche avancée via CLI

Pour des recherches plus précises, utiliser le CLI de Shodan:

  • Recherche de caméras Hikvision en France : shodan search "product:hikvision country:FR" --fields ip_str,port,org,hostnames
  • Recherche de caméras avec capture d'écran disponible : shodan search "webcam has_screenshot:true" --fields ip_str,port,http.title
  • Recherche de caméras utilisant des identifiants par défaut : shodan search "webcam "200 OK" "Server: IP Camera"" --fields ip_str,port

7.3 - Identification des marques et modèles spécifiques

Hikvision

  • product:hikvision
  • http.title:"Hikvision" -401
  • "Server: Hikvision-Webs" -401

Dahua

  • product:dahua
  • "Server: Dahua" -401
  • http.title:"dahua" -401

 Axis

  • product:"AXIS" http.title:"AXIS"
  • product:"AXIS" http.component:basic-auth -401

 

Foscam et générique

  • product:"foscam"
  • "NetSurveillance"

 

7.4 - Accès aux interfaces d'administration

Pour les caméras identifiées, on peut trouver différents types d’interfaces :

  1. Interface web directe
    • Accessible via http://IP:PORT mentionné dans les résultats Shodan
    • Souvent sur les ports 80, 8080, 8000, 8081, 9000, etc.
  1. Flux RTSP
    • Format général : rtsp://IP:PORT/stream ou rtsp://IP:PORT/ch01/main/av_stream.
    • Pour Hikvision: rtsp://IP:554/Streaming/Channels/1.
    • Pour Dahua: rtsp://IP:554/cam/realmonitor?channel=1&subtype=0.
  1. Flux MJPEG
    • Généralement accessible via : http://IP:PORT/video.mjpg ou http://IP:PORT/videostream.cgi.

 

 

7.4 - Vérification de la sécurité de ses caméras personnelles

  • 1 : Identifier son adresse IP publique: Consulter un site comme "https://www.my-ip-finder.fr/" pour connaître son adresse IP publique.
  • 2 : Rechercher sa propre adresse IP sur Shodan : shodan host MON_IP_PUBLIQUE. Examiner les résultats pour voir si ses caméras sont exposées.
  • 3 : Recherche par nom de domaine: Si on a un nom de domaine pointant sur son votre réseau : shodan domain MON_DOMAINE.com
  • 4 : Recherche par plage d'adresses IP : en connaissant la plage d'adresses IP : shodan search net:192.168.1.0/24. Remplacer par la plage d'adresses IP publiques.

 

8 - Mesures de protection à adopter

En cas de découverte d’exposition de ses caméras, voici les mesures à prendre :

  • Modifier immédiatement les identifiants par défaut : 1changer les noms d'utilisateur et mots de passe d'usine.
  • Limiter l'accès : configurer un VPN pour accéder à ses caméras depuis l'extérieur.
  • Utiliser un pare-feu pour bloquer l'accès direct depuis Internet

Mettre à jour le firmware : vérifier et installer les dernières mises à jour de sécurité.

Utiliser HTTPS et authentification forte : activer HTTPS s’il est disponible. Utiliser l'authentification à deux facteurs si elle est supportée.

Segmenter le réseau : Placer les caméras sur un VLAN ou un réseau séparé.

Désactiver les services inutiles : désactiver les protocoles non utilisés (RTSP, ONVIF, UPnP).

 

9 - Exemple d’audit de sécurité d'un système de vidéosurveillance

1 : Inventaire : Lister toutes ses caméras, leurs marques, modèles et adresses IP internes.

2 : Vérifier sur Shodan : utiliser les commandes précédentes pour vérifier si ses caméras sont exposées.

3 : Test d'accès externe : depuis un réseau externe (par exemple en utilisant les données mobiles d'un smartphone), essayer d'accéder à ses caméras en utilisant son adresse IP publique et les ports suspectés.

4 : Documentation : documenter toutes les vulnérabilités trouvées pour y remédier.

5 : Remédiation : appliquer les mesures de protection décrites précédemment.

 

10 - Conclusion

Shodan est un outil puissant pour comprendre l'exposition des systèmes sur Internet. Même avec un compte gratuit, il offre des fonctionnalités précieuses pour la sensibilisation à la cybersécurité.

Utilisé de manière éthique et responsable, il permet de sécuriser ses systèmes et met en évidence l'importance de la sécurisation des systèmes d'information.

 

Ressources supplémentaires

 

Aucun commentaire

We use cookies
Ce site utilise des cookies. Certains sont essentiels au fonctionnement et d’autres peuvent être placés par des services externes (captchas) intégrés. Vous pouvez décider d'autoriser ou non les cookies. Si vous les rejetez certaines fonctionnalités seront désactivées comme par exemple les vidéos YouTube et des problèmes d'authentification pourront alors survenir.