Aller au contenu principal

Common Vulnerabilities and Exposures

À la découverte des CVE - Common Vulnerabilities and Exposures

Notions théoriques

Qu'est-ce qu'un CVE ?

Les CVE (Common Vulnerabilities and Exposures) sont un référentiel de données publiques sur les vulnérabilités de sécurité.

Chaque entrée CVE, identifiée par un numéro unique, fournit un résumé clair et concis d'une vulnérabilité de sécurité dans un logiciel.

astuce

Les CVE permettent aux utilisateurs et aux organisations de s'assurer qu'ils parlent du même problème lorsqu'ils discutent de la sécurité d'un logiciel.

Comme un bulletin météo !

Imaginons le CVE comme un bulletin d'alerte dans une ville : chaque fois qu'une vulnérabilité est découverte, une annonce est faite pour informer tout le monde du problème.

Le CVE est cette annonce pour le monde de l'informatique.

remarque

Le CVE permet aux experts de la sécurité de communiquer efficacement et de coordonner leurs efforts pour protéger les systèmes contre les menaces connues.

Principales bases de données

Voici les 2 principales bases de données de vulnérabilités :

CVE https://www.cve.org/

  • Géré par : Le CVE est géré par le MITRE Corporation, une organisation à but non lucratif qui gère également d'autres bases de données de sécurité et standards.
  • Objectif : Le système CVE vise à cataloguer les vulnérabilités de manière standardisée. Chaque vulnérabilité ou exposition est identifiée par un identifiant CVE unique.
  • Contenu : Le CVE fournit un identifiant unique pour chaque vulnérabilité de sécurité connue et une description standardisée. Il ne comprend pas de détails tels que la sévérité ou les solutions.
  • Utilisation : Le CVE est utilisé comme référence pour comparer les outils de sécurité et les bases de données, et il est intégré dans une variété d'autres produits et services de sécurité.

NVD https://nvd.nist.gov/

  • Géré par : Le NVD est géré par le NIST une agence du département du Commerce des États-Unis.
  • Objectif : Le NVD sert de référentiel complet pour les métadonnées associées aux vulnérabilités du système CVE, offrant ainsi une base de données complète pour la gestion des vulnérabilités.
  • Contenu : En plus des informations CVE, le NVD inclut des données supplémentaires telles que les scores CVSS (Common Vulnerability Scoring System), les liens vers les correctifs ou solutions, et les détails de configuration affectés.
  • Utilisation : Le NVD est utilisé pour la recherche de vulnérabilités et la gestion des risques, offrant des outils pour l'évaluation de la sécurité et la conformité réglementaire.
Résumé

Le CVE fournit une référence standard pour les vulnérabilités de sécurité qui peut être utilisée dans divers outils et systèmes, tandis que le NVD étend ces informations avec des métadonnées supplémentaires, rendant les données CVE plus utiles pour l'analyse et la gestion des risques de sécurité.

Exemple pratique : Analyse d'un CVE

Méthodologie

  • Recherche de CVE : Utiliser des bases de données comme celles du MITRE ou du NIST pour trouver et comprendre les CVE.
  • Évaluation de la gravité : Comprendre le score CVSS pour évaluer l'impact potentiel d'une vulnérabilité.
  • Mise à jour et patchs : Savoir comment appliquer des correctifs de sécurité sur les systèmes affectés.

CVE "PrintNightmare"

Prenons un exemple concret : la vulnérabilité CVE-2021-34527, aussi connu sous le nom de "PrintNightmare".

Exemple de recherche dans la BD du MITRE

Nous pouvons rechercher la vulnérabilité CVE-2021-34527 dans la base de données du NIST https://www.cve.org/.

Le CVE-2021-34527 identifie une vulnérabilité critique dans le service Windows Print Spooler, qui permettait à un attaquant d'exécuter du code à distance.

Exemple de recherche dans la BD du NIST

Nous pouvons rechercher la vulnérabilité CVE-2021-34527 dans la base de données du NIST https://nvd.nist.gov/vuln/search.

Le CVE-2021-34527 identifie une vulnérabilité critique dans le service Windows Print Spooler, qui permettait à un attaquant d'exécuter du code à distance.

En utilisant cette faille, un attaquant pouvait potentiellement prendre le contrôle d'un système Windows.

astuce

A partir de ces informations, pour améliorer la sécurité :

  • nous lisons le résumé sur la base de données CVE,
  • nous regardons la gravité de la vulnérabilité évaluée par le score CVSS (Common Vulnerability Scoring System),
  • et nous cherchons les correctifs ou les contournements proposés par le fabricant ou la communauté.

Test de mémorisation/compréhension


Que signifie l'acronyme CVE ?


À quoi sert un identifiant CVE ?


Quel était le problème avec le CVE-2021-34527 ?


Qu'est-ce que le score CVSS ?


Où peut-on trouver des informations sur les CVE ?



TP - Utilisation de Searchsploit

Objectif : Rechercher des informations sur une vulnérabilité connue et comprendre son impact.

Instructions :

Nous allons utiliser un outil en ligne de commande appelé Searchsploit.

Searchsploit, fourni par Exploit Database, permet de rechercher des informations sur une vulnérabilité connue.

Searchsploit est un outil installé par défaut dans Kali Linux, via le paquet exploitdb : https://www.kali.org/tools/exploitdb/.

  1. Lancez Kali Linux.

astuce

"Plus vous devenez silencieux, plus vous êtes capable d'entendre."

Si Kali Linux n'est pas installé

Pour utiliser Searchsploit sans Kali Linux, il est possible de créer un conteneur Docker à partir de l'image fugitivus/searchsploit, à l'aide de la commande :

docker run --rm -it fugitivus/searchsploit

  1. Ouvrez le terminal.

  2. Tapez searchsploit windows 7 pour trouver des vulnérabilités connues affectant Windows 7.

    exploit-database/searchsploit 'Windows 7'
  3. Sélectionnez une vulnérabilité et recherchez son identifiant CVE.

  4. Utilisez le navigateur pour accéder à la base de données CVE du NIST et entrez l'identifiant trouvé pour obtenir des détails sur cette vulnérabilité.

Une solution avec Kali Linux

  1. Après avoir lancé Kali Linux et ouvert le terminal, la commande searchsploit windows 7 doit lister plusieurs vulnérabilités.

  2. En choisissant une entrée, par exemple "Microsoft Windows 7 - 'EternalBlue' SMB Remote Code Execution (MS17-010)", vous devriez trouver le CVE associé, soit CVE-2017-0144.

  3. En recherchant ce CVE sur le site Web du NIST, vous devez trouvé des informations détaillées sur la vulnérabilité, son score CVSS, les produits affectés, et les solutions ou contournements proposés.

Une solution avec le conteneur Docker fugitivus/searchsploit

Pour utiliser l'image Docker fugitivus/searchsploit afin d'étudier la vulnérabilité "EternalBlue" SMB Remote Code Execution (MS17-010) de Microsoft Windows 7, vous pouvez suivre les étapes suivantes :

  1. Installation de Docker

Assurez-vous que Docker est installé sur votre machine. Si ce n'est pas le cas, vous pouvez le télécharger et l'installer à partir du site web de Docker pour votre système d'exploitation.

  1. Lancement de l'image Docker fugitivus/searchsploit
  • Ouvrez un terminal sur votre machine.

  • Tirez l'image Docker (si ce n'est pas déjà fait) et exécutez-la en utilisant la commande suivante :

    docker run --rm -it fugitivus/searchsploit

    Cette commande télécharge l'image si nécessaire, lance un conteneur et vous donne un accès interactif à ce conteneur.

  1. Recherche de la vulnérabilité EternalBlue

Une fois à l'intérieur du conteneur Docker, utilisez searchsploit pour rechercher des détails sur la vulnérabilité "EternalBlue":

/exploit-database/searchsploit EternalBlue

Cette commande affichera toutes les entrées liées à EternalBlue dans la base de données Exploit Database. Vous devriez voir des résultats spécifiques à différentes versions de Windows, y compris Windows 7.

  1. Examiner les résultats

Les résultats listeront probablement plusieurs exploits. Pour chaque exploit, vous verrez un titre, un chemin vers le fichier de l'exploit, et parfois des liens externes ou des identifiants supplémentaires (comme un numéro CVE).

remarque
  • Sécurité et légalité: Assurez-vous de n'utiliser les informations obtenues que pour des recherches légales et éthiques. Tester des exploits sur des systèmes qui ne vous appartiennent pas ou sans permission explicite est illégal et éthiquement répréhensible.
  • Mise à jour de la base de données: Si vous souhaitez vous assurer que la base de données des exploits est à jour, vous pouvez exécuter searchsploit -u dans le conteneur pour la mettre à jour.
  1. Consulter le fichier de cet exploit
cat exploit-database/exploits/windows/remote/42031.py
  1. Quitter le conteneur

Une fois que vous avez fini d'utiliser searchsploit, tapez exit pour sortir du conteneur Docker.

  1. Télécharger les détails de l'exploit

Pour examiner un exploit spécifique plus en détails, il suffit d'utiliser la commande suivante pour copier le fichier de cet exploit du conteneur Docker vers votre machine hôte (assurez-vous de remplacer <path-to-exploit> par le chemin réel de l'exploit que vous souhaitez examiner) :

docker cp <container_id>:<path-to-exploit> <destination-on-host>

Pour obtenir l'ID du conteneur, ouvrez un nouveau terminal et tapez:

docker ps

attention

Sur un ordinateur bien protégé, le fichier 42031.py est sensé être détecté comme malveillant et automatiquement supprimé par le logiciel AntiSpyware.