Shodan est souvent présenté comme le « Google des pirates ». La formule est spectaculaire, mais elle est trompeuse : Shodan ne pirate rien, il liste ce que les machines connectées à Internet répondent publiquement. Caméras, serveurs, bases de données, routeurs, automates industriels : tout ce qui écoute sur Internet peut y apparaître. Pour un défenseur, c'est une chance : le service montre votre organisation telle que la voit un attaquant, sans aucun outil offensif. Cet article explique ce que fait Shodan, comment l'utiliser pas à pas pour vous défendre, quels filtres retenir, et comment transformer les résultats en actions.
Règle absolue : interrogez Shodan pour vos propres actifs ou avec l'accord de leur propriétaire. Consulter les résultats d'un moteur de recherche est une chose, se connecter à un système trouvé sans autorisation en est une autre : c'est un accès frauduleux au sens de l'article 323-1 du Code pénal. Pour cadrer une mission, voir notre article sur la préparation d'un pentest.
Qu'est-ce que Shodan et comment fonctionne-t-il ?
Google indexe des pages web. Shodan indexe des services réseau : il envoie des requêtes aux adresses IP publiques sur de nombreux ports, puis enregistre la réponse du service, ce que l'on appelle la bannière (banner). Cette réponse révèle souvent :
- le port ouvert et le protocole (HTTP, SSH, RDP, FTP, MQTT, Modbus…) ;
- le logiciel et sa version (serveur web, base de données, système) ;
- le certificat TLS (noms de domaine, émetteur, dates d'expiration) ;
- la géolocalisation approximative, l'hébergeur et l'organisation propriétaire du bloc d'adresses ;
- parfois le titre d'une page d'administration, une capture d'écran ou des vulnérabilités connues associées à la version détectée.
Shodan est un inventaire indépendant : il ne dépend pas de ce que vous croyez avoir déployé, mais de ce qui répond réellement. C'est pourquoi il révèle si souvent des surprises : un serveur de test oublié, un accès distant ouvert « temporairement », une base de données exposée par une mauvaise configuration.
À quoi sert Shodan côté défense ?
| Besoin | Ce que Shodan apporte |
|---|---|
| Cartographier la surface d'attaque | Retrouver toutes les adresses et tous les services visibles depuis Internet |
| Détecter le « shadow IT » | Repérer des services montés sans validation de l'équipe sécurité |
| Trouver les erreurs d'exposition | Bases de données, interfaces d'administration, RDP ou SSH ouverts à tous |
| Prioriser les correctifs | Identifier les versions vulnérables réellement accessibles |
| Surveiller dans le temps | Être alerté quand un nouveau service apparaît |
| Évaluer un tiers | Vérifier, avec son accord, l'exposition d'un prestataire ou d'une filiale |
| Alimenter la réponse à incident | Vérifier ce qu'un attaquant a pu voir avant une intrusion |
Prise en main : premières recherches
La recherche de base fonctionne depuis le site, et les fonctions avancées demandent en général un compte, gratuit ou payant selon la fonctionnalité. Les conditions changent : vérifiez les offres actuelles sur le site officiel avant de planifier un usage régulier.
Une recherche est un mot-clé, éventuellement associé à des filtres sous la forme filtre:valeur. Les plus utiles pour un défenseur :
| Filtre | Rôle | Exemple |
|---|---|---|
org: |
Organisation propriétaire du bloc d'adresses | org:"Ma Société" |
net: |
Plage d'adresses (notation CIDR) | net:203.0.113.0/24 |
hostname: |
Nom d'hôte ou domaine | hostname:exemple.fr |
ssl.cert.subject.cn: |
Nom présent dans le certificat TLS | ssl.cert.subject.cn:exemple.fr |
port: |
Port ouvert | port:3389 |
country: |
Pays | country:FR |
product: |
Logiciel détecté | product:nginx |
os: |
Système d'exploitation détecté | os:"Windows Server 2012" |
http.title: |
Titre de la page web | http.title:"Dashboard" |
vuln: |
Vulnérabilité associée (CVE) | vuln:CVE-2021-44228 |
Les adresses ci-dessus sont des exemples : remplacez-les par les vôtres. Certains filtres, dont vuln:, sont réservés à certaines offres, et l'attribution org: repose sur les registres d'adresses : elle ne retrouve pas tout ce qui vous appartient, en particulier ce qui est chez un hébergeur cloud.
Combiner les filtres
On les cumule pour gagner en précision. Par exemple, pour vérifier que l'accès Bureau à distance n'est pas exposé sur votre plage :
net:203.0.113.0/24 port:3389
Ou pour lister tout ce qui porte le nom de votre domaine dans un certificat :
ssl.cert.subject.cn:exemple.fr
Cette seconde requête est précieuse : elle retrouve des serveurs que vous aviez oubliés, même hébergés chez un tiers, car ils présentent votre certificat.
Une méthode en six étapes
- Listez votre périmètre officiel : noms de domaine, plages d'adresses, fournisseurs cloud, filiales.
- Recherchez par plage, domaine et certificat avec
net:,hostname:etssl.cert.subject.cn:, puis parorg:. - Comparez avec votre inventaire : chaque résultat doit correspondre à un actif connu, avec un propriétaire et une raison d'être.
- Classez les écarts : service inconnu, service connu mais inutile, service utile mais mal protégé.
- Corrigez : fermer le port, filtrer par pare-feu, restreindre à un VPN, mettre à jour, activer l'authentification, retirer l'exposition.
- Vérifiez et surveillez : refaites la recherche après correction, puis automatisez.
Ce qu'il faut chercher en priorité
- Accès distants : RDP (3389), SSH (22), VNC (5900), Telnet (23) ouverts à tout Internet, alors qu'ils devraient passer par un VPN ou une passerelle.
- Bases de données : MongoDB, Elasticsearch, Redis, PostgreSQL, MySQL joignables sans filtrage ni authentification.
- Interfaces d'administration : tableaux de bord, consoles de sauvegarde, outils de supervision, imprimantes, caméras.
- Logiciels obsolètes : versions annoncées dans la bannière et associées à des vulnérabilités connues (voir notre article sur le score CVSS pour les prioriser).
- Certificats : expirés, ou au nom de domaines oubliés.
- Systèmes industriels ou objets connectés : automates, caméras, capteurs qui n'ont rien à faire sur Internet.
- Fuites de bannières : messages d'accueil qui révèlent des noms internes ou des versions précises.
Shodan Monitor : passer de l'audit ponctuel à la surveillance
Une recherche manuelle donne une photo à un instant donné. Shodan Monitor permet de déclarer les adresses et plages de votre organisation, puis d'être alerté lorsqu'un nouveau service apparaît, qu'un port s'ouvre ou qu'une vulnérabilité est associée à un actif. C'est l'équivalent d'une sentinelle qui regarde votre périmètre depuis l'extérieur.
Pour rendre cette surveillance utile :
- désignez un responsable de la réception des alertes, sans quoi elles resteront ignorées ;
- définissez ce qui est normal (ports attendus par serveur) pour repérer plus vite les écarts ;
- branchez les alertes sur votre outil de tickets ou de supervision ;
- traitez chaque alerte comme un événement de sécurité, avec un bilan, comme le décrit notre article sur l'ISO 27035.
Automatiser : ligne de commande et API
Shodan propose une API et une ligne de commande (le paquet Python officiel shodan) pour intégrer la recherche à vos scripts et à votre chaîne d'intégration continue. Après avoir enregistré votre clé d'API avec shodan init, quelques commandes suffisent :
shodan host 203.0.113.10
shodan count net:203.0.113.0/24 port:3389
La première affiche ce que Shodan sait d'une adresse, la seconde compte les résultats d'une requête. Gardez votre clé d'API secrète : ne la placez pas dans un dépôt de code, utilisez une variable d'environnement ou un coffre de secrets.
Il existe aussi InternetDB, un service gratuit et sans clé qui renvoie pour une adresse IP les ports ouverts, les noms d'hôte et les vulnérabilités probables. Il est utile pour enrichir rapidement une liste d'adresses, à condition de garder en tête son niveau de détail limité.
Les limites de Shodan
- Ce n'est pas un scan de vulnérabilités. Shodan déduit beaucoup de choses de la bannière ; une version affichée n'est pas une preuve d'exploitabilité, et une bannière peut être masquée ou fausse. Pour confirmer, il faut un test autorisé, avec un outil comme Nikto ou un scanner de vulnérabilités.
- Il ne voit que l'extérieur. Aucune visibilité sur le réseau interne.
- Ses données ont une date. Un service peut avoir été corrigé depuis, ou apparaître seulement plus tard : regardez la date de la dernière observation.
- La couverture est partielle : tous les ports et toutes les adresses ne sont pas balayés à la même fréquence.
- L'attribution est imparfaite : faux positifs (l'adresse est réattribuée) et faux négatifs (actif chez un hébergeur non rattaché à votre organisation).
- Il faut croiser les sources : combinez-le avec vos journaux, votre inventaire et d'autres outils, dont ceux de notre sélection d'outils OSINT gratuits.
Shodan, Censys, ZoomEye : quelle différence ?
Plusieurs moteurs se ressemblent, avec des méthodes de collecte et des couvertures différentes : Censys, ZoomEye, Netlas ou FOFA proposent le même principe. Interroger deux moteurs au lieu d'un donne souvent des résultats complémentaires. Le choix dépend de la couverture sur votre périmètre, du prix et de l'API dont vous avez besoin.
Et si une machine de votre organisation apparaît à tort ?
Ne vous contentez pas de la retirer de Shodan : c'est le service exposé qu'il faut corriger, pas l'affichage. Un service qui répond sur Internet reste visible pour tout le monde, y compris pour des scanners moins scrupuleux. Fermez, filtrez ou protégez d'abord, puis vérifiez que Shodan ne voit plus rien à l'observation suivante. Si l'exposition a duré, traitez-la comme un possible incident : contrôlez les journaux, changez les secrets concernés, et évaluez l'obligation de notifier une violation de données à la CNIL. L'agence américaine CISA publie un guide technique sur Shodan qui décrit comment réduire sa visibilité.
Checklist de défense
- Inventaire des domaines, plages d'adresses et actifs cloud à jour
- Recherches
net:,hostname:,ssl.cert.subject.cn:etorg:réalisées - Aucun RDP, SSH, Telnet ou VNC ouvert à tout Internet
- Aucune base de données exposée sans filtrage
- Interfaces d'administration derrière VPN ou authentification forte
- Versions obsolètes identifiées et corrigées
- Alertes Shodan Monitor actives, avec un responsable désigné
- Vérification après correction et revue régulière (au moins une fois par mois)
En résumé
Shodan n'est pas un outil de piratage : c'est un miroir qui montre ce que votre organisation expose à tous. Bien utilisé, avec un périmètre clair et une autorisation, il permet de dresser l'inventaire des services visibles, de repérer les erreurs de configuration avant qu'elles soient exploitées et de surveiller les changements dans la durée. Le vrai travail commence après la recherche : identifier le propriétaire de chaque service, corriger l'exposition, puis vérifier. Une organisation qui interroge Shodan régulièrement sur ses propres actifs prend simplement une longueur d'avance sur ceux qui le font pour d'autres raisons.