Оперативная память — это «мгновенный снимок» работы системы. В ней хранится то, что происходит прямо сейчас:
- запущенные процессы;
- открытые сетевые соединения;
- пароли в открытом виде;
- содержимое открытых файлов;
- ключи шифрования;
- следы деятельности злоумышленника, которые никогда не сохраняются на диск.
Анализ дампов памяти — одна из ключевых задач в цифровой криминалистике и при реагировании на инциденты. Для извлечения и анализа дампа памяти используют фреймворк 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

Идем дальше.

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