
Этот сценарий описывает стратегии обнаружения, сдерживания и устранения для CVE-2025-55234, критической уязвимости повышения привилегий в Windows SMB.
Этот плейбук описывает стратегии обнаружения, сдерживания и устранения последствий для CVE-2025-55234 — критической уязвимости повышения привилегий в Windows SMB.
_Автор: Mark Mallia
В современном постоянно меняющемся ландшафте киберрисков способность перейти от низкопривилегированного доступа до уровня SYSTEM во внутренней сети — уже не просто теоретическая угроза, а характерный приём опытного злоумышленника. Недавно раскрытая уязвимость CVE‑2025‑54918 в аутентификации NTLM Windows демонстрирует эту опасность: удалённый злоумышленник может использовать недостаток в процессе согласования NTLM, чтобы обойти проверку Kerberos и получить полные административные права без взаимодействия с пользователем.
В этой статье описан конкретный путь эксплуатации CVE‑2025‑54918, показаны его последствия для организаций любого размера и представлен проверенный на практике плейбук реагирования на инциденты с использованием Azure Sentinel и Splunk для обнаружения, сдерживания и устранения угрозы в облачных средах Azure и AWS.
Важно отметить, что это не единичный случай. 2025 год ознаменовался всплеском уязвимостей, связанных с SMB, каждая из которых подрывает доверительный периметр корпоративных сетей. Если вы ещё не ознакомились, рекомендую прочитать мой глубокий анализ CVE‑2025‑55234 — ещё одной критической уязвимости повышения привилегий в Windows SMB, которую я ранее рассмотрел в статье Patch-the-Path: CVE-2025-55234 Detection & Defense. Вместе эти уязвимости рисуют ясную картину: злоумышленники всё чаще атакуют основные протоколы аутентификации и обмена файлами, чтобы получить скрытый и постоянный доступ.
Серьёзность: 8.8 (Критическая)
Компонент: NTLM
Воздействие: Удалённые атакующие могут повысить низкопривилегированный сетевой доступ до привилегий SYSTEM без взаимодействия с пользователем.
Вектор атаки: Сетевой; идеально подходит для бокового перемещения в корпоративных средах.
NTLM (NT LAN Manager) — это реализация Microsoft протокола аутентификации Kerberos, используемого для входа в домен Windows. Клиент инициирует фазу согласования, отправляет запрос-ответ контроллеру домена, получает билет, а затем аутентифицируется на целевой системе. CVE‑2025‑54918 использует тонкое состояние гонки в способе согласования сессионного ключа NTLM на этапе вывода сессионного ключа. Когда два запроса аутентификации поступают одновременно от разных клиентов, сессионный ключ может быть перезаписан вредоносным запросом, повторяющим более ранний билет, что фактически даёт атакующему права SYSTEM, имея лишь низкопривилегированные учётные данные.
Ошибка вызывается специально сформированной строкой SPN (Service Principal Name) в пакете согласования. Неправильное значение некорректно обрабатывается ядерной процедурой NtLmAuth, которая использует устаревший сессионный ключ из предыдущего запроса вместо вычисления нового. В результате удалённая машина аутентифицируется как SYSTEM на целевой системе.
Цепочка полностью автономна после шага 2; атакующий может перейти от низкопривилегированной учётной записи к SYSTEM на любом целевом объекте в том же домене без вмешательства человека после начальной разведки.
Ниже приведён готовый к развёртыванию плейбук для сред Azure и AWS. Он включает логику обнаружения (запросы KQL для Sentinel; запросы SPL для Splunk), действия по сдерживанию и задачи устранения. Плейбук предполагает, что вы уже применили последнее исправление Microsoft KB 2025‑54918 на всех контроллерах домена.
Соединители данных:
Правило обнаружения 1 – "Обнаружен обход аутентификации NTLM"
Heartbeat
| where Computer == 'DC01' or Computer startswith '10.1.'
| union (Event
| where EventID in (4624, 4648)
| extend NTLM_Negotiate = tostring(parse_json(AdditionalFields).NTLM_Negotiate))
| summarize count() by Computer, TimeGenerated, NTLM_Negotiate
| where count_ > 1 and TimeGenerated between(datetime(2025-09-15T00:00Z), datetime(2025-09-16T23:59Z))
Правило обнаружения 2 – "Перезапись сессионного ключа"
Heartbeat
| union (SysinternalsAuditEvent
| where EventID == 4624)
| summarize count() by Computer, TimeGenerated, AuthenticationPackageName
| where AuthenticationPackageName contains 'NTLM'
| where count_ > 0 and TimeGenerated between(datetime(2025-09-15T00:00Z), datetime(2025-09-16T23:59Z))
Действия плейбука (Azure Sentinel):
CVE‑2025‑54918.Get-MgUser -Filter "DisplayName eq 'user01'").Invoke-NTLMBypass.ps1).Плейбук Sentinel полностью автоматизирован; все шаги могут быть выполнены в течение 15 минут после обнаружения, что позволяет быстро реагировать.
Соединители данных:
Запрос обнаружения 1 – "Обход аутентификации NTLM"
index=wineventlog sourcetype=WinEventLog
AND EventCode IN (4624,4648)
| stats count by Computer, _time, NTLM_Negotiate
| where count>1
Запрос обнаружения 2 – "Перезапись сессионного ключа SMB"
index=network_flow sourcetype=smb_packet
AND port=445
| eval ntlm_key = tostring(parse_json(_raw).NTLM_Key)
| stats count by src_ip, dest_ip, _time
| where count>5
Оповещение и плейбук (Splunk Enterprise Security):
Get-NetEvent.Плейбук Splunk будет настроен с соглашением об уровне обслуживания (SLA) в 15 минут от обнаружения до закрытия инцидента. Отчёт может быть автоматически сгенерирован и отправлен через Microsoft Teams директору по информационной безопасности (CISO) для ознакомления.
CVE‑2025‑54918 — суровое напоминание о том, что даже такие фундаментальные протоколы, как NTLM, могут содержать уязвимости с далеко идущими последствиями. Что делает этот недостаток особенно опасным, так это его простота: никакого фишинга, никакой социальной инженерии — только сформированный пакет и состояние гонки. Для защитников это смещает фокус с поведения пользователей на укрепление инфраструктуры и активное обнаружение.
Объединив Azure Sentinel и Splunk, этот плейбук предлагает практичный, облачно-независимый подход к выявлению и сдерживанию угрозы до её распространения. Независимо от того, защищаете ли вы гибридное предприятие или небольшой стартап, представленные здесь инструменты и логика предназначены для практического применения, масштабируемости и устойчивости.
И не будем забывать — это не первая уязвимость, связанная с SMB, в этом году. Если вы ещё не ознакомились, вернитесь к моему разбору CVE‑2025‑55234, который выявил ещё один критический путь повышения привилегий через Windows SMB. Вместе эти недостатки формируют закономерность: злоумышленники пытаются найти швы доверия в корпоративной аутентификации. Наша задача — залатать эти швы, прежде чем они станут брешами.
Этот проект предназначен исключительно для этических, образовательных и защитных целей кибербезопасности. Все описанные здесь техники, логика обнаружения и симуляции эксплуатации должны использоваться только в средах, где у вас есть явное разрешение. Несанкционированное тестирование, эксплуатация или мониторинг систем без согласия строго запрещены и могут нарушать законы и профессиональные стандарты. Всегда действуйте ответственно, уважайте конфиденциальность и используйте эти инструменты для защиты, а не для нанесения вреда.
| Шаг | Описание | Инструменты | Ключевые артефакты |
|---|
| 1 | Разведка и обнаружение – Определить контроллер домена и собрать список низкопривилегированных пользователей (например, "user01"), имеющих доступ на чтение/запись к общей папке SYSVOL. | BloodHound, PowerView | DC01: <IP>, DomainControllerName |
| 2 | Сбор учётных данных – Использовать повтор Kerberos (через Mimikatz) для извлечения билета пользователя user01 с контроллера домена. | Mimikatz, PowerView | Блоб билета |
| 3 | Сформированный NTLM-пакет – Создать пакет с намеренно неверным SPN, вызывающим CVE‑2025‑54918 во время фазы согласования. | Metasploit (модуль: auxiliary/windows/ntlm_bypass) | NTLM_Negotiate |
| 4 | Удалённое выполнение – Отправить сформированный пакет на целевую машину X через SMB на порту 445, что заставляет её аутентифицироваться как SYSTEM без взаимодействия с пользователем. | PowerView, Metasploit | TargetIP: 10.1.5.23 |
| 5 | Постоянство и боковое перемещение – Создать запланированное задание, выполняющее полезную нагрузку атакующего, и расширить охват на другие узлы домена. | PowerView, Sysinternals | ScheduledTask: “NTLM‑Bypass” |