Правильно подобранный набор утилит и хорошо подготовленный стенд — залог успеха в расследовании инцидентов, поэтому начнем именно с этого. Развернем на виртуальной машине ОС на базе *nix (здесь не принципиально: Kali, Ubuntu или что-то экзотическое, однако, если читатель хочет продолжить исследования вредоносных сэмплов, автор рекомендует развернуть REMnux (
ссылка) или SIFT (by SANS), т.к. данные образы уже содержат большой набор необходимых утилит). После выбора образа и развертывания (не буду подробно останавливаться на этом), нам необходимо убедиться, что на нем установлен python2 и pip к нему (да, он не поддерживается, но нам это ничуть не помешает), далее загружаем одну из самых популярных утилит для анализа дампа оперативной памяти Volatility: git clone
https://github.com/volatilityfoundation/volatility и устанавливаем: python setup.py install, еще нужно поставить несколько библиотек (нужны для модулей Volatility): pip install pycrypto distorm3 yara.
Открываем страницу с
заданием и загружаем дамп оперативной памяти с профилем ядра (профиль — это zip файл, который содержит информацию о структуре ядра и отладочных символах и позволяет Volatility корректно распарсить важную информацию). Посмотреть список доступных профилей после установки и плагинов можно командой: ./vol.py —info.
Разархивируем загруженный дамп (dump.mem) и профиль (Centos7.3.10.1062.zip):
unzip -o c73-EZDump.zip -d . и импортируем профиль в необходимую директорию с загруженной volatility: cp Centos7.3.10.1062.zip /volatility/plugins/overlays/linux/ (распаковывать архив не нужно).
Теперь убедимся, что необходимый профиль доступен в Volatility:
./vol.py —info | grep LinuxCentos
Вывод должен быть таким:
Volatility Foundation Volatility Framework 2.6.1
LinuxCentos7_3_10_1062x64 — A Profile for Linux Centos7.3.10.1062 x64
Отлично, можем приступать к анализу дампа оперативной памяти.