# OS Windows & AD basic - 6 PT-Start Турлуев Адам ### Занятие 6.1 Воспользуемся базовыми средствами Kali Linux. С помощью SMB зайдём на сервер Win с Kali.После чего скопируем файлы на Kali ![](https://i.imgur.com/xNniDtQ.png) ![](https://i.imgur.com/8A1Zz1C.png) Для анализа дампа для начала нужно скачать impacket ![](https://i.imgur.com/LO3aVPS.png) После установки нужно пройти из директории impacket в директорию examples (она внутри папки импакета) и выполнить следующую команду:python3 secretsdump.py -ntds /home/kali/temp/Active\ Directory/ntds.dit -system /home/kali/temp/registry/SYSTEM LOCAL ![](https://i.imgur.com/5ZcaexI.png) Использование crackmapexec ![](https://i.imgur.com/519k3Or.png) Можно выполнять команды от имени пользователя на удаленной машине посредством командной строки:crackmapexec smb 192.168.10.201 -u Administrator -H hash -x whoami ![](https://i.imgur.com/lA7gaAb.png) Можно посмотреть и список сетевых папок, доступных конкретному пользователю:crackmapexec smb 192.168.10.201 -u Administrator -H hash --shares ![](https://i.imgur.com/wvzX9ie.png) А ещё в impacket есть интересная утилита smbexec, позволяющая запустить cmd windows для удаленной передачи команд, при этом практически не оставляя следов:python3 smbexec.py PT/administrator@192.168.10.200 -hashes aad3b435b51404eeaad3b435b51404ee:05df2fd1109e3d3b60f110965f6af128 ![](https://i.imgur.com/iKJR0CP.png) С хешем можно зайти даже по RDP. Для этого используется следующая команда.Но для начала включим удалённый доступ по RDP на dc1, доступ дадим администраторам домена ![](https://i.imgur.com/9PkeYzW.png) пробуем зайти ![](https://i.imgur.com/CDhKmEG.png) Действует политика restricted admin Изменим параметр реестра на dc1 ![](https://i.imgur.com/z86Y2fd.png) После чего xfreerdp спокойно пускает нас с помощью хеша ![](https://i.imgur.com/ylS5Qlm.png) ![](https://i.imgur.com/K4YyB3L.png) NBT-NS & LLMNR & mDNS Важной частью эксплуатации будет WPAD -- специальный протокол для настройки проксирования в системе Win. Система всегда запрашивает файл с настройками wpad.dat, а злоумышленник может подсунуть свой файл, став прокси-серверов для Win и таким образом осуществив атаку "человек посередине". NBT-NS (NetBIOS Name Service) -- протокол, позволяющий компьютерам в локальной сети обращаться друг к другу по именам, не используя сервер DNS. LLMNR (Link-Local Multicast Name Resolution) -- протокол для поиска и преобразования базовых имен внутри небольшой сети. Он же -- сетевое обнаружение. Использует мультикаст (то есть почти как широковещательный трафик, его в сети смогут увидеть все). mDNS (Multicast DNS) -- суть такая же, как и у LLMNR. DNS через Мультикаст. Все вместе технологии реализуют Zeroconf. Основная уязвимость в этих протоколах -- отсутствие подтверждения информации. Мы можем сгенерировать любой ответ на запрос ПК по этим протоколам. ![](https://i.imgur.com/GUUL6Ho.png) ![](https://i.imgur.com/UFZhJG7.png) ![](https://i.imgur.com/YadPfzb.png) Режим атаки ![](https://i.imgur.com/RwPH10K.png) Пользователь снова проходит по несуществующему пути ![](https://i.imgur.com/RIUB20V.png) Responder притворяется этим ресурсом, поэтому видим окно аутентификации Responder перехватывает аутентификационный токен ![](https://i.imgur.com/Avtc8M5.png) Данный токен можно подвергнуть брутфорсу. ### mitm6 Атака имитирует DHCPv6 сервер и отправляет на компьютеры в сети параметры IPv6, которые используются в приоритете над IPv4 при отправке компьютеров данных по сети ![](https://i.imgur.com/LUnapyA.png) Настройки сетевого адаптера pc1. Было: ![](https://i.imgur.com/Kgrui7d.png) Kali Linux. Атака ![](https://i.imgur.com/YMmuact.png) Настройки сетевого адаптера pc1. Стало: ![](https://i.imgur.com/L4VjmzH.png) Пока что мы только подменили параметры у win10, обеспечив mitm. Чтобы атака прошла незаметно для пользователя, нужно воспользоваться способом, который позволит нам прикинуться ресурсом, который требует аутентификацию. Воспользуемся SMB. Создание своего сервера SMB. Не отключая mitm6, создадим SMB сервер ![](https://i.imgur.com/TrYcRmO.png) А на Win10 через проводник попробуем зайти на наш домен ![](https://i.imgur.com/QEkW5sU.png) Увидим данные аутентификации в выводе программы ![](https://i.imgur.com/JZkNCEr.png) Эти аутентификационные данные уже можно вскрывать с помощью hashcat или John the ripper. Это не чистый хэш пароля, а аутентификация по протоколу NTLMv2 ### Занятие 6.2 Для начала нужно активировать политику аудита машинных учетных записей и применить к контроллерам домена ![](https://i.imgur.com/j1m2ZXO.png) применяем политику ![](https://i.imgur.com/wa60p3F.png) Проведем поиск по уязвимости zerologon и найдём множество репозиториев на github и скачаем один из них ![](https://i.imgur.com/XGrNeLp.png) ![](https://i.imgur.com/0CpJbaQ.png) Скрипт обнулил пароль машинной учетной записи контроллера домена. Воспользуемся этим, чтобы сдампить NTDS с помощью secretsdump. Скачиваем его. ![](https://i.imgur.com/0QI0KWw.png) Выполняем команду python3 secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'PT/DC1$@192.168.10.200' ![](https://i.imgur.com/RjY9Fjq.png) С помощью полученных хешей учетных данных можно выполнять команды от любого пользователя crackmapexec smb 192.168.10.200 -u ADMPetr -H 05df2fd1109e3d3b60f110965f6af128 -x whoami ![](https://i.imgur.com/asTFo6z.png) ### Поиск следов эксплуатации уязвимостей Проверим журнал System, увидим ошибку Netlogon ![](https://i.imgur.com/wBM1Oyj.png) Проверим Security, увидим событие 4742 ![](https://i.imgur.com/TfmFo7I.png) Внимательно проанализируем событие Во-первых, ANONYMOUS LOGON -- уже довольно подозрительный факt Ещё в логе можно увидеть заполненное поле password last set -- это значит, что пароль был изменён. При легитимном взаимодействии пароль на машинной учетной записи может менять только NETWORK SERVICE. И, если это происходит, генерируется ещё одно событие с id 5823 Найдём событие 5823 в журнале System с помощью фильтра ![](https://i.imgur.com/dh9yZvN.png) Событие есть, но оно произошло намного раньше ![](https://i.imgur.com/NnjQrUZ.png) Если поискать события 4742 за день, когда произошло 5823, то мы их найдём. Это легитимные события, связанные с введением в домен dc2 Можно искать события с помощью PowerShell: Get-WinEvent –FilterHashTable @{LogName=’Security’;ID=4742}Get-WinEvent –FilterHashTable @{LogName=’System’;ID=5805} Если происходит дамп NTDS, то можно увидеть данные выгрузки в журнале Direcrory Service. ![](https://i.imgur.com/sbAmRZg.png)