• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Анализ дампа оперативной памяти

defaultuser0

anime hater
Пользователь
Регистрация
07.07.2022
Сообщения
213
Реакции
432
Депозит
0.0003
Работает Криминалист!
Снимаем и Анализируем дамп оперативной памяти

Авторство: defaultuser0​

Источник: xss.pro​



DALL·E-2024-02-26-01.35.jpg

Приветствую форумчане! Продолжаю делится своими знаниями преобретенными работая специалистом по информационной безопасности. В этой статье я хочу вам поведовать о таком душном процессе как снятие и анализ оперативой памяти. У вас может появится резонный вопрос - зачем, для чего, почему. Попробую обрисовать вам картину как это происходит в боевых условиях. Я возьму боевой вирус и поражу свою Виртуалку им, после я покажу процесс анализа с изъятием образа вредоноса с дампа оперативной памяти! Как всегда теория + практика.

Основы и принципы снятия и анализа дампа оперативной памяти
Одним из важных аспектов компьютерной безопасности является анализ оперативной памяти (ОЗУ), который позволяет выявлять и предотвращать различные угрозы. Снятие дампа ОЗУ – это процесс создания копии данных, находящихся в оперативной памяти компьютера в определенный момент времени. Эта копия может затем быть проанализирована на предмет наличия вредоносных программ, следов несанкционированного доступа или других потенциальных угроз.
Говоря про снятие дампа мы должны понимать пару аспектов
Всегоу вас может возникнуть две ситуации: когда скомпрометированный компьютер включен и когда он выключен:

  • Компьютер включен и пользователь залогенин
  • Компьютер выключен
  1. Компьютер включен: Подключаем внешнее устройство запускаем специализированное ПО для снятие дампа
  2. Компьютер выключен: Подключаем аппаратный блокиратор записи и снимаем обрзо Жесткого Диска
У каждой из этой ситуации есть свои плюсы и минусы.
Компьютер включен и пользователь залогенин: плюсы и минусы
  1. Возможность получить образ вредоносного ПО
  2. Возможность изучить текущее состояние системы
  3. Возможность получить доступ к данным (Пароли и тд)
  4. Злоумышленник может продолжить управлять систмой и подчистить следы
  5. Неправильное взаимодействие с компьютером жертвы может повредить важные данные и потереть текущее состояние оперативной памяти (важное для расследования инцидента)

Компьютер выключен: плюсы и минусы
  1. Нельза повредить данные (Возможность разом снять без проблем)
  2. Нету дампа Оперативной памяти
  3. Данные на жесткаче могут быть защифрованны
  4. Снятие данных с жесткого диска может быть слишком долгим
Кстати про аппартаный блокиратор записи, он часто выглядит как чемоданчик шерлока холмса.

1708912404031.png
1708912448996.png

Именно такие чемоданчики есть у команды специалистов быстрого реагирования на компьютернные инциденты.

Мы теперь знаем все плюсы и минусы по снятию дампов при расследование инцедента, давайте теперь более специализрованно.
Нужно разобраться с софтом, Для снятия дампа оперативной памяти с Операционной системы Windows я буду использывать популярное ПО - FTK imager,
FTK Imager -
Инструмент для создания образов дисков, который также может читать дампы памяти. FTK Imager позволяет пользователям просматривать и анализировать содержимое памяти в удобной форме.

Его непросто получить (актуальной версии), Я приложу файл под статью можете его скачать.

Для анализа дампа ОЗУ Я буду пользываться самым популярным ПО - Volatility
Volatility -
Один из наиболее известных и широко используемых инструментов для анализа дампов памяти. Volatility поддерживает анализ дампов ОЗУ из разных операционных систем, включая Windows, Linux и Mac OS X. Он позволяет исследовать процессы, загруженные драйверы, сетевые соединения и многое другое.

Боевая практика - анализируем пораженный компьютер
Я поставил 2 виртуальные машины:
  1. Windows 10 (Жертва)
  2. Ubuntu OS (Криминалистическая тачка)
1708913534971.png

Для начала нам нужен образ вредонсоного ПО!
Мой дорогой друг Султан loadbaks предоставил мне доступ к своему стиллеру VIDAR и разрешил мне чутка помучить его стиллер своим эксперементом - Спасибо ему за предоставленную возможность!
Прочитать интервью с владельцом MaaS можете тут -> ТЫК
Кстати для всех кому интересны Стиллеры Султан дает скидочку для всех кто читает мои посты

loadbaks: Для всех кто прочитал статью, и напишет моему саппорту промокод Яшенька, получит +20% к первому пополнению баланса на нашем проекте.

1708914000243.png

Установим FTK Imager для снятие дампа ОЗУ

Screenshot 2024-02-24 202503.png

У меня есть боевая версия вируса, сделаю билд и заражу свою виртуалку под Windows 10 Видаром.

1708914585232.png

Поразив вирусом свою виртуалку запустим FTK Imager, перейдем в File -> Capture Memory и сделаем дамп

1708914793109.png

Кстати к этому моменту логи с моей виртуалки уже поступили в панель стиллера =)

1708915085547.png

Запустим процесс снятие дампа и дождемся окончания, (тут кстати есть возможность достать файл подкачки)

1708914861962.png

Мы получили два файла - Файл подкачки и сам дамп оперативной памяти

1708915254286.png

Перекинем эти файлы на криминалистическую тачку.
Теперь установим Volatility. Тут нужно понимать что классическая версия Volatility работает на питоне 2 версии и из-за того что питухон успел изменится 40 раз, легче всего взять Volatility3 (У него кстати есть свои приемущества в том смысле, что не нужно определять руками профиль ОС, в первой версии Volatility профиль - это точная версия операционной системы.)

1708915608382.png

Тут я думаю вы справитесь без меня.
Теперь по подробнее, Volatility это мощный инструмент который позволяет достать из целого дампа абсолютно все, начиная от Образа процесса, заканчивая скришотами, буффером, ключами реестра, выделенным местом в Оперативе и тд. Так же с использованием Volatility вы можете буквально детектировать инжект в легитимные процессы по типу explorer.exe или svchosts.exe (Имменно инжект)
Мы уже перетащили дамп на тачку, теперь давайте поймем что и как работает в Volatility.
У Volatility есть такая вещь как Plugins, Они позволяют определенным образом доставать все что нам нужно. Весь список описан в доккументации, я приложу ссылку внизу для вас. Так же можете посмотрть весь дефолтный список что и как используя флаг -h
Код:
python3 vol.py -h

1708916651899.png

Давайте изучим наш дамп. Флаг -f нужен для определения места дампа

1708916699859.png

Используя плагин $OS.pslist мы можем считать полностью весь список запущенных процессов на момент снятия дампа. Тут будет все что нам нужно PID - Process ID или же Offset

Offset в контексте оперативной памяти относится к смещению или позиции конкретного байта или группы байтов внутри блока памяти. Это числовое значение, которое указывает расстояние (обычно в байтах) от начала блока памяти до конкретного местоположения данных внутри этого блока.

1708916787666.png

Если мы хотим то можем получить дерево процессов используя плагин $OS.pstree

Мы можем получить СИДЫ $OS.getsid

1708917891361.png

Так же используя плагин $OS.netscan мы можем изучить текущее сетевые взаимодействие хоста с которого был снят дамп

1708916931213.png

Если хотим получить адреса реестровых файлов в памяти можем запустить windows.registry.hivelist

1708918509998.png

Дальше отталкиваясь от Оффсета который мы сдампили, мы можем получить все что хотим начиная от скришотов, заканчивая списком устройств подключенных к хосту/данные с автозагрузки хоста на момент снятие дампа. Но я не хочу вдаваться в подробности вы можете изучить это подробнее используя документацию, что касается всей истории с форензикой, вам нужно четко понимать устройство Операционнки которую изучаете, что где лежит.

Пробежавщись по реестру мы видим доступные нам пути, используя ключ мы можем узнать все что хотим. Давайте попробуем узнать чуть больше о системе.
Используя оффсет и ключ Control\SystemInformation мы получаем на руки информацию что это дамп с вирутальной машины так как информация о БИОСе хранивщайся в оперативной памяти явно укзаывает на Виртуальную Машину VMware

1708921659183.png

Мы можем так же посмотерть весь список сервисов на нашем хосте, Это хороший шаг возможно в вашем случаии вредонос закрепился через сервис.
Используем комманду windows.registry.printkey --offset 0x* --key 'ControlSet001\Services'

1708922109330.png

Это все базовые примеры, найти можно все - Вопрос как!

Я не будем усложнять себе положение, посмотрев список запущенных процессов на момент снятие дампа мы можем достать образ любого процесса.

1708917069241.png

Перед тем как забрать образ подозреваемого вредоноса - давайте посмотрим откуда он был запущен и с каким параметрамми.
Для этого используем windows.cmdline --pid *

1708922567431.png

Теперь мы можем констатировать факт запуска программы путь - "C:\Users\admin\Desktop\build.exe

Заберем образ подозрительного процесса вместе со всеми DDL (Это возможно понадобиться при дальнешем анализе)
Используя команду windows.dumpfiles --pid * (пид процесса который мы хотим забрать)

1708918825001.png

Обязательно укажите путь куда вы хотите получить ваши образы. Мы получаем образ нашего файла на руки.

Screenshot 2024-02-25 021433.png

Теперь мы можем сделать с ним все что хотим. Самое лучшее в таком моменте сразу бежать на ВирусТотал или Онлайн Песочницы по типу Эниран, но я этого делать не буду так как Загажу Билд Султана детектами на ВТ. Кстати всем кто арендует такой софт на заметку, если кто-то сольет билд на песочницы или ВТ то его очень легко найдут по ХЭШу и забанят ему учетку за слив билда. У всех юзеров такого софта уникальные билды с уникальными ХЭШАМИ, само собой все билды регулярно чекаются по ХЭШУ. Это кстати хороший трюк для безопасников который я прочитал в Книге:
Анализ вредоносных программ. Там бывший специалист Cisco по Безопасности объяснял как злоумышленники определяют "Изучают ли их вирус или нет" Вообщем не стоит сразу лить на ВТ билды если перед вами редкий экземпляр какого нибудь вредоноса, лучше руками изучить так как залив на ВТ злоумышленники сразу поймут что их вредонос уже попался в руки аналитика, кстати книгу советую прочитать!

1708919141201.png

Мы чуть отошли от темы, давайте изучим нашего друга.
Используя дефолтный Strings.

Screenshot 2024-02-25 021645.png

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

1708919562905.png

Мы отчетливво видим что собирается явная информация о компьютере такая как:
Процессор, Времеая Зона, Клавиатура, Оператиная память, Чип Видеокарты, и тд.
После чего мы можем сделать предположение что все это записывается в файл "information.txt"

Продолжая изучать образ процесса, мы видим такую интересную вещь:
В действительности владелец VIDAR делился в интервью со мной что данные добытые его стиллером передаются 2 путями. Steam или Telegram.
Так что тут Султан не обманул и реально его стиллер передает информацию через эти маршруты =)

1708919759652.png

Владелец VIDAR подробно о своем творении:

1708919874184.png


Так же добовляем в нашу таблицу IOC's сам стим профиль =0

Screenshot 2024-02-25 022233.png

Что касается таблицы IOC's.

Индикатор компрометации (Indicator of Compromise, IoC) — в сфере компьютерной безопасности наблюдаемый в сети или на конкретном устройстве объект (или активность), который с большой долей вероятности указывает на несанкционированный доступ к системе (то есть ее компрометацию). Такие индикаторы используются для обнаружения вредоносной активности на ранней стадии, а также для предотвращения известных угроз.

Вы должны записывать туда каждую подозрительную вещь, начиная от файлов, заканчивая айпи адрессами управляющих серверов, Необычные DNS-запросы, спикок узлов, профилей, сигнатуры, список Хэшей, подозрительных адерсов памяти и тд. Это нужно для подачи отчета с конкретными данными(пораженные хосты + IoC's)

Пробегаемся дальше по пути видя что собираются пароли с браузеров, замечаем запросы в БД =0
Я специально закрасил чувствительные данные стиллера (все таки мне его дали для теста)
В этих запросах видно буквально что куда помещается, и какие вообще есть в бд таблицы и столбцы.

1708919962742.png

Screenshot 2024-02-25 021921.png

Посмотрев на них можно уже поставить диагноз (не предположение как было раньше) Хост был атакован СТИЛЛЕРОМ!
Да возможно это выглядит глупо но я посторался показать базовое применение с анализом образа. Само собой я знал что на хосте был запущен стиллер, но при боевых задачах вы будете действовать примерно так. Увидели какой то процесс странный сдампили его образ с оперативы прошлись средствами детекта или же изучили вручной. При сложных атака вирусов с инжектом в легитимные процессы вам прийдется использвать apihooks и полноценно окунаться в реверс (тут кстати можете читать статьи yashechka, и особенно советую смотерть его прохождения crackme), так как вам прийдется смотреть на выделенное пространство и буквально доставать из процесса вредоносный код.
Конечно Если там условный РАТНИК или Ботнет то вам нужно смотрть на сетевые подключения хоста с момента снятие дампа и анализировать куда какой процесс пытается стучаться + Смотерть из списко автозагрузки + по реестру пытаться понять закрепился ли вирус имеено таким путем или же он буквально физическим файлом из автозагрузки запускается.

Это был всего лишь базовый пример как бывает в 99% Случаев и Я постарался показать как это выглядит почти всегда. Спасибо что прочитали до конца кстати проект с полигоном встал из-за последних новостей, я ищу активно пентестера который хочет попробывать свои силы vs SOC'a. Если интересно пиште в ПМ

Для тех кто хочет поддержать меня финансово:
BTC: bc1qxzw0u2hl40hxpw0zjz82zzkl5mgjtp9xwkex6f

Кстати весь этот проект я поднимаю в прямом эфире на твиче, подробнее тут:
ТГ: https://t.me/infosecetochto
 
Документация Volatility - ТЫК
Файл FTK Imager прикрепил тута!
https://www[.]virustotal[.]com/gui/file/645365c7803f553b01f6dde59b02626e485b184c977dd32d120521add086b5b7
https://send[.]exploit[.]in/download/9c0733e7f44cecc0/#Uohh5w0A5v0tzZSYzsy-GQ
1708923284727.png
 
Прошу прощения за глупый вопрос, но вот ты запустил билд и потом сразу сделал дамп? К тому, что сколько времени хранится информация о билде? Т.е запустил его и через 2 часа сделал дамп, то смогу прочесть информацию или уже она будет перезаписана другими процессами?
 
Прошу прощения за глупый вопрос, но вот ты запустил билд и потом сразу сделал дамп? К тому, что сколько времени хранится информация о билде? Т.е запустил его и через 2 часа сделал дамп, то смогу прочесть информацию или уже она будет перезаписана другими процессами?
Стиллер сам по себе долго не живет в оперативе. Это просто как пример. А вот ботнет или ратник там сутками весит.
Возможно было не целесообразно показывать именно со стиллером, но у меня других знакомых владельцев вирусов нет:) пришлось брать что есть
Стиллер все равно оставляет большой массив данных в логах винды, если заглянуть куда нужно так же можно установить использование стиллера хоть спустя 10 лет, главное чтоб логи сохранились.
 
Стиллер сам по себе долго не живет в оперативе. Это просто как пример. А вот ботнет или ратник там сутками весит.
Возможно было не целесообразно показывать именно со стиллером, но у меня других знакомых владельцев вирусов нет:) пришлось брать что есть
Стиллер все равно оставляет большой массив данных в логах винды, если заглянуть куда нужно так же можно установить использование стиллера хоть спустя 10 лет, главное чтоб логи сохранились.
А в целом ты во время запуска билда запустил дамп получается?
 
А в целом ты во время запуска билда запустил дамп получается?
Я подождал пока логи попадут в панель и потом только запустил FTK imager
 
Пройдясь чуть ниже сразу становиться понятно что перед нами стиллер, это легко определить по передоваймым данным.
loadbaks почему строки не шифруются? ну и халтура.

(тут кстати есть возможность достать файл подкачки)
именно поэтому нельзя использовать своп: даже при выключенном компьютере в свопе остаются очень вкусные данные.
 
hehe police boys wouldn't get anything from my thinkpad....oh..wait...
кстати про Thinkpad:
- в них ставят чипы с неизвестным функционалом, огромный размер чипа кагбэ намекает, что этот функционал весьма обширен.
по обрывочной информации из интернета, это процессор с архитектурой ARC, который следит за датчиками (типа температуры и напряжения), а ещё имеет какой-то "Security" функционал. шизики-параноики предполагают, что это китайский импортозамещённый Intel ME, дающий дополнительные возможности людям с физическим доступом к вашему ноутбуку.
 
шизики-параноики предполагают, что это китайский импортозамещённый Intel ME
своеобразное специальное приглашения для специалистов форензики?
 
Для утилит по снятию дампов типа FTK Imager, RamCapture можно что то и придумать чтоб не запускались например. Кстати они используют естественно ВСЕ свой драйвер, установку драйверов можно запретить для начала. А нет тела (снимка ОЗУ или свопа) - нет дела.
 
Для утилит по снятию дампов типа FTK Imager, RamCapture можно что то и придумать чтоб не запускались например. Кстати они используют естественно ВСЕ свой драйвер, установку драйверов можно запретить для начала. А нет тела (снимка ОЗУ или свопа) - нет дела.
Микроволновку уже давно придумали)))))
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Чего не хватает в теме так это дискуссий "чем же нужно дампить ОЗУ", на эту тему в узких кругах постоянно вечный спор

Для тех кому на самом деле интересно:
1) дампить нужно тем софтом, которым вы будете впоследствии анализировать, т.е. если у вас есть FTK Enterprise, то конечно лучше дампить именно FTK.
2) а так в FTK летят часто камни из-за того что он сам занимает достаточно много места в ОЗУ и требует установки, т.е. то что можно было бы сдампить он занимает себе для работы.
3) его не не рекомендуют запускать на тачках "бандита", к примеру в ходе обысков, а использовать максимально легковесный софт, к примеру тот же FTK Lite, работает на х86.
4) многие фанатеют от дампа озу от БелкиСофта, хотя лично не пользовался.

А так ребят, для тех кто не в курсе, самое опасное что есть в ОЗУ это ваши ключи веракрипт/трукрипт и тд, и для тех кто в танке, они снимаются иногда в таких случаях, что вы можете ахуеть, например даже с заблокированного ноута, путем перезагрузки в liveos и дампа с ней, т.к. предательские 50% ноутов при перезагрузку не перестают подавать питания на ОЗУ и та хранит информацию, т.е. реально вытаскивали ключи. + помним ребят про такие космические вещи как жидкий азот, кто бы не смеялся, но реально на практике это делали, замораживали ОЗУ и подключали в устройство для дампа и дампили с сохранением ключей.


Вообще, заслуживает особого уважения те, кто занимаются форензикой под linux, с учетом того, что все флагманские решения выпускаются исключительно под Windows.
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Его непросто получить (актуальной версии)
Версия что у тебя раньше скачивалась просто с сайта и она 2019 года, указываешь почту и тебе приходит софт и все и она далеко-далеко не акутал, т.к. актуал 4.7.1.
Просто переходим на сайт и указываем свою почту и все, и получаем актуал версию 4.7.1.

Раньше, самая актуал версия поставлялась только с FTK Enterprise в комплекте и взять новее чем та что у тебя нигде не было возможности простому смертному, сейчас же они уже у себя на главной дают возможность скачать всем последнюю версию.



Хотя и не уверен что 4.7.1 тоже является актуальной, вполне вероятно что с FTK Enterprise уже 5+ версия есть, тут нужно уточнять у тех, у кого он есть.
 

Вложения

  • Screenshot_43.png
    Screenshot_43.png
    34.9 КБ · Просмотры: 16
  • Screenshot_44.png
    Screenshot_44.png
    25.6 КБ · Просмотры: 14
  • Screenshot_45.png
    Screenshot_45.png
    16.7 КБ · Просмотры: 14
Последнее редактирование:
Кстати всем кто арендует такой софт на заметку, если кто-то сольет билд на песочницы или ВТ то его очень легко найдут по ХЭШу и забанят ему учетку за слив билда. У всех юзеров такого софта уникальные билды с уникальными ХЭШАМИ, само собой все билды регулярно чекаются по ХЭШУ.
*( НЕ в адрес ТС-а )
****************************
Я бы не был бы так самоуверен и категоричен .
Ни по поводу ХЕША ,
ни тем более по поводу Вирустотала *( тот ещё тролль ) .

 
почему строки не шифруются? ну и халтура.
Может потому что крутой кодер на ц++ за 3 копейки, 1 час раз в неделю ковыряет в носу делая вид что кодит что полезное?
 
Последнее редактирование:
даже с заблокированного ноута, путем перезагрузки в liveos и дампа с ней, т.к. предательские 50% ноутов при перезагрузку не перестают подавать питания на ОЗУ и та хранит информацию
подтверждаю, работает. функционал очистки памяти при ребуте встречается очень редко, и преимущественно на серверных материнках.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх