CVE-2024-38063 — Vulnérabilité de la pile IPv6 de Windows (Analyse et PoC)
-red)
Analyse technique et Preuve de Concept (PoC) pour CVE-2024-38063, une vulnérabilité critique d'exécution de code à distance (RCE) dans la pile IPv6 de Windows (tcpip.sys). Découverte par KunLun Lab, cette faille est zero-click, c'est-à-dire qu'elle peut être déclenchée par des paquets spécialement conçus sans interaction de l'utilisateur.
Contexte académique : Projet final du cours « Foundations of Network Security ».
Table des matières
Aperçu
Ce dépôt contient :
- une analyse structurée de la vulnérabilité,
- une démonstration PoC utilisant Scapy,
- et la documentation complète du cours ainsi que les instructions du laboratoire.
Résumé technique
Le problème principal est un dépassement d'entier négatif (integer underflow) dans tcpip.sys lors de l'analyse des en-têtes d'extension IPv6 dans le trafic fragmenté.
- Échec logique : la validation de la longueur de l'en-tête échoue lors du calcul.
- Corruption mémoire : le dépassement entraîne un débordement de tampon (buffer overflow) et des écritures mémoire non sécurisées.
- Impact : potentiel BSOD et RCE dans des conditions spécifiques.
Contenu du dépôt
- CVE-2024-38063 Analysis.pdf — Diapositives couvrant le contexte, la cause racine et les mesures d'atténuation.
- CVE-2024-38063.py — Script PoC basé sur Scapy (démontre le comportement de crash).
- WriteUP.pdf — Rapport complet, exigences du laboratoire et notes d'exécution.
Configuration du laboratoire
Pour reproduire l'environnement dans un laboratoire éducatif contrôlé :
- Victime : Windows 10/11 antérieur au correctif d'août 2024 / 24H2, IPv6 activé.
- Attaquant : VM Linux avec Python 3, Scapy.
- Réseau : connectivité IPv6 entre les deux machines sur le même segment réseau.
Logique du PoC (Haut niveau)
Le PoC construit une séquence de paquets pour déclencher le dépassement :
- Options de destination avec un type d'option non reconnu pour emprunter les chemins de gestion d'erreurs.
- Fragment 1 pour démarrer la fragmentation et fournir la charge utile.
- Fragment 2 pour terminer la séquence.
Le script répète ces lots en faisant varier la limite de sauts (Hop Limit) pour augmenter la probabilité de rencontrer le chemin d'analyse vulnérable.
Utilisation
- Identifiez l'adresse IPv6 cible.
- Mettez à jour
ip_addr et iface dans CVE-2024-38063.py.
- Exécutez le script depuis la machine attaquante :
pip install scapy
pip install getmac
python3 CVE-2024-38063.py
Si la cible est vulnérable, un BSOD se produit généralement dans les 30 à 60 secondes lorsque le noyau traite des en-têtes malformés.
Atténuation
- Appliquer les mises à jour de sécurité : correctif Microsoft (13 août 2024).
- Désactiver IPv6 si le correctif n'est pas possible.
- Filtrage du pare-feu : bloquer les paquets IPv6 fragmentés en périphérie.
Avis de non-responsabilité
Ce projet est à des fins éducatives et de recherche uniquement. Tester ou accéder sans autorisation à des systèmes dont vous n'êtes pas propriétaire ou pour lesquels vous n'avez pas d'autorisation explicite est illégal. Les auteurs déclinent toute responsabilité en cas d'utilisation abusive.