Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В этой статье я покажу, как извлекать основные артефакты из образов оперативной памяти Windows. Мы восстановим процесс атаки, чтобы расследовать инцидент. В этом нам поможет лабораторная работа TeamSpy с ресурса CyberDefenders.
По сценарию сотрудник компании сообщил, что получил подозрительное электронное письмо с файлом документа и после этого компьютер начал вести себя странно. Группа реагирования на инциденты сделала несколько дампов памяти с подозрительных машин. Наша задача — расследовать инцидент и разобраться, что произошло.
info
По результатам решения кейса необходимо ответить на ряд вопросов, однако я покажу лишь сам процесс решения. Повторив прохождение, ты сможешь сам дать ответы для закрепления материала.
Загрузим архив с артефактами и приступим к их исследованию.
cmd.exe
. Основное преимущество этого плагина в том, что он не только печатает команды, введенные злоумышленниками, но и собирает весь экранный буфер (ввод и вывод).
FILE_OBJECT
в памяти с помощью сканирования тегов пула. Этот плагин найдет все открытые файлы.
Прежде чем искать вирусную активность, давай получим первичную информацию о системе, имя компьютера, сетевой адрес и версию операционной системы.
python2.7 vol.py -f "ecorpoffice/win7ecorpoffice2010-36b02ed3.vmem" imgeinfo
Версия ОС — Win7SP1x64
. Мы будем ее указывать при поиске других артефактов в качестве профиля в Volatility.
Получим имя компьютера, для этого проверим следующий ключ реестра:
SYSTEMControlSet001ControlComputerNameComputerName
python2 vol.py -f ecorpoffice/win7ecorpoffice2010-36b02ed3.vmem
--profile=Win7SP1x64 printkey -K "ControlSet001ControlComputerNameComputerName"
Имя компьютера исследуемого образа
Имя компьютера: WIN-191HVE3KTLO
.
Выясним сетевой адрес. Для этого проверим ключ, в котором содержатся идентификаторы сетевых адаптеров. Здесь же можно найти и информацию о сети.
python2 vol.py -f ecorpoffice/win7ecorpoffice2010-36b02ed3.vmem
--profile=Win7SP1x86_23418 printkey
-K "ControlSet002ServicesTcpipParametersInterfaces{360E0CDC-9C78-4D3B-A0Af-69CC45DE6D70}"
Сетевая информация о хосте
IP-адрес исследуемой машины — 10.1.1.122.
Проанализируем запущенные процессы в системе, их список выгрузим в файл pstree.txt
.
python2.7 vol.py -f "ecorpoffice/win7ecorpoffice2010-36b02ed3.vmem"
--profile=Win7SP1x64 pstree > ecorpoffice/pstree.txt
Список процессов
Мы обнаружили процесс OUTLOOK.EXE
, идентификатор процесса — 2692. По сценарию нам известно, что инцидент произошел после того, как пользователь запустил вложение в письме. Восстановим все сообщения пользователя и найдем вредоносное. Для этого ищем в процессе все объекты FILE
.
python2.7 vol.py -f "ecorpoffice/win7ecorpoffice2010-36b02ed3.vmem"
--profile=Win7SP1x64 handles -p 2692 -t FILE > ecorpoffice/FILE_OUTLOOK
В результате анализа объектов FILE обнаружено имя почтового ящика пользователя:
DeviceHarddiskVolume1Usersphillip.priceAppDataLocalMicrosoftOutlookphillip.price@e-corp.biz.pst
Попробуем выгрузить этот контейнер из памяти процесса. Найдем физический адрес файла, используя плагин filescan.
python2.7 vol.py -f "ecorpoffice/win7ecorpoffice2010-36b02ed3.vmem"
--profile=Win7SP1x64 filescan > ecorpoffice/filescan`
Адрес почтового ящика пользователя в системе
Выгружаем найденный файл, даем ему расширение .ost и загружаем в утилиту OST Extractor.
python2.7 vol.py -f "ecorpoffice/win7ecorpoffice2010-36b02ed3.vmem"
--profile=Win7SP1x64 dumpfiles -Q 0x000000007d4d9450 -u -D ecorpoffice/
Не забываем про аргумент -u
, который позволяет выгрузить большее количество данных.
Получаем файл file.None.0xfffffa80042dcf10.dat
. Тоже меняем ему разрешение на .ost и загружаем в OST Extractor.
Конвертирование почтового контейнера
После конвертирования OST в указанной папке появится сообщение пользователя в формате EML. Переходим в папку сообщений и смотрим его.
Заголовок письма
Содержимое сообщения
Письмо отправлено с почтового ящика [email protected]
. В аттаче — документ bank_statement_088452.doc
. IP-адрес почтового сервера — 31.6.35.122
. Письмо поступило 4 октября 2016 года в 12:02:04 (UTC).
Чтобы извлечь вложение, можно воспользоваться блокнотом, для этого декодируем аттач из Base64 и сохраняем файл с расширением .doc. Либо можешь открыть EML с помощью почтового клиента (того же Outlook).
info
Исследовать вредоносные файлы необходимо в изолированной среде. Как создать лабораторию для анализа вредоносов, подробно рассказано в статье «Код под надзором. Создаем виртуальную лабораторию для анализа малвари».
Итак, берем файл bank_statement_088452.doc
и начинаем изучать. Его MD5:
c2dbf24a0dc7276a71dd0824647535c9
Проверим наличие макроса в полученном вложении с помощью утилиты olevba.
olevba bank_statement_088452.doc
Результат работы утилиты olevba
Макрос сильно обфусцирован, и по‑быстрому его проанализировать не получится, поэтому откроем документ в Microsoft Word и начнем отлаживать скрипт на Visual Basic.
Содержимое вредоносного документа
Перейдем в «Вид → Макросы» и нажмем кнопку «Отладить». Находим следующий участок кода.
Содержимое макроса
В функции xvkBjM
выполняется запуск содержимого в переменной UsoJar
. Найдем место в коде, где формируется эта переменная, поставим точку останова и запустим скрипт.
Отладка скрипта
После выполнения этого участка кода в переменной UsoJar
появится команда на PowerShell, которая декодирует данные и исполняет их.
Преобразуем данные из Base64 и посмотрим содержимое.
Преобразованные данные
Как видим, скрипт на PowerShell находит и запускает исполняемые файлы вот из этой папки:
C:Users<user>AppDataLocalTemp
Перед тем как запускать вредоносный документ, начнем записывать сетевой трафик, для этого запустим в виртуальной машине Wireshark.
Сетевая активность вредоносного документа
Как видим, до запуска скрипта на PowerShell происходит загрузка полезной нагрузки с IP-адреса 54.174.131.235
.
Заголовок сетевого пакета
Вредоносный скрипт на VBA загружает полезную нагрузку со следующего адреса:
http://54.174.131.235/files/tv_x64.exe
Нагрузка будет сохранена в файл
C:Users<user>AppDataLocalTempSkypeC2AutoUpdate.exe
Затем этот файл запускается.
Источник: xakep.ru