Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В этой статье мы проведем расследование инцидента на примере лабораторной работы MrRobot с ресурса CyberDefenders. Мы научимся извлекать основные артефакты из образов оперативной памяти Windows и восстановим процесс атаки.
Сценарий в задании такой: сотрудник компании сообщил, что ему пришло электронное письмо с обновлением безопасности, он запустил вложение и после этого компьютер начал вести себя странно. Группа реагирования на инциденты получила дампы оперативной памяти с подозрительных машин. Наша задача — исследовать их, найти то самое письмо, выявить загруженные вредоносные программы и методы бокового перемещения по сети.
По результатам решения кейса необходимо ответить на ряд вопросов, но я покажу сам процесс решения и не буду озвучивать ответы. Ты можешь повторить все самостоятельно, чтобы лучше разобраться и закрепить материал.
Итак, загрузим файл архива с артефактами и приступим к их исследованию.
cmd.exe. Основное его преимущество — плагин не только показывает введенные злоумышленниками команды, но и собирает весь экранный буфер (ввод и вывод).
FILE_OBJECT в памяти с помощью сканирования тегов пула. Найдет все открытые файлы.
UserAssist.
plugins инструмента volatility.
Распаковываем архив с заданием и получаем три файла, которые содержат образы памяти скомпрометированных хостов: Target1, Target2 и POS. Файлы имеют расширение .vmss, то есть представляют собой моментальные снимки виртуальной машины VMware. Если Volatility не может извлечь артефакты из этих файлов, можно воспользоваться плагином raw2dmp, который преобразует дамп памяти приостановленной виртуальной машины VMware в формат, пригодный для анализа. Также можно воспользоваться инструментом vmss2core.
Исследование образов оперативной памяти можно разделить на два этапа: восстановление действий пользователя и поиск признаков вредоносной активности. На первом этапе необходимо проанализировать запущенные процессы, открытые документы, восстановить историю браузера. Эта информация поможет определить время компрометации системы, а также выяснить, какие действия пользователя привели к инциденту. А проанализировав активность злоумышленника, нужно найти использованные вредоносные модули, способ их закрепления в системе, а также обнаружить методы бокового перемещения по сети организации.
Получим первичную информацию об исследуемой машине, выясним профиль операционной системы, сетевой адрес и имя хоста.
python2 vol.py -f c69-Grrcon2015/target1/Target1-1dd8701f.vmss --profile=Win7SP1x86_23418 imageinfo`

Информация о профиле операционной системы
В ключе реестра SYSTEMControlSet001ControlComputerNameComputerName содержится информация об имени компьютера.
python2 vol.py -f c69-Grrcon2015/target1/Target1-1dd8701f.vmss --profile=Win7SP1x86_23418 printkey -K "ControlSet001ControlComputerNameComputerName"

Имя компьютера
Имя компьютера — FRONT-DESK-PC.
Получим сетевой адрес хоста: в ключе реестра SYSTEMControlSet001ServicesTcpipParametersInterfaces содержатся идентификаторы сетевых адаптеров, в одном из которых хранится информация о сети.
python2 vol.py -f c69-Grrcon2015/target1/Target1-1dd8701f.vmss --profile=Win7SP1x86_23418 printkey -K "ControlSet001ServicesTcpipParametersInterfaces{9C3710A4-77FE-48CB-911B-742A81DE38BA}"

IP-адрес хоста
Профиль скомпрометированной машины Win7SP1x86_23418, IP-адрес — 10.1.1.20, имя хоста — FRONT-DESK-PC.
Начнем восстанавливать действия пользователя в системе. Первым делом получим информацию о запущенных процессах и сохраним ее в файл для удобства анализа.
python2 vol.py -f c69-Grrcon2015/target1/Target1-1dd8701f.vmss --profile=Win7SP1x86_23418 pstree > pstree.txt

Дерево запущенных процессов
Мы видим запущенный процесс OUTLOOK.EXE с идентификатором 3196, в адресном пространстве которого содержится информация об электронных сообщениях и открытых файлах. Получим переписку авторизованного в Outlook пользователя. Для этого выгрузим все файлы данного процесса и проанализируем их: в дескрипторе открытого процесса с идентификатором 3196 найдем все объекты FILE.
python2 vol.py -f c69-Grrcon2015/target1/Target1-1dd8701f.vmss --profile=Win7SP1x86_23418 handles -p 3196 -t FILE > handles_3196.txt

Открытые файлы процесса OUTLOOK.exe
Мы обнаружили файл с расширением .ost, который содержит кешированные (сохраненные в памяти системы) сообщения электронного почтового ящика пользователя. Попробуем восстановить этот файл, используя плагин dumpfiles, но сначала нам необходимо узнать физический адрес данного файла в памяти. Запустим плагин filescan, найдем интересующий нас файл и получим его физический адрес.
python2 vol.py -f c69-Grrcon2015/target1/Target1-1dd8701f.vmss --profile=Win7SP1x86_23418 handles -p 3196 -t FILE > filescan.txt

Физический адрес файла outlook2.ost
Адрес файла outlook2.ost — 0x000000003ecec2b0. Теперь можно восстановить сам файл. В параметре -Q плагина dumpfiles указываем адрес файла, который нужно выгрузить.
python2 vol.py -f c69-Grrcon2015/target1/Target1-1dd8701f.vmss --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000003ecec2b0 -D dumpfiles/
Я попробовал восстановить все файлы контейнера outlook, но они оказались пустыми. Воспользуемся другим методом выгрузки сообщений. Для этого получим дамп адресного пространства процесса OUTLOOK.EXE с помощью плагина memdump.
python2 vol.py -f c69-Grrcon2015/target1/Target1-1dd8701f.vmss --profile=Win7SP1x86_23418 memdump -p 3196 -D ./
Мы получили дамп адресного пространства, попробуем в нем найти сообщения. Откроем полученный файл в шестнадцатеричном редакторе и найдем строку From, а также Content-Type.

Обнаруженный заголовок письма

Содержимое электронного письма
Проанализируем его заголовок: нас интересуют поля Subject, From и Received.
info
Как анализировать заголовки электронных писем, рассказывается в одной из наших статей.
Письмо пришло от пользователя [email protected] и имело тему Обновите ваш VPN клиент. Поле Received характеризует адрес отправителя, а также показывает, через какие узлы сообщение прошло.
Находим первое поле Received и узнаем, что сообщение отправлено с IP-адреса 10.114.2.82. Как видно из содержимого, там присутствует ссылка http://180.76[.]254[.]120/AnyConnectInstaller.exe для загрузки файла AnyConnectInstaller.exe.
Источник: xakep.ru