Neutron, notre moteur d’IA, a obtenu un score de 96,75 % sur le benchmark CyberGym de l’UC Berkeley. En savoir plus

Sécurité

Sécurité

Vulnérabilités exploitables connues : les attraper toutes

Dans cet article, nous présentons des outils essentiels et des enseignements empiriques pour identifier les vulnérabilités critiques, de sévérité élevée et activement exploitées, issues de plateformes reconnues comme CISA KEV, Tsunami de Google et le projet Asteroid d'Ostorlab.

En bref

Cet article partage des données empiriques et des outils pour détecter les vulnérabilités critiques et de sévérité élevée, exploitables à distance et activement exploitées. Ces vulnérabilités proviennent de sources telles que CISA KEV, Tsunami de Google et notre nouvel ajout, le projet Asteroid d'Ostorlab. Dans cet article, nous publions en open source de nouveaux outils permettant de détecter à grande échelle une large proportion de ces vulnérabilités.

Introduction

Toutes les vulnérabilités ne « naissent » pas égales : leurs impacts diffèrent et leur exploitation exige des conditions différentes. Les vulnérabilités critiques et à fort impact, exploitables à distance sans authentification, comptent parmi les plus dangereuses, qu'il s'agisse d'exécution de code à distance, de prise de contrôle de compte ou d'identifiants par défaut et faibles, car toutes peuvent avoir un impact dévastateur.

Cet article se concentre sur l'identification de ces vulnérabilités critiques, sur ce qui les distingue des autres, et présente une suite de nouveaux outils open source (des agents) pour les détecter dans n'importe quel système.

Nous partagerons et analyserons également les résultats de l'utilisation de ces outils à l'échelle d'un programme de bug bounty.

Les vulnérabilités

La sévérité d'une vulnérabilité dépend de plusieurs facteurs, notamment le vecteur d'attaque (local ou distant), le niveau de privilèges requis et la nécessité d'une interaction de l'utilisateur. Un autre critère important pour évaluer ces vulnérabilités est de savoir si elles ont été exploitées dans la nature. Ces critères aident à repérer et à prioriser les vulnérabilités qui représentent les menaces les plus critiques, celles qui exigent une attention et une remédiation immédiates.

Cette priorisation devient plus réalisable avec l'aide de plusieurs sources comme CISA KEV et Tsunami de Google. CISA KEV est un catalogue de vulnérabilités qui recense les CVE activement exploitées, et Tsunami se spécialise dans les vulnérabilités critiques et de sévérité élevée, priorisées par la Security Automated Team de Google.

CISA KEV :

La liste CISA KEV contenait 1054 CVE au total :

  • 680 ne sont pas exploitables à distance ou nécessitent une interaction de l'utilisateur ou une authentification.

  • 374 vulnérabilités sont exploitées à distance sans interaction de l'utilisateur ni privilèges.

Figure 1 : graphique de la liste CISA KEV
Graphique CISA KEV

Sur les 374 vulnérabilités analysées, 264 disposaient d'exploits publics confirmés. Parmi les autres, certaines avaient des articles techniques apportant des éclairages, tandis que d'autres n'avaient aucune information associée.

Parmi les preuves de concept examinées, toutes n'étaient pas authentiques : certaines étaient partielles, erronées, malveillantes ou de simples farces.

Un autre exemple est CVE-2022-28958, qui n'est pas une vraie vulnérabilité. Des attaquants ont bien utilisé un faux payload dans leurs attaques, ce qui indique que l'exploit public a été utilisé sans vérification.

Figure 2 : CVE-2022-28958
CVE-2022-28958

La description de la vulnérabilité est : « DIR816L_FW206b01 shareport.php has an issue that attackers can use to execute commands via value parameter ».

Cependant, après investigation, la preuve de concept du chercheur s'est révélée non fonctionnelle, et des tests supplémentaires menés par VulnCheck sur le firmware n'ont permis de trouver aucun élément confirmant l'existence de la vulnérabilité.

L'analyse a également révélé une diversité parmi les éditeurs et les produits répertoriés.

Voici la répartition des CVE (exploitables à distance ou non) par éditeur

Figure 3 : répartition des CVE (exploitables à distance ou non) par éditeur
Répartition des CVE (exploitables à distance ou non) par éditeur

Points notables à mentionner :

  • Microsoft : arrive en tête avec 275 CVE, mais seulement 16 sont exploitables à distance sans authentification.
  • Apache : se classe premier pour les CVE exploitables à distance sans authentification, avec 31 vulnérabilités.

Répartition des CVE nécessitant des identifiants ou non exploitables à distance, par produit :

Figure 4 : répartition des CVE nécessitant des identifiants ou non exploitables à distance, par produit
Répartition des CVE nécessitant des identifiants ou non exploitables à distance, par produit

Répartition des CVE exploitables à distance sans authentification, par produit :

Figure 5 : répartition des CVE exploitables à distance sans authentification, par produit
Répartition des CVE exploitables à distance sans authentification, par produit

La liste complète est disponible dans le dépôt suivant et est mise à jour en permanence : dépôt KEV d'Ostorlab.

Figure 6 : liste de toutes les CVE
Liste de toutes les CVE

Nouveaux outils open source

Le framework open source d'analyse de sécurité d'Ostorlab a joué un rôle central dans la mise en place d'une solution de scan centralisée. Il a permis d'exécuter simultanément plusieurs agents aux capacités variées pour tester ces vulnérabilités à grande échelle.

Par exemple, tester la présence de ces vulnérabilités sur des plages d'adresses IP a donné de mauvais résultats. Plusieurs de ces vulnérabilités ne sont accessibles qu'avec des noms de domaine valides.

Les agents construits et utilisés pour détecter ces vulnérabilités sont :

Nuclei agent : un agent open source qui encapsule le scanner Nuclei, permettant de scanner n'importe quelle cible avec n'importe quel template. Pour plus d'informations, consultez : https://github.com/Ostorlab/agent_nuclei.

Tsunami agent : un agent open source qui encapsule le scanner Tsunami, donnant la possibilité d'exécuter tous les plugins fournis par le scanner. Pour plus d'informations, consultez : https://github.com/Ostorlab/agent_tsunami.

Metasploit agent : un agent open source conçu pour utiliser les modules Metasploit contre n'importe quelle cible afin de vérifier la présence de vulnérabilités. Pour plus d'informations sur son utilisation, consultez : https://github.com/Ostorlab/agent_metasploit.

Agent Asteroid : un nouvel agent qui permet d'exécuter des vérifications complexes nécessitant des protocoles personnalisés ou une logique complexe, comme le cassage de clés cryptographiques, plus difficile à implémenter avec un template Nuclei. L'agent est disponible sur https://github.com/Ostorlab/agent_asteroid.

Figure 7 : Agent asteroid
Agent Asteroid

Le dossier 'exploits' contient les différentes preuves de concept implémentées, auxquelles nous continuerons d'en ajouter.

À la date de publication de ce rapport, notre boîte à outils comprend 18 vérifications distinctes pour diverses CVE. En complément, nous avons développé des vérifications personnalisées spécifiques, comme celle qui cible l'exposition d'Android Debug Bridge (ADB).

Nmap agent : un agent open source pour la découverte de ports. L'agent Nmap permet de découvrir quels ports doivent être ciblés par l'agent de détection, en garantissant qu'ils ne sont scannés qu'une seule fois et testés par tous.

Amass agent : un agent open source pour énumérer les sous-domaines. Cet agent a été utilisé lors des tests à grande échelle pour couvrir toutes les cibles publiquement accessibles d'un domaine donné.

Subfinder agent : un autre agent open source pour énumérer les sous-domaines. Cet agent complète Amass pour une meilleure énumération des domaines.

Tout assembler

Pour exécuter tous ces agents simultanément, Ostorlab offre la possibilité de définir un groupe d'agents et de spécifier les agents souhaités.

Pour consulter la définition complète du groupe d'agents, voir known exploitable vulnerabilities.

Pour exécuter ce groupe d'agents :

oxo scan run --install -g agent_group.yaml domain-name example.com

Les agents sont packagés sous forme d'images Docker et l'option –-install garantit le téléchargement de la dernière version.

Pour visualiser la façon dont ces agents collaborent, vous pouvez utiliser l'outil disponible à l'adresse : https://report.ostorlab.co/library/agent/group.

Figure 8 : visualisation de la définition du groupe d'agents
Visualisation de la définition du groupe d'agents

Il offre une fonctionnalité de glisser-déposer qui permet de générer un fichier YAML pour le groupe d'agents. Il permet aussi de visualiser la communication entre les agents, leurs entrées et sorties, ainsi que leur position dans le workflow.

Tests à grande échelle

L'exécution des outils développés sur diverses cibles de bug bounty a fourni des résultats empiriques sur la présence de ces vulnérabilités, face à des cibles dont la posture de sécurité est mature.

Sur les 1500 cibles, les résultats suivants ont été collectés : vingt-cinq (25) des cibles contenaient des vulnérabilités critiques menant à une exécution de code à distance.

Par exemple :

Vulnérabilité Jboss Application Server - Remote Code Execution, avec un score CVSS de 9.8.

Figure 9 : exécution de code à distance sur JBOSS
Exécution de code à distance sur JBOSS

Onze des cibles (11) contenaient des vulnérabilités de sévérité élevée, allant de la RCE pré-authentification et des identifiants faibles sur des services comme FTP et IMAP, jusqu'au contournement du contrôle d'accès.

Cela signifie que, parmi ces cibles dont la posture de sécurité est supposée mature, 2,5 % souffraient encore de vulnérabilités exploitables publiquement.

Remarques finales

Les vulnérabilités représentent un défi permanent, et leur priorisation reste pour le moins complexe. Un outil open source centralisé pour détecter les menaces connues offre un avantage (et une première étape) pour sécuriser les environnements.

N'hésitez pas à contribuer à ce projet open source. Vous pouvez créer une pull request avec votre preuve de concept sur :

Known exploitable vulnerabilities ou sur Agent Asteroid.

Tags :

security, cisa, kev, cve