Introduction
Sur Censys, notre mission est d'élaborer le plan ultime du web, de cartographier toutes les anomalies étranges et de découvrir où les choses sauvages errent. Nous scannons l'internet sans discernement et nous faisons un excellent travail. Et lorsque, comme nous, vous regardez ces données toute la journée, vous avez tendance à vous habituer aux petites bizarreries (comme les pots de miel commerciaux) que vous rencontrez souvent et à vous désensibiliser aux choses extrêmement étranges.
L'une des réalités qui ressort rapidement de ces données est la prise de conscience de l'abondance de tromperies sur l'internet. Je ne parle pas du domaine des médias sociaux et des discussions sur la rotondité de la terre ou l'existence d'oiseaux inexistants, mais de la compréhension soudaine du fait que les choses qui gèrent l'internet ne sont pas toujours ce qu'elles prétendent être. Il n'existe pas de lois ou de mécanismes réglementaires obligeant les hôtes connectés à l'internet à révéler leur véritable identité ou leur objectif :
Vous pouvez générer un certificat SSL pour google.com, et pratiquement personne ne vous empêchera de le déployer. Vous pouvez créer une entrée DNS inverse pour votre adresse IP qui se résout en facebook.com, et personne ne sourcillera. Même le fait de modifier votre serveur web Apache pour qu'il prétende utiliser Nginx ne déclenchera pas une descente de la police de l'internet.
Lorsque l'on cherche à dresser un portrait de l'internet, il faut se défaire des vérités préconçues et aborder tout ce que l'on rencontre avec une bonne dose de scepticisme. Cependant, la plupart des hôtes ne sont généralement pas susceptibles de nous tromper sur leur véritable nature, car la création et le maintien de ces mensonges nécessitent un certain effort.
Les pots de miel
Mais il existe des catégories particulières d'hôtes dont l'objectif réel est de tromper, soit pour assurer la sécurité par l'obscurité, soit pour analyser le trafic réseau potentiellement malveillant. Ces hôtes sont appelés "Honeypots" (pots de miel) : il s'agit d'hôtes et de réseaux déployés pour mieux comprendre les types d'attaques qui se produisent sur les réseaux, généralement utilisés en conjonction avec des IDS et des pare-feu pour affiner le dispositif de sécurité d'une organisation.
Ces systèmes mentent délibérément sur le type de service et de logiciel en cours d'exécution afin de tromper les pirates potentiels et de les inciter à tenter d'exploiter le serveur. Même Amazon s'est récemment lancé dans le jeu des pots de miel avec son projet MadPot, et des entreprises comme Greynoise opèrent dans le secteur des pots de miel commerciaux depuis des années. Une recherche rapide sur GitHub pour les pots de miel donne plus de 500 projets, certains avec des milliers d'étoiles, et c'est un mécanisme de sécurité populaire et un passe-temps depuis des décennies.
Certains pots de miel sont meilleurs que d'autres, mais en général, chacun d'entre eux a un scénario spécifique dans lequel il excelle. En réalité, les pots de miel mal conçus peuvent être très bruyants et faciles à repérer, tandis que les pots de miel bien conçus peuvent souvent être trouvés avec un peu d'attention. En revanche, les pots de miel les mieux conçus ne seront jamais repérés.
Par exemple, le logiciel spécialisé GasPot tente d'imiter un service légitime de jaugeage automatique des réservoirs (ATG) (utilisé pour surveiller les niveaux de carburant), mais il est facilement démasqué avec peu d'attention.
(Un service ATG réel)
(Un (faux) service ATG GasPot)
Trois indicateurs permettent de différencier GasPot d'un véritable dispositif ATG :
- GasPot a un nombre limité de codes de diagnostic qu'il accepte, et pour tout code qu'il ne comprend pas, il renvoie le code d'erreur "9999FF1B".
- GasPot formate les horodatages dans les charges utiles différemment des appareils ATG réels. Par exemple, GasPot les présente sous la forme "MM/JJ/AAAA HH:MM", alors qu'un dispositif ATG réel présente ses horodatages comme suit : "Nov 8, 2022 15:45"
- Les vrais appareils ATG utilisent les CRLF ("\r\n"), alors que GasPot utilise principalement les nouvelles lignes ("\n\n") en raison du code dans la capture d'écran suivante
Le code GasPot qui génère des nouvelles lignes au lieu de CRLF
Sachant cela, il est relativement facile d'utiliser Censys pour trouver les hôtes qui exécutent ce serveur pot de miel GasPot en recherchant simplement les services ATG qui n'utilisent pas de nouvelles lignes au lieu de CRLF : services : (service_name=ATG and banner="*\n\n\n\n*")
Et lorsque vous recherchez ces services GasPot, vous remarquerez que la majorité des résultats concernent des hôtes présentant toutes sortes de caractéristiques et de classifications de services "intéressantes" et peu communes, que l'on ne trouve souvent pas ensemble dans le monde réel.
Dans la capture d'écran des résultats de GasPot ci-dessus, de nombreux hôtes disposent de quatre ou cinq technologies de base de données différentes qui sont fonctionnellement identiques (MSSQL, MySQL, Postgres, etc.). Nous voyons également des services communément associés à des applications web quotidiennes s'exécuter aux côtés de services IoT et SCADA. Pour couronner le tout, bon nombre de ces serveurs ATG vivent dans AWS, qui, à ma connaissance, n'a pas d'accès direct à des réservoirs physiques d'essence .Ce n'est pas la meilleure représentation de la réalité.
Les faux-fuyants
Les scanners de réseau tels que Censys enregistreront les informations d'un service exactement telles qu'elles sont présentées par l'hôte, et en plus des données brutes, nous augmenterons les détails de l'hôte avec des informations sur les services et les logiciels en cours d'exécution à l'aide d'étiquettes et de CPE. La logique qui sous-tend la recherche et l'application de ces étiquettes de logiciels et de services est, pour l'essentiel, un processus simple faisant appel à des expressions régulières et à la recherche de motifs à l'aide de données internes et de sources ouvertes. Et pour la plupart des hôtes sur l'internet, cela fonctionne parfaitement.
Aussi, lorsque nous avons été informés de l'existence d'une nouvelle série d'hôtes dont les gens parlaient sur les médias sociaux et qui tentaient non seulement de mentir sur leur identité, mais aussi de surcharger les scanners de réseau avec de faux positifs, je n'ai pas été surpris, car nous avions déjà été témoins de choses similaires auparavant.
Le 20 septembre 2023, Censys a commencé à observer une cinquantaine d'hôtes présentant une caractéristique unique et chaotique : dans la réponse HTTP, ces hôtes incluaient un en-tête Server de 37 213 octets (habituellement utilisé pour identifier le serveur en cours d'exécution) avec des centaines de noms de logiciels différents.
Au cours des semaines suivantes, nous avons constaté que le nombre d'hôtes présentant ces données augmentait considérablement, passant de trois à six mille hôtes par jour. Le 30 septembre, nous avons constaté que plus de 27 252 hôtes uniques présentaient cet énorme et odieux en-tête de serveur.
Ce qui est plus intéressant, c'est de savoir où ces hôtes sont situés (géographiquement et en termes de système autonome). Au moment où nous écrivons ces lignes, tous les hôtes se trouvent dans le système autonome AMAZON-02, l'un des plus grands réseaux AWS. Cependant, au début de cet événement, deux autres AS ont été vus avec ces hôtes : AMAZON-AES(AS14618) et BJ-GUANGHUAN-AP(AS55960), qui ont tous deux arrêté ces services spécifiques neuf jours plus tard, le 29 septembre. Vous trouverez ci-dessous un graphique (à l'échelle logarithmique) de chaque AS trouvé avec ce service perturbateur et le nombre d'hôtes.
Beijing Guanghuan Xinwang Digital est le fournisseur d'accès à Internet avec lequel Amazon s'associe pour exploiter légalement AWS en Chine, ce qui signifie que les blocs IP que cet AS annonce sont détenus et exploités par Amazon, mais que les centres de données et le transit sont contrôlés par Xinwang Digital.
Étant donné que vous devez disposer d'une licence commerciale chinoise valide pour ouvrir un compte sur AWS China, la simple existence de ces hôtes indique que l'entreprise est basée en Chine. Il est intéressant de noter qu'ils ont tenté de masquer cette situation en déplaçant tout vers AMAZON-02, situé principalement aux États-Unis, à la fin du mois dernier. L'ampleur de cet incident indique qu'il s'agit d'une expérience très bien planifiée, soutenue par des entreprises étrangères(peut-être des États ou même des établissements d'enseignement). Étant donné que le déploiement de services sur AWS garantit l'anonymat et que chacun de ces serveurs semble avoir une structure similaire sans aucune autre indication quant à leur propriétaire, il est difficile de dire avec précision qui est derrière tout cela.
Objectifs
Nous nous sommes demandé si Censys était explicitement ciblé ou si ces hôtes avaient d'autres raisons d'exister. En fin de compte, ces hôtes ont "trompé" notre scanner en appliquant de nombreuses étiquettes logicielles (techniquement correctes, car c'est ce que le serveur nous a dit). Néanmoins, du point de vue de l'utilisateur, ils sont agaçants et potentiellement trompeurs.
We started by looking at the data that triggered these red herrings. At a cursory glance, all of the data seems to be just random server names that may have been aggregated from random hosts on the internet, along with defining multiple HTML <title> tags in the response body:
En réalité, ces points de données ne sont pas aléatoires et n'ont pas été glanés à partir des données de l'hôte. Chaque valeur d'en-tête de serveur observée dans l'en-tête de réponse et chaque titre HTML trouvé dans le corps du message correspond directement à une règle du scanner de vulnérabilités open-source Nuclei de Project Discovery.
NUCLEI
Les modèles Nuclei sont des règles codées en YAML qui décrivent comment rechercher, valider et exécuter des exploits sur des hôtes connectés à Internet. Beaucoup de ces règles définissent où chercher quelque chose et des expressions régulières pour déterminer si un exploit doit être tenté et si l'exploit a réussi.
Dans ce cas, le créateur de ces services bruyants a analysé des sections spécifiques de chaque modèle Nuclei axé sur le web pour créer un service unique qui déclencherait toutes les vulnérabilités web connues de Nuclei.
For example, one of the HTML titles found in the data is “<title>Flowchart Maker & Online Diagram Software</title>”, which directly corresponds to the “matchers” configuration section of the Nuclei template “http/cves/2022/CVE-2022-1713.yaml“:
La section "matcher" de Nuclei contient le mot-clé "part", qui définit dans quelle partie d'une réponse HTTP ces données peuvent être trouvées et définit ensuite un ensemble de règles pour correspondre dans cette partie de la réponse HTTP. Ainsi, si la règle Nuclei définit une "part : body", le texte correspondant sera placé dans le corps HTML sur le serveur. La même règle générale s'applique à "part : title" et "part : header".
|
Ce qui est amusant dans ces données, c'est que tout le bruit généré (même s'il s'agit d'une définition de "matcher" de l'en-tête Cookie) est inséré sous la forme d'une ligne géante dans l'en-tête Serveur de la réponse HTTP. |
Even more amusing is that Nuclei uses Mustache templating, which can substitute strings encased between “{{“ and “}}” with dynamic data. For example, in the Nuclei definition for CVE-2012-0394, we see that it attempts to match data based on a Mustache-defined variable:
matchers-condition: and
matchers:
- type: word
words:
- '{{result}}'
Comme le créateur de ce service bruyant n'en a pas tenu compte, nous pouvons voir ces variables brutes sur les hôtes. Cela confirme la source de toutes ces données.
RECOG
Alors que les services utilisant l'en-tête de serveur de 37k octets dérivé de Nuclei ont été arrêtés, les hôtes ont continué à fonctionner avec un ensemble de données différent sur des milliers de ports. Le graphique ci-dessous illustre le nombre total de services sur les 10 premiers hôtes de l'AS55960 qui avaient initialement l'en-tête de serveur de 37 000 octets. Ici, nous pouvons voir que deux hôtes, 54.223.45.228 et 52.80.98.93, ont dévié de manière significative dans le nombre de services créés entre le 20 septembre et le 2 octobre 2023, le premier ayant doublé ses services en une nuit, passant de 4 000 à 8 000 services.
Ces nouveaux services avaient une empreinte digitale complètement différente de celle des services originaux ;
Ces services restants (capture d'écran ci-dessus, à droite) ne correspondent pas aux indicateurs décrits plus haut dans ce billet. Au lieu de cela, ils utilisent une technique similaire, mais cette fois-ci, en utilisant apparemment une source de données différente de la précédente pour générer ces énormes charges utiles. Au lieu d'utiliser Nuclei pour créer ces fausses données, ces autres données semblent provenir de la structure d'empreintes digitales Recog de Rapid7, que Metasploit utilise pour récupérer les informations logicielles des services :
Il semble donc que le développeur de ces services ait simplement extrait les sections d'exemple des définitions d'empreintes digitales de Recog basées sur le web et les ait insérées dans un en-tête de serveur sur l'hôte. Il en va de même pour les multitudes de titres HTML trouvés dans le corps des réponses, tous apparemment dérivés des exemples contenus dans les définitions d'empreintes digitales.
Cependant, ces serveurs dérivés de Recog existent dans nos données depuis des lustres, de sorte que la théorie de travail est qu'une organisation en Chine qui a fait ce type d'installation pendant un certain temps a modifié son générateur de services pour inclure des données dérivées de Nuclei. Et comme ces services ont disparu en l'espace de quelques semaines, on peut supposer que les résultats n'étaient pas à la hauteur. Les services issus de Nuclei ont donc été supprimés, mais la méthode Recog a été maintenue.
Ce dépôt, dont le nom ne peut être prononcé à haute voix, comprend plusieurs répertoires en langue chinoise qui contiennent des données ressemblant beaucoup à ces hôtes. Nous ne savons pas s'il s'agit de la véritable source de ces données, mais elles semblent faire référence à un autre produit appelé "NSFocus Advanced Threat Hunting System" (système de chasse aux menaces avancées)
"NSFOCUS Advanced Threat Hunting System ("ATH" en abrégé) utilise une technologie de défense par la déception (technologie de pot de miel de nouvelle génération) pour piéger avec précision les comportements d'attaque et fournir des indices sur les activités d'intrusion des attaquants".
Il contient même un répertoire plus suspect qui, traduit du chinois, se lit comme suit :
"L'échantillon contient un grand nombre de mots-clés de recherche qui contaminent les moteurs de recherche du cyberespace".
Et si l'on compare le contenu de ywkXErYz.html à celui de 175.178.174.46 le 5 octobre, on constate qu'ils correspondent.
ywkXErYz.html
Corps de la réponse HTTP
Nous pouvons donc affirmer avec certitude que, dans ce cas précis, nous sommes en présence d'un ensemble de données spécialement conçues pour perturber les bases de données de balayage en ligne telles que Censys. Toutefois, à l'heure où nous écrivons ces lignes, il n'y a qu'environ sept de ces hôtes en ligne, et ils ne semblent pas avoir de rapport avec ce dernier événement puisqu'ils semblent tous vivre dans des systèmes autonomes complètement différents.
Conclusion
Cet incident était-il une "attaque" intentionnelle contre Censys? Il semble que ce soit plus complexe que cela ; l'incident peut être attribué à plusieurs possibilités. Tout d'abord, ces services pourraient être considérés comme des pots de miel quelque peu naïfs et simples. D'autre part, il pourrait s'agir de services délibérément conçus pour inciter les scanners de vulnérabilité connus à tout percevoir comme vulnérable.
Étant donné que Metasploit, l'outil d'exploitation et de test de pénétration open-source largement utilisé, s'appuie sur Recog pour l'empreinte logicielle, et compte tenu de la récente tendance des chercheurs à utiliser Nuclei pour tester les vulnérabilités, ce dernier scénario semble de plus en plus plausible. Il suggère que quelqu'un, ou quelque chose, tente de tromper les scanners de vulnérabilités en générant des alertes pour un large éventail de cibles.
Une autre théorie plausible est qu'une entité évalue systématiquement les capacités des scanners de réseaux en ligne tels que Censys. Il pourrait s'agir d'identifier les limites, les délais et les mécanismes de temporisation, voire d'explorer des méthodes potentielles pour surcharger les serveurs dorsaux ou saper la fiabilité des données obtenues et stockées par les scanners tels que Censys .
Mais nous pensons que beaucoup de ces hôtes ne sont que des pots de miel bricolés qui piègent les plus petits dénominateurs communs. Quelle que soit la raison, nous surveillerons de près les serveurs de ce type et les marquerons si nécessaire.