# 1. OS Windows & AD basic. Практическая работа # 1.0 Разворачивание сетевой схемы стенда Стенд включает следующие ВМ: - Windows server 2016 en; - Windows server 2016 ru; - Windows 10 Pro (ru); - mikrotik; - kali linux. ![](https://i.imgur.com/jEzoj98.png) ![](https://i.imgur.com/30Ju6hN.png) у Mikrotik интерфейс ether1 является внешним, получает ip-адрес по DHCP (подсеть 10.0.2.0/24). Интерфейс ether2 является внутренним (подсеть 192.168.10.0/24). ![](https://i.imgur.com/tIOy6iU.png) # 1.1 Настройка Windows На рисунке показана настройка статического ip-адреса для сервера Windows 2016 eng. Имя сервера задано dc1: ![](https://i.imgur.com/38hd9sm.png) На рисунке показана настройка статического ip-адреса для сервера Windows 2016 rus. Имя сервера задано dc2: ![](https://i.imgur.com/po1FzLA.png) На ВМ Win10 в качестве DNS-серверов указаны соответственно 1й и 2й серверы Windows. На ВМ Win10 задано имя ОС - pc1. ![](https://i.imgur.com/vAklLNC.png) # 1.2 Active Directory Установка Active Directory выполняется из меню Server Manager (рисунок), требуется выбрать добавление ролей и компонент, выбрать Active directory domain service, dns, dhcp и требуемые дополнительные компоненты. ![](https://i.imgur.com/w5WTvR3.png) На рисунке видно, что указанные выше роли установлены и настроены: ![](https://i.imgur.com/ZIpV1PQ.png) Задание конфигурации ip для основного контроллера домена: ![](https://i.imgur.com/m7nL9cP.png) Задание конфигурации ip для резервного контроллера домена: ![](https://i.imgur.com/x7fHDCS.png) На рисунке показан успешный ввод ВМ Win10 в домен pt.local. ![](https://i.imgur.com/wmeGpsb.png) На рисунке показан результат применения PoSH скрипта. Созданы новые OU, группы и пользователи. ![](https://i.imgur.com/F0sUwpX.png) # 1.3 ААА в Windows Перед выполнением атаки на систему ААА требуется выполнить несколько успешных входов легитимного пользователя - например, в сетевые доменные ресурсы, запуск командной строки с повышением привилегий. Данные действия выполняются на ВМ Win10. Для проведения атаки первично требуется запустить Диспетчер задач от имени администратора (пользователя с правами администратора), выбрать процесс lsass.exe и создать его дамп (команда в меню при нажатии правой кнопки мыши). ![](https://i.imgur.com/uKbg7oN.png) Далее используется ВМ Kali linux, в которую требуется передать собранный дамп процесса lsass.exe (по сети используется утилита scp). на Kali linux требуется скачать утилиту pypykatz и выполнить команду (pypykatz lsa minidump /home/kali/lsass.DMP). Результат выполнения команды показан на рисунке, отобразятся данные по УЗ, которые смогла достать утилита pypykatz: ![](https://i.imgur.com/NKokQh3.png) В дампе могут содержаться только данные тех УЗ, которые были активны на момент создания дампа процесса lsass.exe. # 1.4 Инфраструктурные сервисы в домене Настройка DNS сервера выполняется в оснастке DNS управления компьютером. В настройках DNS сервера в окне Свойств (Properties) есть вкладка "Forwarders". Для настройки требуется нажать меню "edit". В качестве адреса для перенаправления DNS-запросов выбран IP-адрес mikrotik (если локальный DNS сервер не может выполнить разрешение имени). ![](https://i.imgur.com/Rx6pIk8.png) Для настройки зоны обратного просмотра требуется выбрать "reverse lookup zones" в меню настройки DNS сервера. В качестве идентификатора зоны используется ip без последнего октета. Результат настройки показан на рисунке: ![](https://i.imgur.com/zx1PL6L.png) Настройка DHCP сервера выполняется в оснастке DHCP управления компьютером. Требуется создать новую область new scope, в которой задается диапазон выдаваемых адресов (192.168.10.50-192.168.10.99). Дополнительно указываются опции для получания клиентами DHCP - шлюз (Router), DNS сервер, доменный суффикс: ![](https://i.imgur.com/nPRrpOc.png) dhcp клиенты (Win10, Kali linux) настроены на получение IP-адресов по dhcp. Для настройки отказоустойчивого DHCP сервера требуется в окне DHCP выбрать созданный scope, нажать правой кнопкой мыши и выбрать меню "configure failover". В качестве Partner server указывается имя резервного контроллера домена. В качестве режима работы выбирается "Hot Standby": ![](https://i.imgur.com/zxQYJ0Y.png) Настройка групповых политик домена выполняется в оснастке Group policy management управления компьютером. в Групповой политике контроллеров домена требуется настроить политику аудита в ветке меню "Object Access" - категории "Audit file share", "Audit file system". ![](https://i.imgur.com/HAPUK45.png) Для применения параметров защиты от mimikatz создается новая политика (mimikatz_block_debug). В ветке User rights assignment требуется настроить параметр "Debug programs". Права отладки назначаются только администратору и ADMPetr: ![](https://i.imgur.com/hCIWRS9.png) Политика применяется ко всем узлам домена (добавление ссылки link политики в корень ветки pt.local). ![](https://i.imgur.com/0QRFbmg.png) Для настройки логирования событий для SIEM создается дополнительная групповая политика - audit_services_cmd_posh. В ветке "Административные шаблоны"/"Система"/"Аудит создания процессов" в параметре "Включить командную строку в события создания процессов" устанавливается значение enable. В ветке "Административные шаблоны"/"Компоненты Windows"/"Windows PowerShell" настраивается параметр "turn on module logging". ![](https://i.imgur.com/eEbOmvK.png) Так же, политика применяется на домен (добавление ссылки link политики в корень ветки pt.local). # 1.5 Обмен данными в домене и средства мониторинга Windows Для выполнения обмена данными (файловые хранилища с общим доступом) используйтся роль DFS. Она устанавливается из меню Сервера Manage / Add role and features. Устанавливаются две роли: ![](https://i.imgur.com/7VYuCgp.png) После установки указанных ролей в управлении сервером будут доступно меню DFS Management. в ветке Namespaces создается новое пространство namespace с именем "pt-dfs". При установке задаются права для группы Everyone - чтение и запись (изменение): ![](https://i.imgur.com/xdJ6a0w.png) В качестве сетевой папки используется корневая папка share. К ней для группы Everyone настраивается доступ на чтение и изменение. ![](https://i.imgur.com/Y3lQe0R.png) В папке share создается несколько папок, для каждой из которых настраивается сетевой доступ и возможность доступа пользователей соответствующих групп. Для примера, в папке Progr для группы Progr-sec предоставляется доступ на чтение и изменение. А так же, потребуется зайти в расширенные настройки редактирования прав и добавить право modify. Администраторам предоставляется полный доступ. Остальным группам доступ не предоставляется (удалены из меню предоставления прав). ![](https://i.imgur.com/IyTfMe3.png) в меню DFS каждая из созданных папок добавляется как сетевой ресурс. Настраивается логирование удаления файлов с созданных сетевых ресурсов на dc1. В свойствах папки share, в расширенных настройках безопасности, вкладке Audit добавляется новое правило аудита (для группы доменных пользователей, выбираются различные действия, включая удаление). Для проверки логирования в папке all_share создается папка delete1. Далее, папка delete1 удаляется: ![](https://i.imgur.com/zpBhCpY.png) В журналах security по фильтру ищутся несколько типов событий. 4656 - запрос прав доступа к объекту. Из события видно, что пользователь Anton обращается к объекту (папке) all_share. ![](https://i.imgur.com/PlYpOSk.png) 4663 - показывает выполнение действия. Пользователь Anton выполняет действие DELETE над объектом (папкой) delete1. ![](https://i.imgur.com/tBb2HGf.png) 4660 - событие удаления объекта. Содержит handl ID = 0xee4 (связывает логи одного события) ![](https://i.imgur.com/AlcMAJS.png) Для передачи логов в SIEM настраивается коллектор логов Windows для сбра событий с разных узлов Windows в одном месте. Сервис сборщика логов включается командой wecutil qc. Отправка журналов на коллектор логов задается через групповую политику (включение службы Win-RM, в windows components / event forwarding включается Configure target subscription manager). Данная политика применяется только к pc1 (задается во вкладке scope). Так же, на pc1 в брандмауэре создается правило для входящих соединений для подключения по Win-RM. И настраиваются права доступа к журналу security (через ранее созданную групповую политику log_delivery). На коллекторе требуется настроить прием событий. В окне Event Viewer выбирается Subscriptions и подтверждается запуск службы для сбора событий. Для настройки узлов, с которых будет осуществляться получение событий, создается новая подписка. Через меню Select computers выбирается pc1 для получения событий. Через меню Select events выбираются требуемые журналы (4 журнала windows). Собранные логи отобразятся в журнале Forwarded events. ![](https://i.imgur.com/tukYPXQ.png) # 1.6 Базовые атаки и компрометация доменной Windows-инфраструктуры В качестве атаки на доменную инфраструктуру выполняется анализ БД NTDS. Предварительно выполняется бэкап БД NTDS: ![](https://i.imgur.com/B5u9Fp3.png) С помощью SMB протокола с ВМ Kali осуществляется подключение на ВМ dc1 (с сохраненной БД NTDS) и копирование созданного бэкапа на ВМ Kali с помощью команд: ![](https://i.imgur.com/ZKh386B.png) Для анализа полученных файлов БД NTDS требуется скачать утилиту impacket и запустить скрипт secretdump.py: ![](https://i.imgur.com/FUyTGqS.png) Для атаки mitm6 запускается команда, которая имитирует IPv6 DHCP сервер. На рисунке показана поканда запуска атаки. В результате, клиент получит новые параметры IPv6 и трафик будет проходить через Kali. ![](https://i.imgur.com/Lp1uZkK.png) В продолжение атаки можно создать фейковый smb сервер на Kali (скриптом smbserver.py). При авторизации на нем пользователей можно будет получить данные NTLMv2 аутентификации. Перед эксплуатацией уязвимости контроллера домена применяется политика аудита машинных учетных записей (в групповой политике). Для эксплуатации уязвимости используется утилита zerologon (https://github.com/risksense/zerologon): ![](https://i.imgur.com/U5ZhXId.png) Запуск скрипта set_empty_pw.py и указание IP-адреса контроллера домена обнуляет пароль машинной УЗ: ![](https://i.imgur.com/za812UU.png) Для проверки успешности сброса пароля машинной УЗ ВМ DC1 проверяется лог журнала System. В логе встречаются ошибки, событие 5805, ошибка аутентификации dc1. ![](https://i.imgur.com/EnxVe57.png) В журнале Security есть событие 4742, которое указывает на то, что аккаунт машинной УЗ был изменен. ![](https://i.imgur.com/bt0d6eQ.png) Так же в событии есть поле Password last set, указывающее на изменение пароля УЗ и дату изменения. Таким образом, атака была успешно проведена.