Zerologon (CVE-2020-1472): Критическая уязвимость Active Directory

В августе 2020 года компания Microsoft выпустила обновление, исправляющее критическую уязвимость Windows Server в Active Directory. CVE-2020-1472 (более известный как Zerologon) . Это обновление было успешно установлено на все контроллеры домена 4 месяца назад. Однако не все администраторы Windows знают, что установка обновления на DC — это еще не конец истории. В этой статье мы расскажем об уязвимости Zerologon, о том, как защитить от нее контроллеры домена AD, почему очередное обновление Zerologon будет выпущено в феврале 2021 года и что должен делать администратор Windows Server в связи со всем этим.

ZeroLogon: Уязвимость Windows Netlogon CVE-2020-1472

Критическая уязвимость CVE-2020-1472 в Active Directory во всех версиях Windows Server (2008 R2, 2012, 2016, 2019) позволяет неаутентифицированному пользователю удаленно получить привилегии администратора домена. Из-за ошибки в реализации протокола шифрования AES-CFB8 в Netlogon Remote Protocol (MS-NRPC), злоумышленник, имеющий доступ к контроллеру домена по сети, может повысить привилегии и изменить пароль учетной записи контроллера домена в AD. После этого злоумышленник может аутентифицироваться на DC с привилегиями SYSTEM и получить полный контроль над Active Directory (сбросить пароли администраторов домена или выполнить любые другие действия в AD).

Протокол Netlogon используется для аутентификации пользователей и компьютеров в доменных сетях AD. Netlogon также используется для удаленного обновления паролей учетных записей компьютеров в домене Active Directory.

Для реализации уязвимости Zerologon злоумышленнику необходимо установить соединение по Netlogon (используются следующие порты: RPC-локатор TCP/135, динамический диапазон портов RPC и протокол SMB по TCP/445), используя определенную последовательность, начинающуюся с нулей. Уязвимость Netlogon позволяет выдать себя за легитимный компьютер домена, а после повышения привилегий можно изменить пароль учетной записи DC.

Максимальный рейтинг CVSS (10 из 10 баллов) была присвоена уязвимость.

Затронуты все версии Windows Server:

  • Windows Server 2019, Windows Server 2016;
  • Windows Server 2004, 1909, 1903 ;
  • Windows Server 2012 R2/2012;
  • Windows Server 2008 R2 SP 1.

На данный момент существует несколько работающих публичных эксплойтов Zerologon (также модуль zerologon был добавлен в mimikatz).

Эксплойт Mimikatz для ZeroLogon CVE-2020-1472Mimikatz эксплойт для ZeroLogon CVE-2020-1472

Не тестируйте эксплойты zerologon в своей сети, так как при сбросе пароля DC на пустой пароль вы можете повредить инфраструктуру AD.

Существует сценарий Python для проверки ваших DC на уязвимость zerologon: https://github.com/SecuraBV/CVE-2020-1472.

Обновления Windows Server против Zerologon

Поскольку Microsoft больше не поддерживает Windows Server 2008 R2, для этой версии ОС не существует общедоступного исправления. Однако если вы приобрели Расширенные обновления безопасности (ESU) Подписка на 1 год, вы можете загрузить и установить 4571729 обновление для WS2008R2.

Существует неофициальный патч Zerologon для Windows Server 2008 R2 — 0patch (https://blog.0patch.com/2020/09/micropatch-for-zerologon-perfect.html). Вы можете использовать его на свой страх и риск.

Другие версии Windows Server имеют обновления, доступные в Windows Update, WSUS, или вы можете вручную загрузить обновления из Microsoft Update Catalog и установить файл обновления MSU вручную.

Защита контроллеров домена Active Directory от ZeroLogon

Обновления, устраняющие уязвимость Zerologon, были выпущены в августе 2020 года. Чтобы защитить Active Directory, необходимо установить августовское кумулятивное обновление (или более позднее) для вашей версии Windows Server на все контроллеры домена.

На самом деле, патч является временным исправлением.

Microsoft собирается исправить Zerologon в два этапа, что позволит обеспечить плавный переход к безопасному Remote Procedure Call (RPC) в Netlogon:

  • Первый этап (развертывание). Августовский патч — это экстренное исправление для защиты контроллеров домена от известного сценария атаки. Однако это обновление не устраняет уязвимость полностью (возможны и другие сценарии атак на DC через Netlogon). Устаревшие системы, не поддерживающие новую защищенную версию протокола RPC для Netlogon, все еще могут подключаться к контроллеру домена.
  • Вторая (принудительная) фаза. Следующее обновление будет выпущено 9 февраля 2021 года. После установки этого обновления все контроллеры домена будут отклонять соединения, использующие старый протокол Netlogon (однако вы можете установить исключения для устаревших устройств с помощью GPO, как это сделать, мы покажем ниже).

После установки первого патча в журналах контроллера домена можно обнаружить события подключения устройств, использующих небезопасную версию Netlogon RPC. Также, если в вашей сети нет устаревших устройств, вы можете отключить поддержку старой версии Netlogon RPC на контроллерах домена, не дожидаясь 2021 года (используя FullSecureChannelProtection параметр реестра).

После установки обновления безопасности в журналах контроллера домена будут регистрироваться события подключения компьютеров, использующих уязвимую версию Netlogon. Вам следует обратить внимание на следующие идентификаторы событий NETLOGON в Event Viewer -> Windows Logs -> System:

  • EventID 5827 и 5828 — Служба Netlogon отказала в подключении к уязвимому защищенному каналу Netlogon с учетной записи компьютера. Это сообщение означает, что подключение данного компьютера, использующего уязвимую версию Netlogon, запрещено (это справочное сообщение до февраля 2021 года, никаких реальных действий для блокировки подключения не предпринимается). EventID 5827 Служба Netlogon отказала в подключении по уязвимому защищенному каналу Netlogon с учетной записи машиныEventID 5827 Служба Netlogon отказала в подключении к уязвимому защищенному каналу Netlogon из учетной записи машины
    Вы можете сохранить все события в CSV-файл и проанализировать имена устройств, пытающихся подключиться к DC. Используйте следующую команду PowerShell: Get-EventLog -LogName System -InstanceId 5827 -Source NETLOGON|Select-Object message| Export-Csv c:\ps\5827.csv -Encoding utf8
  • EventID 5829 — разрешено подключение с использованием уязвимой версии Netlogon;
  • EventID 583, 5831 — соединение с использованием уязвимой версии Netlogon разрешено, поскольку устройство добавлено в политику «Контроллер домена: Разрешить уязвимые соединения безопасного канала Netlogon».

До февраля 2021 года вы должны установить последние обновления безопасности на все обнаруженные устройства. В Windows достаточно установить последнее накопительное обновление. Запросите у поставщиков устройств/программного обеспечения (OEM) обновления для всех остальных устройств, использующих протокол Netlogon Remote Protocol для подключения к Active Directory.

В феврале будет выпущено специальное обновление безопасности, которое переведет контроллеры домена в режим, когда все подключаемые устройства должны использовать защищенную версию протокола Netlogon. При этом устройства, указанные в событии 5829 (которые не поддерживают безопасную версию Netlogon), не смогут подключиться к домену. Вам придется добавить эти устройства в исключения GPO вручную.

Это означает, что более не поддерживаемые версии Windows (Windows XP/ Windows Server 2003/Vista/2008) не смогут нормально работать в вашем домене AD.

Групповые политики для Zerologon

Если в вашей сети не осталось устройств, поддерживающих только небезопасную версию Netlogon, вы можете создать отдельный GPO, чтобы заставить DC использовать безопасную версию Netlogon до 9 февраля 2021 года (когда будет выпущено обновление второго этапа, которое запрещает соединения с использованием небезопасной версии Netlogon). Для этого разверните следующий ключ реестра с помощью GPO на всех DC:

  • Ключ реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
  • Тип параметра: DWORD
  • Имя параметра: FullSecureChannelProtection

Возможные значения:

  • 1 — включает режим принудительного исполнения. DC будет запрещать подключения через уязвимую версию Netlogon. Параметр не влияет на учетные записи, добавленные в политику «Контроллер домена: Разрешить подключения по уязвимому защищенному каналу Netlogon» (см. ниже);
  • 0 — позволяет DC принимать соединения с использованием уязвимой версии Netlogon из не-Windows устройств (эта опция будет отменена в выпуске фазы внедрения).

Ключ реестра FullSecureChannelProtection для включения режима внедрения DC Ключ реестра FullSecureChannelProtection для включения режима внедрения DC

Как разрешить не-Windows-устройствам подключаться к DC с помощью Netlogon?

Специальный параметр, позволяющий определенным устройствам/учетным записям использовать уязвимую версию Netlogon для подключения к DC, появился в GPO. Политика называется Контроллер домена: Разрешить уязвимые соединения безопасного канала Netlogon и вы можете найти его под Конфигурация компьютера -> Параметры Windows -> Параметры безопасности -> Локальные политики -> Параметры безопасности.

GPO: Контроллер домена: Разрешить уязвимые соединения безопасного канала Netlogon GPO: Контроллер домена: Разрешить уязвимые соединения безопасного канала Netlogon
Необходимо создать группу безопасности в AD и добавить в нее учетные записи/устройства, которым нужно разрешить устанавливать безопасный канал с контроллером домена с помощью устаревшего Netlogon RPC.

Включите политику для DC (на уровне политики контроллера домена по умолчанию), нажмите Определить безопасность и укажите группу, которой разрешено использовать небезопасный протокол Netlogon (Создание уязвимого соединения -> Разрешить). Разрешение на создание уязвимых подключений к netlogon с помощью GPOРазрешить создавать уязвимые соединения для netlogon с помощью GPO

Проверяя параметр Отказать Вы можете запретить использование небезопасного Netlogon RPC для определенных устройств.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *