Как лазейка в обмене ключами приводит к доминированию над доменом.
Zerologon — это название одной из самых громких уязвимостей в системах Windows Server. Она была обнаружена исследователями безопасности и получила широкий резонанс благодаря тому, что давала потенциальным злоумышленникам возможность практически мгновенно получить контроль над доменом Windows. В результате правильной (или скорее неправильной) комбинации криптографических свойств и особенностей протокола Netlogon злоумышленник мог стать полноправным владельцем всей сети. Этой статье предстоит рассказать о сути уязвимости Zerologon, о том, насколько она критична, как именно осуществляется атака, каковы возможные последствия, и самое главное — что нужно предпринять, чтобы защититься.
Для начала разберёмся, что такое протокол Netlogon и почему уязвимость, связанная с ним, так опасна. Netlogon — это сервис (точнее, протокол), используемый для аутентификации и других служб в Windows-домене. Он играет ключевую роль в подтверждении подлинности пользователей, а также компьютеров и сервисов внутри корпоративной сети Microsoft, включая сам контроллер домена. А поскольку контроллер домена обладает высочайшими привилегиями, то и его компрометация немедленно превращается в критический инцидент.
Когда компьютер под управлением Windows (или пользователь под своими учетными данными) пытается получить доступ к ресурсам домена, именно Netlogon участвует в безопасном согласовании ключей и проверке валидности сессии. От корректного функционирования Netlogon в значительной мере зависит безопасность всего домена. Уязвимость Zerologon как раз и эксплуатирует слабость в этом протоколе, позволяя потенциальному взломщику перехватить контроль над ключевым компонентом — контроллером домена.
Загадочное название Zerologon отсылает к тому, что уязвимость связана с использованием «нулевых» значений в процессе криптографической аутентификации. Если объяснить на упрощённом уровне, проблема заключается в том, что при определённых условиях (а именно при некорректно обработанном сеансе) возможна установка ключа-сеанса как нуля (0) или цепочки нулей. Это позволяет атакующему выполнить аутентификацию к контроллеру домена, фактически представившись доверенным узлом, в обход реального безопасного процесса.
Официально уязвимость зарегистрирована как CVE-2020-1472. Её описание гласит, что при взаимодействии с Netlogon можно подменить некоторые параметры сеанса аутентификации, заставив систему принять неправомерные данные за легитимные. Поскольку контроль над доменом фактически начинается с контроллера, злоумышленник получает идеальные условия для эскалации привилегий и распространения по сети. Именно это и послужило поводом к тому, что многими экспертами Zerologon названа одной из самых серьёзных уязвимостей в экосистеме Microsoft Windows за последнее десятилетие.
Впервые об этой проблеме публично заговорили исследователи из компании Secura. Они детально изучили протокол и смогли найти уязвимое место, позволяющее при удачном стечении обстоятельств «разрешить» нулевому ключу выполнять важные операции в рамках домена. Их отчёт произвёл эффект разорвавшейся бомбы и стимулировал глобальные компании и организации спешно устанавливать патчи от Microsoft, выпущенные для устранения этой проблемы. Ведь проникновение на контроллер домена — сценарий, который чаще всего заканчивается катастрофой для безопасности.
Для тех, кто хочет углубиться в технические детали, Zerologon опирается на особенности реализации шифрования AES-CFB8, используемого Netlogon. Исследователи заметили, что при ряде попыток аутентификации, когда злоумышленник отправляет определённый вид зашифрованных данных с «нулевым» полем, протокол может искажённо трактовать эти пакеты, принимая их за валидные. Далее это выливается в возможность задать (или сбросить) пароль контроллера домена на произвольное значение.
Другими словами, злоумышленник, находясь в одной сети с контроллером домена, осуществляет несколько «пустых» взаимодействий с Netlogon. Если хотя бы в одном случае система принимает это взаимодействие, он получает возможность установить новый пароль учётной записи контроллера домена (DC). После этого взломщик может аутентифицироваться как контроллер домена и получить максимальные привилегии, что открывает путь к компрометации всех систем, входящих в домен.
Для иллюстрации можно представить себе человека, подходящего к сейфу, который должен вводить сложный код. Но из-за неких сбоев сейф иногда пропускает «нулевой» код (или просто набор нулей). Если «нулевой» код вдруг сработает, человек уже может установить новый ключ и фактически распоряжаться сейфом как хочет. В контексте Zerologon «сейфом» является весь домен Windows.
Технически, чтобы провернуть атаку Zerologon, злоумышленник делает несколько последовательных обращений к контроллеру домена. Это обусловлено тем, что удачное «проскальзывание» пакета под видом валидного — событие частично вероятностное. Однако, поскольку для успеха может быть достаточно совсем небольшого количества попыток, а каждая из них совершается очень быстро, этот шаг не вызывает больших затруднений. К тому же не требуется никаких особых знаний о сети, кроме IP-адреса (или имени) контроллера домена и активного доступа в сеть.
Как только атака успешна и злоумышленник сбрасывает пароль контроллера домена, ему становится доступно всё, что обычно доступно самому контроллеру. Следующий шаг — использование полученных привилегий для «взлома» политики безопасности, кражи учётных данных, установки вредоносного ПО и дальнейшего распространения в сети.
Любая уязвимость, позволяющая получить права администратора домена, сама по себе критична, потому что компрометация домена — это открытая дверь ко всем ресурсам организации: серверам, рабочим станциям, базам данных, учётным записям пользователей. Но Zerologon идёт ещё дальше — она предоставляет самый короткий путь ко всему домену, минуя многие стандартные барьеры.
В руках опытного злоумышленника такая возможность означает, что можно незаметно внедрить инструменты удалённого управления, организовать прослушку трафика, похитить конфиденциальные данные, модифицировать операции в базе, а также внести изменения в политики безопасности. В результате организация может пострадать от:
Заниматься потом «расследованием происшествия» и устранением последствий зачастую дороже и сложнее, чем своевременно установить обновление и применять базовые меры защиты. Но, как показывает практика, многие организации тянут с патчами, пока не случится что-то серьёзное.
Сразу после публикации информации о Zerologon в среде киберпреступников начался настоящий ажиотаж. Многие группировки попытались оперативно включить эксплойты Zerologon в свои наборы инструментов (toolkits). Исследователи отмечали случаи, когда злоумышленники буквально за дни компрометировали доменные сети крупных компаний. Нередко атака выглядела так:
Защита от таких атак после обнаружения факта проникновения становилась крайне сложной — злоумышленник уже обладал достаточными привилегиями, чтобы спрятаться в глубинах инфраструктуры и, возможно, даже создать запасные учётные записи с высоким уровнем доступа.
Microsoft отреагировала на проблему, выпустив серию обновлений, которые устраняют уязвимость Zerologon путём внесения изменений в логику Netlogon. Патчи вышли ещё в августе-сентябре 2020 года и получили статус critical. Основная идея этих обновлений — более жёсткая проверка пакетов, идущих на контроллер домена, чтобы исключить «нулевой» ключ и блокировать попытки подмены аутентификации.
Однако, как это часто бывает, установка обновления не всегда решает проблему моментально. Ведь организациям нужно проверить совместимость с собственными приложениями и сервисами, подготовить план тестирования и развертывания. Некоторые компании решили отложить внедрение патча, и этот период нередко становился «золотым часом» для злоумышленников.
Кроме того, Microsoft ввела дополнительный режим защиты — Enforcement Mode — который ужесточает аутентификацию в несколько этапов, автоматически блокируя всех клиентов, не удовлетворя новым требованиям безопасности. Это, конечно, снижает риск атаки через Netlogon, однако требует корректной настройки и мониторинга.
Администраторы и специалисты по информационной безопасности могут самостоятельно оценить, не осталась ли их инфраструктура уязвимой перед Zerologon. Для этого можно:
Все эти меры позволяют либо подтвердить надёжность текущей защиты, либо понять, что патч ещё не установлен или установлен некорректно.
Чтобы вовремя заметить подозрительные действия, связанные с Zerologon или подобными уязвимостями, необходимо:
В таком случае, даже если уязвимость осталась «живой», вы сможете заранее заметить первые шаги злоумышленника, что может спасти ситуацию и предотвратить крупные последствия.
Ключ к защите от Zerologon (как и от многих других проблем в сфере ИБ) — своевременная установка обновлений и правильная настройка всех механизмов безопасности, которые входят в состав Windows Server. Но помимо этого есть ещё несколько рекомендаций:
Отдельно стоит добавить, что стоит быть начеку и с другими уязвимостями, которые теоретически могут взаимодействовать с Zerologon или облегчать злоумышленникам задачу. В мире кибербезопасности всё развивается очень быстро, и уязвимости часто используются «пакетами» для усиления эффекта атаки.
Антивирусные решения (AV) и системы обнаружения и реагирования на конечных точках (EDR) тоже могут сыграть свою роль в защите от Zerologon. Хотя сама уязвимость не является «вредоносной программой», EDR-системы способны отслеживать специфические паттерны атак. Например, если после доступа к сети вдруг происходят множественные попытки «странной» аутентификации к контроллеру домена, EDR может сгенерировать тревожное оповещение.
Важно, чтобы решения безопасности были настроены и регулярно обновлялись. Кроме того, политика реакции на инциденты должна включать чёткие инструкции, что делать, если система сигнализирует о подозрительной активности с Netlogon. Без корректного процесса реагирования даже самый «умный» EDR не поможет.
Если в организации практикуется регулярный пентест или участие в программах bug bounty, то Zerologon должна быть среди проверяемых векторов. Существует несколько публичных эксплойтов и инструментов, позволяющих проверить, уязвим ли контроллер. Пентестеры могут запланировать соответствующий сценарий, чтобы убедиться, что контроллер патчен и атака не проходит.
Тем, кто пока не внедрил практику пентестов, стоит обратить внимание на следующие преимущества такой модели:
Баг-баунти-программы дают возможность привлечь к тестированию свою инфраструктуру широкое сообщество исследователей безопасности, но это предполагает продуманную политику взаимодействия и документирование правил.
Оглядываясь на эту уязвимость, можно сделать несколько важных выводов об общей ситуации в кибербезопасности:
В итоге Zerologon стала ярким примером того, насколько важно уделять внимание «старым» протоколам и сервисам, которые могут казаться безопасными и отлаженными годами. Уязвимость затронула всю среду Windows Server, что повлияло на тысячи или даже миллионы организаций по всему миру. Но грамотные управленцы и специалисты по ИБ сумели вовремя применить патчи, минимизировав риски.
Zerologon — это не просто очередная уязвимость, которой можно было пренебречь. Она оказалась связана с базовой частью инфраструктуры Windows, позволяя злоумышленникам практически «влетать» в домен и перехватывать управление всеми ресурсами. Критичность проблемы подчёркивает важность постоянного мониторинга, обновления систем и ответственного отношения к безопасности сети.
Любая организация, которая не установила патчи для CVE-2020-1472, по сути держит «широко открытой дверь» для потенциальных атакующих. Но даже если патч установлен, это не освобождает от необходимости комплексной защиты: нужна сегментация сети, шифрование трафика, отлаженные процессы управления учётными записями, регулярный аудит. Только такой подход позволит свести к минимуму вероятность того, что к вам «постучится» новое воплощение Zerologon или подобной дыры и принесёт серьезные проблемы.
В мире, где кибератаки случаются всё чаще и становятся всё изощрённее, уроки Zerologon будут актуальны ещё долго. Это напоминание, что кибербезопасность — не статичная цель, а постоянный процесс, требующий вложений, внимания и дисциплинированного подхода.
Лечим цифровую неграмотность без побочных эффектов