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