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.
Les CVE sont des numéros qui permettent aux informaticiens de s'assurer qu'ils parlent du même problème lorsqu'ils discutent de la sécurité d'un logiciel.
Principales bases de données
Voici les 3 principales bases de données de vulnérabilités :
CVE https://www.cve.org/
https://www.cve.org/ est un système de référence, mais il ne fournit pas d'informations détaillées sur la gravité ou les solutions des vulnérabilités.
Pour obtenir des informations détaill ées, il faut consulter d'autres bases de données :
- nvd.nist.gov
- cvedetails.com
https://nvd.nist.gov/ et https://www.cvedetails.com/
https://nvd.nist.gov/ et https://www.cvedetails.com/ fournissent des informations détaillées sur les vulnérabilités et leur impact potentiel sur la sécurité des systèmes.
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.
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
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/.
- Lancez Kali Linux.

"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
-
Ouvrez le terminal.
-
Tapez
searchsploit windows 7pour trouver des vulnérabilités connues affectant Windows 7.exploit-database/searchsploit 'Windows 7' -
Sélectionnez une vulnérabilité et recherchez son identifiant CVE.
-
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
-
Après avoir lancé Kali Linux et ouvert le terminal, la commande
searchsploit windows 7doit lister plusieurs vulnérabilités. -
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.
-
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 :
- 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.
- 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/searchsploitCette commande télécharge l'image si nécessaire, lance un conteneur et vous donne un accès interactif à ce conteneur.
- 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.

- 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).
- 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 -udans le conteneur pour la mettre à jour.
- Consulter le fichier de cet exploit
cat exploit-database/exploits/windows/remote/42031.py
- Quitter le conteneur
Une fois que vous avez fini d'utiliser searchsploit, tapez exit pour sortir du conteneur Docker.
- 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

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