Оперативная память — это «мгновенный снимок» работы системы. В ней хранится то, что происходит прямо сейчас:
- запущенные процессы;
- открытые сетевые соединения;
- пароли в открытом виде;
- содержимое открытых файлов;
- ключи шифрования;
- следы деятельности злоумышленника, которые никогда не сохраняются на диск.
Анализ дампов памяти — одна из ключевых задач в цифровой криминалистике и при реагировании на инциденты. Для извлечения и анализа дампа памяти используют фреймворк Volatility 3.
Давай пройдемся по основным целям, которые помогает достичь Volatility 3.
1. Обнаружение вредоносного ПО и руткитов
- Скрытые процессы: вредоносные программы часто маскируются под легитимные процессы или внедряются в них (DLL injection, code injection). Volatility 3 может показать список всех процессов, включая те, что скрыты от стандартных диспетчеров задач.
- Сетевые соединения: можно увидеть, с какими IP-адресами и портами устанавливали соединения вредоносные процессы, даже если они уже завершены (если информация еще не перезаписана).
- Внедренный код: позволяет заглянуть в память конкретного процесса и найти фрагменты вредоносного кода, который был внедрен.
2. Расследование инцидентов безопасности
- Восстановление хронологии событий: что происходило в системе перед инцидентом? Какие программы запускались? Какие команды выполнялись?
- Поиск артефактов: поиск в памяти следов фишинговых атак, выполненных команд, введенных паролей, открытых браузерных сессий, истории чатов и так далее.
- Определение ущерба: какие данные были похищены или зашифрованы? Какие системы были затронуты?
3. Анализ действий злоумышленника
- Кража учетных данных: Volatility 3 может извлекать хеши паролей, билеты Kerberos и даже пароли в чистом тексте из памяти процессов, таких как
LSASS.(что критично для атак pass the hash).exe - Поиск следов эксплуатации: обнаружение следов эксплоитов (например, шелл‑кодов в памяти) или признаков применения техник living off the land (LoLBins), когда злоумышленник использует легитимные системные утилиты.
4. Обход техник противостояния форензике
Современные вредоносные программы и продвинутые злоумышленники (APT) используют техники, которые не оставляют следов на диске. Они существуют исключительно в оперативной памяти (fileless malware). Единственный способ их обнаружить — провести анализ RAM.
5. Криминалистический анализ
- Доказательство наличия умысла: например, найти доказательства того, что пользователь знал о незаконности своих действий (открытые документы, чаты, переписки в мессенджерах).
- Восстановление удаленных данных: в оперативной памяти могут временно храниться данные с зашифрованных дисков или удаленные файлы, к которым система еще не обращалась для их полного стирания.
В «Хакере» разные авторы неоднократно рассказывали о достоинствах и недостатках фреймворка Volatility 3, замечу, что достоинств все же больше. Однако Volatility 3 требует тонкой настройки, а также знания синтаксиса и понимания сути вывода команд в терминале.
Некоторые популярные инструменты форензики позволяют не только получать информацию в командной строке интерпретатора, но и в виде графов показать информацию о действиях злодея.
VolWeb — инструмент с открытым исходным кодом, позволяющий анализировать снимки оперативной памяти, не трогая командную строку.

VolWeb можно развернуть в любой системе в виде контейнера Docker. Он уже будет содержать все настройки, которые позволят нам комфортно работать через браузер.
Итак, идем в репозиторий, скачиваем через Git файлы проекта и переходим в каталог инструмента.

Переименуем . в .. Это файл рабочего окружения с учетными данными для СУБД и бэкенда, а также номерами рабочих портов.

Править файл с примерами настроек необязательно. Инструмент готов к запуску, но учти, что сам запуск будет небыстрым. Придется подождать, пока загрузятся и смонтируются нужные образы.

Теперь мы видим новый стек контейнеров. Для управления контейнерами Docker очень удобен Portainer.



Как видишь, нужные инструменту порты на моем хосте свободны и контейнеры корректно запущены. Если необходимые порты по умолчанию заняты, при запуске Docker укажет на это.
Для доступа к веб‑интерфейсу и работы в нем нам понадобится порт 3000. Откроем через браузер страницу инструмента.

На этом этапе нас встречает страница входа в интерфейс, стандартные креды — admin:.




Для исследования дампа нужно создать кейс и файл анализа для него. Соответствующие кнопки и вкладки находятся слева. При переходе к нужному разделу сущности добавляются через значок + в правом нижнем углу экрана. Если его нажать, появляется диалоговая форма с полями для ввода, выбора данных и интерактивными кнопками.
Где взять материал для анализа, если нужный файл нам не выдали? Рекомендую ресурс cyberdefenders.org. После регистрации там доступны артефакты для исследования, а в лабораторных работах — вопросы с формами ответа (иногда даже с подсказками). В качестве примера попробуем разобрать задачку RedLine Lab.

Нам предлагают загрузить архив с файлом и использовать Volatility 3. Мы же протестируем работу VolWeb. Создаем кейс и подгружаем в него файл.



И снова загрузка идет небыстро. После загрузки и анализа дампа в строке с файлом появится статус success. Если есть еще данные, просто запускаем следующую загрузку.

Справа появились кнопки Investigate (расследовать), Reanalyze (проанализировать заново) и Delete (удалить). Мы теперь можем перейти к анализу загруженного дампа и искать ответы на вопросы из лабораторной работы. Параллельно я буду обрабатывать дамп классическим Volatility 3 и сравнивать результаты, чтобы понять, не вводит ли веб‑интерфейс в заблуждение.


Переходим к анализу. Жми кнопку с микроскопом.

Первая вкладка с домиком — общий обзор. Слева показаны плагины инструмента, которые отработали успешно и выдали результат для изучения, а по центру и справа схематично отражен тот же результат для понимания общей картины. Видно, что сработали плагины для Windows. Проверим классикой: файл дампа я положил в тот же каталог с Volatility 3, в терминале выполняю команду
python3 vol.py -f MemoryDump.mem windows.info

Идем дальше.

Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
