TGViewer
Codeby Codeby @codeby_sec · 37K subscribers
Post #10029 3.01K
Почему малварь прячется в RAM — и как её оттуда достать

За последний год через одну лабораторию прошло больше двадцати дампов с реальных инцидентов — и во всех случаях малварь жила исключительно в оперативной памяти. Ни одного файла на диске. Классическая дисковая форензика дала бы ноль.

🔍 Fileless-атаки, reflective DLL injection, Cobalt Strike beacon в RWX-регионе легитимного svchost.exe — для антивируса и EDR это выглядит как обычная работа системы. Но в оперативной памяти они оставляют следы, которые никуда не деваются.

Почему RAM важнее диска при реагировании

Образ диска на 250+ ГБ снимается часами. Дамп RAM на 8–32 ГБ — за минуты. Но дело не только в скорости.

Оперативная память хранит то, чего на диске нет в принципе:

• Расшифрованный payload — малварь шифрует себя на диске, но в RAM работает в открытом виде
• Инжектированный код — Process Injection (T1055) файлов не оставляет, только RWX-регионы в чужом адресном пространстве
• Скрытые процессы — руткит выдёргивает процесс из списка, но pool-теги остаются в физической памяти
• Активные C2-соединения — с PID, портами и IP, которые лог файервола мог не записать
• Хэши и билеты Kerberos — прямо в памяти lsass.exe

🛠 Volatility 3: что изменилось

Главная ловушка для тех, кто учился по старым руководствам: в тройке нет --profile. Вместо него — символьные таблицы в формате ISF, которые фреймворк стягивает сам при первом запуске. Не нужно угадывать точный билд Windows — Volatility 3 определяет его автоматически.

Синтаксис стал чище: vol -f dump.raw windows.pslist вместо громоздкого vol.py --profile=Win10x64_18362 pslist. Минорные билды Windows поддерживаются без обновления фреймворка.

⚠️ Ключевой момент про снятие дампа

Дамп снимается до перезагрузки — это очевидно, но на практике именно здесь теряют артефакты. Перезагрузили хост — потеряли всё.

На Windows используется WinPmem: winpmem_mini_x64_rc2.exe output.raw. Сразу после снятия фиксируется контрольная сумма: sha256sum output.raw > output.raw.sha256. Это не формальность — без chain of custody отчёт не примут ни в суде, ни на review у заказчика.

💡 Что реально разделяет pslist и psscan

Большинство руководств перечисляют плагины, не объясняя разницу. pslist идёт по двусвязному списку ядра — руткит может выдернуть оттуда запись. psscan сканирует физическую память по pool-тегам — и находит то, что скрыто. Расхождение между выводами двух плагинов — красный флаг.

Полный workflow расследования: от снятия дампа до IoC для отчёта — в статье.

https://codeby.net/threads/analiz-dampov-pamyati-volatility-3-prakticheskii-workflow-obnaruzheniya-malvari-i-in-yektsii.92825/
  • ❤ 15
  • 🔥 9
  • 👍 6
More from @codeby_sec
  1. Sep 29, 2026🔥 Ищем Go Backend Developer (Сети, DevOps, Security) Мы — технологический стартап, делаем…
  2. Sep 29, 2026NIST запретил менять пароли. ФСТЭК — обязал. Как жить в 2026? Представьте ситуацию: на атт…
  3. Sep 28, 2026🔎 В ходе проведения работ по тестированию на проникновение специалисты часто находят учет…
  4. Sep 28, 2026377 вакансий в ИБ. И всего 63 резюме. Это не опечатка, это текущий счёт на доске «Карьера…
  5. Sep 28, 2026numasec Numasec - это агент безопасности на базе ИИ, работающий прямо в вашем терминале. О…
  6. Sep 26, 2026🚩 Новые задания на платформе HackerLab! 👩‍💻 Категория Pentest Machines (Active Director…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →