Aller au contenu principal
own2pwn

Censys, Onyphe, Shodan : lire l'internet sans le scanner

Censys, Onyphe et Shodan indexent ce que l'internet public expose : ce que chaque moteur voit, ses écarts de couverture, son délai de rafraîchissement et les requêtes exactes pour auditer sa surface.

own2pwn9 min de lecture

Censys, Onyphe, Shodan : lire l'internet sans le scanner

Ces moteurs voient vos actifs. Et vous ?

La surveillance de surface d'attaque externe corrèle ces sources en continu, pas une fois par audit.

Surveiller ma surface d'attaque

L'espace IPv4 tient dans environ 4,3 milliards d'adresses. C'est assez petit pour qu'une infrastructure bien dimensionnée frappe à chaque porte en une journée. C'est très exactement ce que fait Censys, qui décrit son propre travail comme "un petit nombre de tentatives de connexion inoffensives vers chaque adresse IPv4 du monde, chaque jour". Le résultat est un index : qui répond, sur quel port, avec quelle bannière. Trois moteurs entretiennent ce genre de catalogue à l'échelle de la planète, et avant de scanner quoi que ce soit vous-même, vous pouvez simplement lire ce qu'ils ont déjà noté.

Ces trois moteurs, ce sont Censys, Shodan et Onyphe, ce dernier édité par une société française. Ils cataloguent le même internet, mais pas de la même façon : pas les mêmes ports, pas le même rythme de rafraîchissement, pas les mêmes objets mis en avant. On va voir ce que chacun voit réellement, où sont les trous de couverture, et surtout les requêtes exactes pour interroger votre propre exposition. Le tout sans envoyer un seul paquet vers la cible, parce que c'est le moteur qui a déjà fait le scan, pas vous.

Passif ne veut pas dire permis de tout faire

Consulter un index public est une opération licite : vous lisez une donnée déjà collectée, la machine visée ne reçoit rien. La ligne à ne pas franchir est ailleurs. Se servir d'une interface d'administration ou d'un service repéré sur ces moteurs pour se connecter à un système qui n'est pas le vôtre relève de l'accès frauduleux à un système de traitement automatisé de données, puni par l'article 323-1 du code pénal. Et ne republiez jamais la donnée exposée d'un tiers : la trouver indexée ne vous autorise pas à la diffuser.

Un moteur de recherche pour hacker indexe des services, pas des pages

On surnomme volontiers ces outils "le Google des hackers", et l'image induit un contresens. Google parcourt le web, c'est-à-dire des pages reliées par des liens. Un moteur de recherche pour hacker parcourt l'internet, c'est-à-dire des services qui écoutent sur des ports. Quand un serveur SSH accepte une connexion, il annonce sa version. Un serveur web renvoie un en-tête Server: et un certificat TLS. Un automate industriel décline son modèle. Cette réponse, mesurée service par service, porte un nom : la bannière. C'est la matière première de ces index, et c'est aussi celle de tout travail d'renseignement en source ouverte (OSINT) sur une infrastructure.

Concrètement, chaque moteur ouvre une connexion vers une adresse et un port, engage la poignée de main du protocole attendu, note ce qui revient, puis passe au suivant. Il n'exploite rien : il enregistre. La conséquence pratique, pour vous qui interrogez l'index, tient dans ce schéma.

recon-passive
VOUS
Vous interrogez l'index
Une requête, via l'interface web ou l'API du moteur.
MOTEUR
Index déjà constitué
Censys, Shodan ou Onyphe a scanné l'internet en amont et renvoie ses observations en cache.
CIBLE
La cible ne reçoit rien
Aucun paquet ne part de vous vers la machine visée. Elle ne voit pas la reconnaissance.
Interroger un moteur d'exposition n'envoie aucun paquet vers la cible : la machine visée ignore qu'on l'a regardée.

Censys : la profondeur en ports et le culte du certificat

Censys est le plus systématique des trois sur la couverture des ports. Sa documentation revendique un balayage continu de la totalité des 65 535 ports de l'espace IPv4, avec détection automatique de protocole pour reconnaître un service même sur un port non standard. Le catalogue compte, toujours selon Censys, près de 3 milliards de services et sait mener à bien un scan pour plus de 200 protocoles de couche 7. Le point fort, au-delà du volume, c'est la fraîcheur : tout service dont l'observation dépasse 24 heures est rescanné, ce qui maintient un âge moyen d'environ 16 heures sur la donnée à forte valeur. Sur un port qui vient de s'ouvrir, Censys est souvent le premier à le voir.

L'autre marque de fabrique de Censys, c'est le traitement des certificats TLS comme objet de recherche à part entière. Chaque certificat croisé pendant le scan est indexé, ce qui permet de pivoter d'un certificat vers toutes les machines qui le présentent, ou d'un nom de domaine vers les certificats émis pour lui. C'est le prolongement naturel de ce qu'on obtient par les journaux de transparence des certificats (Certificate Transparency), et un moyen redoutable de retrouver du shadow IT oublié. La syntaxe de Censys est structurée par champs.

text
# Tous les services RDP exposés situés en France
services.service_name: RDP and location.country: France

# Un port précis, sur une plage d'adresses que vous possédez
services.port: 3389 and ip: 203.0.113.0/24

La logique "un champ, une valeur" se combine avec and et or. On raisonne en propriétés du service (nom, port, version, certificat, localisation), pas en mots-clés. C'est ce qui rend Censys efficace pour la découverte d'actifs d'un périmètre : on part d'un attribut connu et on déroule tout ce qui le partage.

Shodan : la profondeur applicative et les captures d'écran

Shodan collecte des bannières depuis 2009 et parcourt l'internet entier chaque semaine. Son rythme de rafraîchissement est donc plus lent que celui de Censys, mais il compense par la richesse de ce qu'il expose et par un jeu de filtres qui va loin dans l'applicatif. Là où Censys pense "service", Shodan aime les détails qui trahissent une techno : le titre HTML d'une page, le hash d'un favicon, l'empreinte JARM d'une pile TLS, et même la capture d'écran d'un service graphique exposé (VNC, RDP, interfaces web).

Ces filtres sont documentés et directement utilisables. Quelques-uns qui servent à contrôler sa propre exposition :

text
# Bases MongoDB exposées sur le port par défaut, en France
product:MongoDB port:27017 country:FR

# Toutes les machines présentant un certificat pour votre domaine
ssl.cert.subject.CN:"votre-domaine.fr"

# Pivoter sur l'empreinte d'un favicon pour retrouver les hôtes jumeaux
http.favicon.hash:<empreinte_mmh3>

Le hash de favicon est un exemple parlant de la logique Shodan : deux serveurs qui servent la même icône ont de fortes chances d'appartenir à la même organisation, même s'ils n'ont ni le même nom ni la même IP. Certains filtres sensibles comme vuln et tag sont réservés aux abonnements supérieurs. Pour une plongée détaillée sur les filtres, la fraîcheur et les usages défensifs de l'outil, on a écrit un article dédié à Shodan et à ses requêtes.

Onyphe : le regard français, découpé en catégories métier

Onyphe est édité par une société française, et sa structure diffère franchement des deux autres. Là où Censys et Shodan exposent un grand index unifié, Onyphe découpe sa donnée en catégories orientées défense, qu'on interroge séparément : datascan pour les services et leurs bannières, ctl pour la transparence des certificats, vulnscan et riskscan pour les expositions à risque (RDP ouvert sur internet, interfaces d'administration là où on ne les attend pas), threatlist pour les IP malveillantes connues. Côté couverture, Onyphe annonce plus de 5 000 ports balayés en TCP et UDP, la totalité de l'IPv4 plus des centaines de millions d'hôtes IPv6 chaque semaine, la reconnaissance de plus de 70 protocoles et la vérification de plus de 160 CVE activement exploitées.

text
# Services RDP vus en France dans la catégorie de scan
category:datascan protocol:rdp country:FR

# Bases de données exposées, repérées par le moteur de risque
category:riskscan tag:open device.class:database

# Certificats émis pour votre domaine (transparence)
category:ctl host:votre-domaine.fr

Pour un parc dont les adresses sont européennes, Onyphe apporte un point de vue complémentaire qui vaut le détour, à croiser avec les deux autres plutôt qu'à opposer. Ses catégories vulnscan et riskscan font déjà une partie du tri entre "exposé" et "à risque", ce qui rejoint la logique de la gestion des vulnérabilités côté défense. Reste que classer un service "à risque" n'est pas prouver qu'il est exploitable, et c'est là que le travail commence vraiment.

Couverture et fraîcheur : ce qui les sépare vraiment

Aucun de ces moteurs ne voit tout, et leurs écarts ne sont pas anecdotiques. Censys balaie tous les ports et rafraîchit vite ; Shodan couvre moins de ports mais descend plus loin dans l'applicatif, au prix d'un cycle hebdomadaire ; Onyphe segmente sa donnée et soigne l'IPv6 et la lecture FR. La matrice ci-dessous résume les ordres de grandeur revendiqués par chaque éditeur.

couverture
Ordres de grandeur revendiqués par chaque éditeur dans sa documentation officielle. Un scan récent chez l'un peut manquer chez l'autre : l'union des trois vaut mieux qu'un seul.

La leçon de terrain tient en une phrase : un service qui apparaît chez l'un peut manquer chez l'autre, parce qu'il vient d'ouvrir, parce qu'il écoute sur un port exotique, ou parce que le dernier passage du scanner est trop ancien. L'union des trois donne une image plus complète que n'importe lequel pris seul, et c'est exactement pour ça qu'une vraie surveillance de surface d'attaque externe (EASM) agrège plusieurs sources au lieu de se fier à un moteur unique.

De la bannière au CVE : ce que l'index ne fait pas pour vous

Prenez un cas concret. Onyphe, via sa catégorie riskscan, signale un RDP ouvert sur internet. Censys confirme le port 3389 et le service Remote Desktop. Vous savez maintenant que la porte existe. Ce que ni l'un ni l'autre ne vous dit automatiquement, c'est si cette porte est fragile. Un poste Windows non corrigé qui expose RDP peut être vulnérable à CVE-2019-0708, la faille "BlueKeep" divulguée en mai 2019, une exécution de code à distance pré-authentification dans les services Bureau à distance de Windows, réputée "wormable". Mais l'exposition seule ne suffit pas à conclure : il faut relier la bannière et la version à la CVE, puis vérifier que la cible est bien concernée.

C'est précisément l'étape que ces moteurs laissent à votre charge, et celle qui sépare une liste d'expositions d'un vrai plan de remédiation. Corréler une bannière ou une version à une CVE connue, puis hiérarchiser par exploitabilité réelle, c'est le travail du module pentest automatisé de l'EASM own2pwn, qui embarque plus de 240 modules de détection et fait cette corrélation en continu, sans jamais chercher à exploiter la cible. La donnée brute des moteurs de recherche reste une matière première : utile, mais qui demande à être raffinée avant de valoir une décision.

Utiliser ces moteurs pour votre propre surface d'attaque

L'usage majoritaire de ces outils dans une équipe sécurité n'est pas d'aller regarder les autres : c'est de se regarder soi, du dehors, comme le ferait un attaquant. Le déroulé passif tient en quelques mouvements. On part du domaine, on récupère les certificats émis pour lui via la transparence (chez Censys ou Onyphe), on obtient une liste de sous-domaines et de noms d'hôtes, puis on interroge chaque moteur sur ces hôtes et sur les plages d'adresses que l'on possède. À la sortie : les services oubliés, les interfaces d'administration exposées par accident, les bases de données ouvertes, parfois des secrets qui ne devraient pas se trouver là.

Ce déroulé recoupe des chantiers connexes qu'on a détaillés ailleurs : la chasse au shadow IT par les journaux de transparence, la détection des fuites de secrets et, plus largement, l'outillage OSINT que l'on assemble dans un framework d'outils OSINT. La limite de l'exercice manuel : c'est une photo prise un jour donné. Un service ouvert le lendemain, un certificat émis la semaine suivante, échappent à l'audit ponctuel. Passer de la photo au film, c'est interroger ces sources en continu et alerter sur les écarts, ce que fait la surveillance de surface d'attaque plutôt que de relancer les mêmes requêtes à la main tous les trimestres.

À retenir

  • Trois catalogues, pas trois scanners. Interroger Censys, Shodan ou Onyphe est passif : la requête va au moteur, jamais à la cible. La reconnaissance reste invisible pour la machine regardée.
  • Censys pour la couverture et la fraîcheur. Tous les 65 535 ports, un âge moyen d'environ 16 heures, et les certificats TLS traités comme objet de recherche à part entière.
  • Shodan pour la profondeur applicative. Captures d'écran, hash de favicon, empreinte JARM et filtres fins, au prix d'un balayage hebdomadaire.
  • Onyphe pour le regard français et l'IPv6. Une donnée découpée en catégories métier, plus de 70 protocoles, plus de 160 CVE vérifiées, et une couverture IPv6 large.
  • Exposition n'est pas vulnérabilité. Ces moteurs disent où sont les portes, pas si elles cèdent. La corrélation bannière vers CVE et la priorisation restent à faire.
  • La photo vieillit. Un audit passif ponctuel manque tout ce qui s'ouvre après. La surveillance continue est ce qui transforme la requête en suivi.

Ces moteurs sont d'excellents révélateurs, et ils sont gratuits à interroger pour un usage modeste. Leur limite est structurelle : ils vous montrent des milliers d'expositions sans vous dire lesquelles comptent pour vous, ni vous prévenir quand une nouvelle apparaît. Si vous voulez que ce travail tourne tout seul, agrège les trois sources, corrèle les bannières aux CVE et vous alerte sur les écarts, c'est exactement ce que fait la surveillance de surface d'attaque externe d'own2pwn. Et si vous préférez qu'un humain regarde votre périmètre en conditions réelles avant de trancher, il suffit de nous décrire votre contexte.

Questions fréquentes sur Censys, Onyphe et Shodan

Interroger Censys, Onyphe ou Shodan est-il légal ?

Oui. Vous consultez un index déjà constitué : la requête part vers le moteur, jamais vers la machine visée, qui ne reçoit aucun paquet de votre part. C'est de la reconnaissance passive. La limite se situe après : réutiliser une interface d'administration ou un identifiant repéré pour se connecter au système d'un tiers relève de l'accès frauduleux, réprimé par l'article 323-1 du code pénal.

Quelle différence entre Censys, Onyphe et Shodan ?

Trois catalogues du même internet, avec des choix différents. Censys balaie les 65 535 ports et soigne les certificats TLS, avec une donnée réajustée en moyenne toutes les 16 heures. Shodan mise sur la profondeur applicative, les captures d'écran et un jeu de filtres riche, pour un balayage hebdomadaire. Onyphe, éditeur français, découpe sa donnée en catégories orientées défense et couvre les IPv4 comme des centaines de millions d'IPv6.

Onyphe est-il une alternative française à Shodan ?

Onyphe est édité par une société française et classe sa donnée en catégories métier : datascan pour les services, ctl pour la transparence des certificats, vulnscan et riskscan pour les expositions à risque. Il balaie plus de 5 000 ports en TCP et UDP, reconnaît plus de 70 protocoles et vérifie plus de 160 CVE activement exploitées. Pour un parc dont les IP sont en Europe, c'est un point de vue complémentaire utile.

Un résultat sur ces moteurs signifie-t-il que je suis vulnérable ?

Non. Ces moteurs cataloguent une exposition, pas une vulnérabilité. Un port 3389 ouvert et un service RDP identifié disent que la porte existe, pas qu'elle est fragile. Établir qu'un service est réellement exploitable demande une étape de plus : croiser la bannière et la version avec une CVE connue, puis vérifier que la cible est bien concernée. L'exposition est un signal, pas un verdict.

À quelle fréquence ces moteurs mettent-ils à jour leurs données ?

Cela varie et le savoir évite les faux positifs. Censys rescanne tout service dont l'observation dépasse 24 heures, ce qui maintient un âge moyen d'environ 16 heures sur la donnée à forte valeur. Shodan parcourt l'internet chaque semaine. Onyphe rafraîchit sa donnée de scan chaque semaine depuis plusieurs points d'observation. Une donnée périmée décrit un service qui a pu être coupé ou corrigé entre-temps.

Faut-il une API pour exploiter ces moteurs sérieusement ?

Pour un audit ponctuel, l'interface web suffit. Pour surveiller une surface d'attaque dans la durée, l'API devient indispensable : les trois moteurs en exposent une, et c'est elle qui permet d'automatiser les recherches, de corréler les résultats entre eux et de suivre les écarts d'un scan à l'autre. C'est aussi la brique sur laquelle repose la surveillance continue plutôt que la photo prise un jour donné.

Veille sécurité

La suite, une fois par mois

Ce qui bouge vraiment sur la surface d'attaque externe, NIS2 et la sécurité applicative, écrit par le pentester qui signe ces articles. Un envoi par mois, désinscription en un clic.

Votre adresse ne sert qu'à cet envoi. Voir la politique de confidentialité.

Articles liés