Сегодня мы расскажем, как извлекать данные из таблицы MFT, получать информацию из файлов Prefetch и монитора использования системных ресурсов (srum), а еще — анализировать файлы логов операционной системы.
При исследовании образа оперативной памяти мы познакомимся с внутренним устройством памяти Windows и найдем артефакты, свидетельствующие о компрометации системы.
Расследование киберинцидентов — это очень увлекательное занятие, требующее определенных знаний и навыков. Отточить их помогают специальные лабораторные работы, имитирующие реальные случаи успешных атак злоумышленников и взлома, с которыми встречаются на практике специалисты по информационной безопасности. Сегодня мы разберем лабораторную работу
По сценарию лабораторной работы произошел взлом Active Directory, злоумышленники смогли захватить корпоративный контроллер домена. Наша задача — провести расследование инцидента и узнать, как хакерам удалось проникнуть в сеть. Для исследования у нас имеется побитовая копия системного диска скомпрометированной машины, оперативной памяти, а также информация об объектах домена.
По результатам разбора этой лабораторной необходимо ответить на ряд вопросов, но я покажу только само решение и не буду озвучивать ответы. Тебе придется повторить весь процесс самостоятельно — так ты лучше поймешь и закрепишь материал.
Перейдем на вкладку Analysyis → Find Shotest Paths to Domain Admins и проанализируем короткий путь до компрометации контроллера домена.
Короткий путь до администратора домена
Задача злоумышленника в сети организации — получить доступ к учетной записи пользователя 0xMohammed, который входит в группу Domain Admins.
Монтирование образа диска
Нажимаем Mount — исследуемый образ должен примонтироваться к файловой системе.
Получим информацию из кустов реестра SYSTEM и SOFTWARE (C:\Windows\System32\config), загрузим их в утилиту Registry Explorer. Затем переходим в раздел File → Load hive и выбираем исследуемый файл.
Чтобы получить информацию об операционной системе, перейдем в ключ реестра SOFTWARE\Microsoft\Windows NT\CurrentVersion.
Информация об операционной системе
Версия операционной системы — Windows 10 Enterprise 2016 LTSB. Теперь просмотрим ключ реестра SYSTEM\ControlSet01\Control\ComputerName\ComputerName и получим информацию об имени компьютера.
Имя компьютера: PC01.
Теперь откроем ключ реестра SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{ea202436-8a31-4cb6-9b59-5be0c2bc1692} и получим информацию о сетевых настройках.
Информация о сетевых настройках
IP-адрес исследуемого хоста — 192.168.112.142.
Получим информацию о примонтированных дисках. Для этого перейдем в ветку реестра SYSTEM\MountedDevices: нас интересует 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, либо придется анализировать лог вручную.
Результат работы утилиты TurnOnTimesView
21.11.2021 питание машины незапланированно отключилось, до этого компьютер проработал 11 часов и 31 минуту (об этом говорит значение 11:31).
Начнем анализировать логи. Для этого откроем утилиту fulleventlogview, нажмем Choose Data Store → Load events from external folder with log files и укажем путь к папке с логами Windows\System32\winevt\Logs.
Отфильтруем логи по событию 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:\Windows\System32\sru\\RUDB.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:\Users\labib\Desktop\20211119103954_BloodHound.zip, содержащий информацию об объектах домена. Эта информация собиралась для анализа в BloodHound.
Проанализируем MFT с помощью утилиты MFTECmd. Из корня файловой системы извлечем файл $MFT, это можно сделать с помощью R-Studio или FTKImager.
В каталоге Users/labib/Desktop создан файл Business.xlsx с меткой времени 22.11.2021 22:40:06, этот файл содержит информацию о пользователях домена и их деятельности в компании. Найдем указанный файл в таблице MFT:
MFTECmd.exe -f "C:\Users\DonNod\Downloads\AD-101\AD-E01\MFT" --csv "AD-101\AD-E01"
В файле вывода утилиты MFTECmd обнаруживаем Business.xlsx и его поле LogfileSequenceNumber, которое имеет значение 1422361276.
Попробуем получить пароль пользователя 0xMohammed, который входит в группу администраторов домена. Выгрузим ветки реестра SAM, SYSTEM, SECURITY и вытащим из них хеши пользователей. Для этого воспользуемся скриптом secretdum.py из пакета Impacket.
Выгруженные аутентификационные данные из веток реестра
На хосте PC01 авторизовывался доменный пользователь 0xMohammed, его данные сохранены в кеше. С помощью утилиты hashcat сбрутим mccache2 хеша пользователя 0xMohammed:
$DCC2$10240#0xMohammed#e7b8d19008520207ca8ef94680db0f28
В результате этой операции выясняется, что его пароль — 0xmohammed!.
Теперь попытаемся узнать, как злоумышленник скомпрометировал хост PC01. Анализируя файлы, в каталоге C:\Users\labib\Documents\Outlook Files\Outlook.pst пользователя labib мы обнаруживаем почтовый контейнер Outlook. Преобразуем контейнер в eml-сообщения, для этого откроем утилиту PST-Xtracrot, загрузим в нее контейнер и нажмем Convert. После этого можно проанализировать все сообщения антивирусными средствами, чтобы поискать вредоносные вложения.
Содержимое письма
Заголовок вредоносного письма
Продолжение далее...
При исследовании образа оперативной памяти мы познакомимся с внутренним устройством памяти Windows и найдем артефакты, свидетельствующие о компрометации системы.
Расследование киберинцидентов — это очень увлекательное занятие, требующее определенных знаний и навыков. Отточить их помогают специальные лабораторные работы, имитирующие реальные случаи успешных атак злоумышленников и взлома, с которыми встречаются на практике специалисты по информационной безопасности. Сегодня мы разберем лабораторную работу
Для просмотра ссылки необходимо нажать
Вход или Регистрация
с ресурса
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.По сценарию лабораторной работы произошел взлом Active Directory, злоумышленники смогли захватить корпоративный контроллер домена. Наша задача — провести расследование инцидента и узнать, как хакерам удалось проникнуть в сеть. Для исследования у нас имеется побитовая копия системного диска скомпрометированной машины, оперативной памяти, а также информация об объектах домена.
Загрузим файлДля просмотра ссылки необходимо нажать Вход или Регистрацияи начнем их исследовать.
По результатам разбора этой лабораторной необходимо ответить на ряд вопросов, но я покажу только само решение и не буду озвучивать ответы. Тебе придется повторить весь процесс самостоятельно — так ты лучше поймешь и закрепишь материал.
ИНСТРУМЕНТЫ
- Утилиты
Для просмотра ссылки необходимо нажать Вход или Регистрация: Registry Explorer, MFTECmd.
- Утилиты
Для просмотра ссылки необходимо нажать Вход или Регистрация: fulleventlogview, winprefetchview, browsinghistoryview, TurnOnTimesView.
-
Для просмотра ссылки необходимо нажать Вход или Регистрация— утилита для восстановления данных с диска.
-
Для просмотра ссылки необходимо нажать Вход или Регистрация— инструмент, реализованный на Python версии 2 и предназначенный для извлечения артефактов из образов энергозависимой памяти.
-
Для просмотра ссылки необходимо нажать Вход или Регистрация— инструмент для восстановления PST-контейнеров в EML.
-
Для просмотра ссылки необходимо нажать Вход или Регистрация— программа для анализа shell-кода.
-
Для просмотра ссылки необходимо нажать Вход или Регистрация— утилита для извлечения информации из базы данных управления использованием системных ресурсов.
-
Для просмотра ссылки необходимо нажать Вход или Регистрация— инструмент для анализа и получения образов диска.
-
Для просмотра ссылки необходимо нажать Вход или Регистрация— утилиты для анализа аварийных дампов.
-
Для просмотра ссылки необходимо нажать Вход или Регистрация— инструмент для извлечения и анализа исходного кода макросов 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) в памяти и выводит информацию о временных метках файлов.
-
Для просмотра ссылки необходимо нажать Вход или Регистрация— подключаемый плагин для поиска точек сохранения исполняемых файлов в системе. Для его подключения необходимо добавить плагин в каталог 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:\Windows\System32\config), загрузим их в утилиту Registry Explorer. Затем переходим в раздел File → Load hive и выбираем исследуемый файл.
Чтобы получить информацию об операционной системе, перейдем в ключ реестра SOFTWARE\Microsoft\Windows NT\CurrentVersion.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Информация об операционной системе
Версия операционной системы — Windows 10 Enterprise 2016 LTSB. Теперь просмотрим ключ реестра SYSTEM\ControlSet01\Control\ComputerName\ComputerName и получим информацию об имени компьютера.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Имя компьютера: PC01.
Теперь откроем ключ реестра SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{ea202436-8a31-4cb6-9b59-5be0c2bc1692} и получим информацию о сетевых настройках.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Информация о сетевых настройках
IP-адрес исследуемого хоста — 192.168.112.142.
Получим информацию о примонтированных дисках. Для этого перейдем в ветку реестра SYSTEM\MountedDevices: нас интересует 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, либо придется анализировать лог вручную.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Результат работы утилиты TurnOnTimesView
21.11.2021 питание машины незапланированно отключилось, до этого компьютер проработал 11 часов и 31 минуту (об этом говорит значение 11:31).
Начнем анализировать логи. Для этого откроем утилиту fulleventlogview, нажмем Choose Data Store → Load events from external folder with log files и укажем путь к папке с логами Windows\System32\winevt\Logs.
Отфильтруем логи по событию 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:\Windows\System32\sru\\RUDB.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:\Users\labib\Desktop\20211119103954_BloodHound.zip, содержащий информацию об объектах домена. Эта информация собиралась для анализа в BloodHound.
Проанализируем MFT с помощью утилиты MFTECmd. Из корня файловой системы извлечем файл $MFT, это можно сделать с помощью R-Studio или FTKImager.
В каталоге Users/labib/Desktop создан файл Business.xlsx с меткой времени 22.11.2021 22:40:06, этот файл содержит информацию о пользователях домена и их деятельности в компании. Найдем указанный файл в таблице MFT:
MFTECmd.exe -f "C:\Users\DonNod\Downloads\AD-101\AD-E01\MFT" --csv "AD-101\AD-E01"
В файле вывода утилиты MFTECmd обнаруживаем Business.xlsx и его поле LogfileSequenceNumber, которое имеет значение 1422361276.
Попробуем получить пароль пользователя 0xMohammed, который входит в группу администраторов домена. Выгрузим ветки реестра SAM, SYSTEM, SECURITY и вытащим из них хеши пользователей. Для этого воспользуемся скриптом secretdum.py из пакета Impacket.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Выгруженные аутентификационные данные из веток реестра
На хосте PC01 авторизовывался доменный пользователь 0xMohammed, его данные сохранены в кеше. С помощью утилиты hashcat сбрутим mccache2 хеша пользователя 0xMohammed:
$DCC2$10240#0xMohammed#e7b8d19008520207ca8ef94680db0f28
В результате этой операции выясняется, что его пароль — 0xmohammed!.
Теперь попытаемся узнать, как злоумышленник скомпрометировал хост PC01. Анализируя файлы, в каталоге C:\Users\labib\Documents\Outlook Files\Outlook.pst пользователя labib мы обнаруживаем почтовый контейнер Outlook. Преобразуем контейнер в eml-сообщения, для этого откроем утилиту PST-Xtracrot, загрузим в нее контейнер и нажмем Convert. После этого можно проанализировать все сообщения антивирусными средствами, чтобы поискать вредоносные вложения.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Содержимое письма
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Заголовок вредоносного письма
Продолжение далее...
Для просмотра ссылки необходимо нажать
Вход или Регистрация