Pwned-DC с ресурса CyberDefenders.
По сценарию лабораторной работы произошел взлом Active Directory, злоумышленники смогли захватить корпоративный контроллер домена. Наша задача — провести расследование инцидента и узнать, как хакерам удалось проникнуть в сеть. Для исследования у нас имеется побитовая копия системного диска скомпрометированной машины, оперативной памяти, а также информация об объектах домена.
Читайте также - Готовое к применению гиперкалорическое гипернитрогенное энтеральное зондовое питание. В двух вариантах: с или без пищевых волокон, фрезубин вп 2 ккал по доступным ценам.
Загрузим файл образов и начнем их исследовать.
По результатам разбора этой лабораторной необходимо ответить на ряд вопросов, но я покажу только само решение и не буду озвучивать ответы. Тебе придется повторить весь процесс самостоятельно — так ты лучше поймешь и закрепишь материал. Инструменты
- Утилиты Eric Zimmerman: Registry Explorer, MFTECmd.
- Утилиты Nirsoft: fulleventlogview, winprefetchview, browsinghistoryview, TurnOnTimesView.
R-Studio — утилита для восстановления данных с диска. Volatility Framework 2.6.1 — инструмент, реализованный на Python версии 2 и предназначенный для извлечения артефактов из образцов энергозависимой памяти. PST-Extractor — инструмент для восстановления PST-контейнеров в EML. Scdbg — программа для анализа shell-кода. Srum-dump — утилита для извлечения информации из базы данных управления использованием системных ресурсов. FTK Imager — инструмент для анализа и получения образов диска. WinDBGx64 — утилиты для анализа аварийных дампов. Olevba — инструмент для извлечения и анализа исходного кода макросов VBA из документов MS Office (OLE и OpenXML).
Плагины Volatility2 для извлечения данных
Imageinfo — плагин для определения операционной системы, пакета обновлений и аппаратной архитектуры исследуемого образа.
Pstree позволяет просматривать список процессов в виде дерева.
Memdump извлекает все резидентные страницы памяти в процессе.
Filescan — плагин для поиска объектов FILE_OBJECT в памяти с помощью сканирования тегов пула. Этот плагин найдет все открытые файлы.
Dumpfiles извлекает кешированные файлы из образа памяти.
Netscan ищет сетевые артефакты в 32- и 64-разрядных дампах памяти. Этот плагин находит конечные точки TCP, UDP, а также локальные и удаленные IP-адреса.
Printkey ищет значения в указанном разделе реестра Windows.
Userassist позволяет получить информацию из ключа реестра UserAssist .
Mftparser — этот плагин сканирует записи главной таблицы файлов (MFT) в памяти и выводит информацию о временных метках файлов.
Autoruns — подключаемый плагин для поиска точек сохранения исполняемых файлов в системе. Для его подключения необходимо добавить плагин в каталог plugins инструмента Volatility.
Volshell — плагин для интерактивного изучения образа памяти, использует IPython.
Procdump — плагин для получения дампа исполняемого файла.
Hivelist — плагин для поиска виртуальных адресов кустов реестра.
Объекты домена
В архиве задания содержится файл 20211122102526.zip , который хранит информацию об объектах домена. Загрузим его в BloodHound версии 4.0.1.
Перейдем на вкладку Analysyis → Find Shotest Paths to Domain Admins и проанализируем короткий путь до компрометации контроллера домена. Короткий путь до администратора доменаЗадача злоумышленника в сети организации — получить доступ к учетной записи пользователя 0xMohammed , который входит в группу Domain Admins . Образ диска AD.E01
Примонтируем файл побитовой копии диска AD.E01 и извлечем из него необходимые артефакты. Для этого откроем утилиту FTK Imager, перейдем на вкладку File → Image Mounting. В поле Image File выберем образ AD.E01, а затем введем указанные ниже настройки. Монтирование образа дискаНажимаем Mount — исследуемый образ должен примонтироваться к файловой системе.
Получим информацию из кустов реестра SYSTEM и SOFTWARE (C:WindowsSystem32config ), загрузим их в утилиту Registry Explorer. Затем переходим в раздел File -> Load hive и выбираем исследуемый файл.
Чтобы получить информацию об операционной системе, перейдем в ключ реестра SOFTWAREMicrosoftWindows NTCurrentVersion . Информация об операционной системеВерсия операционной системы — Windows 10 Enterprise 2016 LTSB. Теперь просмотрим ключ реестра SYSTEMControlSet01ControlComputerNameComputerName и получим информацию об имени компьютера. Имя компьютераИмя компьютера: PC01 .
Теперь откроем ключ реестра SYSTEMControlSet001ServicesTcpipParametersInterfaces{ea202436-8a31-4cb6-9b59-5be0c2bc1692} и получим информацию о сетевых настройках. Информация о сетевых настройкахIP-адрес исследуемого хоста — 192.168.112.142 .
Получим информацию о примонтированных дисках. Для этого перейдем в ветку реестра SYSTEMMountedDevices : нас интересует GUID диска C. GUID диска СКак видно из рисунка выше, GUID диска C — fad905b3-fb35-4dbd-ab31-a44f022809d2 , такую же информацию можно получить из логов системы, просмотрев событие eventid 142 журнала Microsoft-Windows-Ntfs/Operational .
Теперь найдем порты служб на PC01, для этого перейдем к файлу Windows/System32/drivers/etc/services . Содержимое файла servicesЗдесь мы можем увидеть, что служба Remote Man Server работает на порте 9535 . Проанализируем файл System.evtx и найдем отметку времени, когда произошло незапланированное отключение, а также узнаем, сколько времени проработал компьютер. Для этого можно воспользоваться утилитой TurnOnTimesView, либо придется анализировать лог вручную. Результат работы утилиты TurnOnTimesView21.11.2021 питание машины незапланированно отключилось, до этого компьютер проработал 11 часов и 31 минуту (об этом говорит значение 11:31 ).
Начнем анализировать логи. Для этого откроем утилиту fulleventlogview, нажмем Choose Data Store → Load events from external folder with log files и укажем путь к папке с логами WindowsSystem32winevtLogs .
Отфильтруем логи по событию 4624 и посмотрим, кто авторизовывался в системе последний раз перед инцидентом. Для этого переходим на вкладку Options → Advanced Options, выбираем Show only the specified events IDs и вводим наше событие.
23.11.2021 в 23:36:05 UTC пользователь 0xMohammed авторизовался в системе — это был последний зарегистрированный логин перед взломом. Последний авторизованный пользователь в системеПроанализируем историю браузера Firefox пользователя labib . Для этого воспользуемся утилитой BrowsingHistoryView: перейдем на вкладку Options → Advanced Options и укажем путь до пользовательского каталога. Получение истории из браузера FirefoxИстория FirefoxПользователь labib 22.11.2021 в 19:45:52 UTC посетил сайт bluedemy.cyberdefenders.org .
Проанализируем базу данных управления использованием системных ресурсов (srum), которая присутствует в современных системах Windows и собирает статистику выполнения двоичных файлов. Эта база хранится в файле C:WindowsSystem32sruRUDB.dat . С использованием утилиты srum-dump проанализируем srum и найдем, сколько байтов было принято браузером Firefox. Работа Srum-dump утилитыНе забываем также указать файл SRUM_TEMPLATE.xlsx , который загружаем из репозитория утилиты.
Открываем выходной файл SRUM_DUMP_OUTPUT.xlsx , переходим на лист Network Data Usage, находим firefox.exe и анализируем таблицу. Количество полученных данных — 20418287 .
Теперь посмотрим, какие последние файлы запускал пользователь labib . Переходим по пути С/Users/labib/AppData/Roaming/Microsoft/Windows/Recent/ и в этом каталоге находим файл 20211119103954_BloodHound.lnk , созданный 19.11.2021.
В ссылке на файл указан путь к архиву C:UserslabibDesktop20211119103954_BloodHound.zip. , содержащий информацию об объектах домена. Эта информация собиралась для анализа в BloodHound.
Проанализируем MFT с помощью утилиты MFTECmd. Из корня файловой системы извлечем файл $MFT , это можно сделать с помощью R-Studio или FTKImager.
В каталоге Users/labib/Desktop создан файл Business.xlsx с меткой времени 22.11.2021 22:40:06, этот файл содержит информацию о пользователях домена и их деятельности в компании. Найдем указанный файл в таблице MFT:
В файле вывода утилиты MFTECmd обнаруживаем Business.xlsx и его поле LogfileSequenceNumber , которое имеет значение 1422361276 .
Попробуем получить пароль пользователя 0xMohammed , который входит в группу администраторов домена. Выгрузим ветки реестра SAM , SYSTEM , SECURITY и вытащим из них хеши пользователей. Для этого воспользуемся скриптом secretdum.py из пакета Impacket. Выгруженные аутентификационные данные из веток реестраНа хосте PC01 авторизовывался доменный пользователь 0xMohammed , его данные сохранены в кеше. С помощью утилиты hashcat сбрутим mccache2 хеша пользователя 0xMohammed :
В результате этой операции выясняется, что его пароль — 0xmohammed! .
Теперь попытаемся узнать, как злоумышленник скомпрометировал хост PC01. Анализируя файлы, в каталоге C:UserslabibDocumentsOutlook FilesOutlook.pst пользователя labib мы обнаруживаем почтовый контейнер Outlook. Преобразуем контейнер в eml-сообщения, для этого откроем утилиту PST-Xtracrot, загрузим в нее контейнер и нажмем Convert. После этого можно проанализировать все сообщения антивирусными средствами, чтобы поискать вредоносные вложения. Содержимое письмаЗаголовок вредоносного письмаСреди сообщений пользователя мы обнаруживаем вредоносное вложение. Сообщение отправлено 12/08/2021 04:47:49 AM UTC с почтового сервера 159.65.58.195 . В качестве вложения используется файл Unpaid Invoice.xls . Выясним, когда пользователь открыл этот файл.
Перейти обратно к новости
|