РАЗБОР DFIR Статья

Как Игорь Volatility framework изучал и сетевой дамп смотрел

ROP
ROP Pentester · 336 сообщений
Подписаться
14,7 тыс.
[ обложка статьи ]
Режим чтения
Утро. Звенит будильник. Некоторые делают зарядку, завтракают, одеваются и идут на работу. После работы идут домой. День Игоря прошёл также. За исключением одного, во время беседы с неестественным в той компании коллегой, речь зашла о дампах памяти. Имя того служащего — Николай. В той беседе решено было вечерком встретиться у Игоря дома и обсудить форензику. Главная тема их беседы - The Volatility Framework. Николай и Игорь договорились о плане для их беседы:
  • Изучаем дамп памяти Windows
  • Переходим к Linux
  • Немножко сетевой форензики
Загрузили они один из дампов памяти. Конкретно Jackcr-dfir-challenge для windows и начали осмотр используя справку по volatility (-h).

Некоторые опции не получилось использовать, так как дамп памяти самой новой системы был сделан с Windows 2003.

Небольшое отступление от статьи​

Скриншотов для этой статьи было сделано больше чем максимум, но здесь их не будет :(
Максимум скриншотов на codeby - 45. Оставлю все на Google диске.

Windows​

Всё начинается с опции imageinfo, при изучении дампов памяти с volatility. Для указания файла -f.

Код:
volatility -f memdump. bin imageinfo
-f указывает файл дампа. В челлендже сей файл - memdump. bin.

imageinfo.png


Анализируем.
По строкам Suggested Profile(s) : Win2003SP0x86, мы понимаем наиболее возможный вариант установленной системы - это Windows 2003 SP0 на 32 битной архитектуре (x86). Остальные варианты идут по убыванию.

Копируем этот профиль и используем для дальнейших команд.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 amcache
Amcache.hve это файл реестра, который хранит информацию о запускаемых приложениях в системе. Появился начиная с windows 8. Больше информации. Соответсвенно, опция работае начиная с 8 windows.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 apihooks
apihooks - используется для обнаружение API в модулях ядра. Обычно используют для обнаружения и изучения малварей и т.п. Больше инфомации.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 atoms
Atom таблица - это определяемая системой таблица, в которой хранятся строки из процессов и соответствующие идентификаторы этих строк. Больше информации.
Параметр atoms - Печать сессий и windows станций атомных таблиц.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 atomscan
atomscan - Ещё одно сканирование для атомных таблиц.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 auditpol
auditpol - Показать политики аудита из HKLM\SECURITY\Policy\PolAdtEv
Команда AUDUTPOL используется для управления политиками аудита в операционных системах Windows 7 и старше. Больше информации.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 bigpools
bigpools - Вывод poll больших страниц с помощью BigPagePoolScanner.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 bioskbd
bioskbd - Считывает буфер обмена клавиатуры из памяти реального режима.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 cachedump
cachedump - Дампы хэшей кэшированных доменов из памяти.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 callbacks
callbacks - Печать общесистемных процедур уведомления.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 clipboard
clipboard - Извлечение содержимого буфера обмена windows.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 cmdline
cmdline - Отображение аргументов командной строки процесса.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 cmdscan
cmdscan - Извлекает историю команд, сканируя ее на наличие _COMMAND_HISTORY.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 connections
connections - Печать списка открытых интернет подключений [только для Windows XP и 2003].

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 connscan
connscan - Полное сканирование для tcp соединений.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 consoles
consoles - Извлекает историю команд путем сканирования CONSOLE_INFORMATION.

Код:
volatility -f memdump.bin --profile=Win2003SP0x866 crashinfo
crashinfo - Дамп информации о крашах системы.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 deskscan
deskscan - Сканирование рабочего стола.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 devicetree
devicetree - Показывает подключенные девайсы в виде дерева.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 dlldump -D dumps/
dlldump - Дамп библиотек DLL из адресного пространства процесса в указанную пользователем директорию.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 dlllist
dlllist - Распечатать список загруженных библиотек DLL для каждого процесса.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 driverirp
driverirp - Драйвер обнаружения irp hook'ов.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 drivermodule
drivermodule - Связывает объекты драйверов с модулями ядра.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 driverscan
driverscan - Сканирование для объектов драйвера.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 dumpcerts -D dumps/
dumpcerts - Дамп закрытых и открытых ключей SSL, RSA в указанную пользователем директорию.
-D путь сохранения.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 dumpfiles -D dumps/
dumpfiles - Извлекаем файлы из кэша дампа памяти в указанную пользователем директорию.
-D путь сохранения.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 dumpregistry -D dumps/
dumpregistry - Извлекаем файлы регистров в указанную пользователем директорию.
-D путь сохранения.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 editbox
editbox -это плагин для фреймворка Volatility Framework. Он извлекает текст из элементов управления Windows Edit, то есть текстовых полей, созданных общими элементами управления Windows. Больше информации.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 envars
envars - Отображение переменных среды процессов.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 eventhooks
eventhooks - Печать сведений о событиях windows.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 evtlogs
evtlogs - Извлечение журналов событий Windows (только XP / 2003).

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 filescan
filescan - Сканирование файловой системы.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 gahti -D dumps/
gahti - Дамп информации дескрипторов о юзере.
-D путь сохранения.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 gditimers
gditimers - Печать установленных таймеров GDI и обратных вызовов.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 gdt
gdt -Отображение Глобальной Таблицы Дескрипторов.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 getservicesids
getservicesids -Получить имена служб в реестре и верните вычисленный SID.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 getsids
getsids -Распечатать SID'ы владеющие каждым процессом.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 handles
handles - Распечатайте список открытых дескрипторов для каждого процесса.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hashdump
hashdump - Распечатать хэши паролей (LM/NTLM) из памяти.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hibinfo
hibinfo - Дамп информации о файле гибернации.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hivedump
hivedump - Распечатать windows hive.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hivelist
hivelist - Печать адресов реестра. Больше информации.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hivescan
hivescan - Сканирование регистров.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hpakextract
hpakextract - Извлечение физической памяти из файла HPAK.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 idt
idt - Отображение Таблицы Дескрипторов Прерываний.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 iehistory
iehistory - Восстановление кэша / истории Internet Explorer.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 imagecopy
imagecopy - Копирует физическое адресное пространство в виде необработанного изображения DD.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 impscan
impscan - Сканирование вызовов импортированных функций.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 joblinks
joblinks - Печать информации о ссылке на задание.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 kdbgscan
kdbgscan - Поиск и дамп потенциальных значений KDBG. Используется для более детального определения системы и правильного адреса KDBG в отличии от imageinfo.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 kpcrscan
kpcrscan - Поиск и дамп потенциальных значений KPCR.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 ldrmodules
ldrmodules - Обнаруживать несвязанные библиотеки DLL.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 lsadump
lsadump - Дамп (расшифрованных) секретов LSA из реестра.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 machoinfo
machoinfo - Дамп информации о формате файла Mach-O.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 malfind
malfind - Найти скрытый и код с инъекцией.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 mbrparser
mbrparser - Сканирует и анализирует потенциал основной загрузочной записи (MBR's).

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 memdump -D dumps/
memdump -Дамп адресуемой памяти для процесса.
-D путь сохранения.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 memmap
memmap - Печать карты памяти.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 messagehooks
messagehooks - Список сообщений рабочего стола и окна потока.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 mftparser
mftparser - Сканирует и анализирует потенциальные записи MFT.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 moddump -D dumps/
moddump - Дамп драйвера ядра в исполняемый файл.
-D путь сохранения.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 modscan
modscan - Сканирование модулей ядра.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 modules
modules -Печать списка загруженных модулей.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 multiscan
multiscan -Сканирование на наличие различных объектов одновременно.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 mutantscan
mutantscan - Сканер для объектов мьютекса.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 notepad
notepad - Список отображаемого в данный момент текста блокнота.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 objtypescan
objtypescan - Сканирование для объектов windows.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 moddump
patcher - Исправляет память на основе сканированых страниц (XML файлы).

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 poolpeek --tag ТЕГ
poolpeek - Настраиваемый сканера плагинов.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 printkey
printkey - Печать раздела реестра, его подразделов и значений.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 privs
privs - Отображение привилегий процесса.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 procdump -D dumps/
procdump - Дамп процессов в исполняемый файл.
-D путь сохранения.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 pslist
pslist - Распечатайте все запущенные процессы, следуя спискам EPROCESS.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 psscan
psscan - Сканер для технологических объектов.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 pstree
pstree - Печать списка процессов в виде дерева.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 psxview
psxview - Находите скрытые процессы с помощью различных списков процессов.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 qemuinfo
qemuinfo - Дамп информации Qemu.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 raw2dmp -O Файл
raw2dmp - Преобразует образец физической памяти в аварийный дамп windbg.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 screenshot -D dumps/
screenshot - Сохраните псевдо-скриншот на основе GDI windows.
-D путь сохранения.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 shellbags
shellbags - Печатает информацию о ShellBags.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 shimcache
shimcache - Анализирует раздел реестра Shim кэша совместимости приложений.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 shutdowntime
shutdowntime - Печать времени отключения машины из реестра.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 sockets
sockets - Печать списка открытых сокетов.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 sockscan
sockscan - Сканер для объектов tcp сокетов.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 ssdt
ssdt - Показать записи SSDT.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 strings
strings - Сопоставление физических смещений с виртуальными адресами (может занять некоторое время, очень многословно).

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 svcscan
svcscan - Поиск служб Windows.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 symlinkscan
symlinkscan - Сканер для объектов символических ссылок.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 thrdscan
thrdscan - Создает временную шкалу из различных артефактов в памяти.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 threads
threads - Изучить _ETHREAD и _KTHREADs.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 timeliner
timeliner - Сканер для объектов символических ссылок.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 timers
timers - Печать таймеров ядра и связанных с ними модулей DPC.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 truecryptmaster
truecryptmaster -Восстановление Мастер ключей TrueCrypt 7.1 a.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 truecryptpassphrase
truecryptpassphrase - Восстановление TrueCryp пароль-фразы из кэша.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 truecryptsummary
truecryptsummary - Восстановление сводки TrueCrypt.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 unloadedmodules
unloadedmodules - Печать списка выгруженных модулей.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 userassist
userassist - Печать ключей реестра userassist и информации о них.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 userhandles
userhandles - Дамп таблиц пользовательских дескрипторов.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vaddump
vaddump - Дамп разделов vad в файл.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vadinfo
vadinfo - Дамп информации о vad.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vadtree
vadtree -Пройти по дереву VAD и отобразить его в формате дерева.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vadwalk
vadwalk -Прогулка по дереву VAD.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vboxinfo
vboxinfo -Дамп информации о Virtualbox.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 verinfo
verinfo -Распечатывает информацию о версии из изображений PE.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vmwareinfo
vmwareinfo - Дамп информации о VMware VMSS / VMSN.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 volshell
volshell - Оболочка в образе памяти. hh() - для вызова справки.
hh() - для вызова справки.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 windows
windows - Печать рабочего стола Windows (подробные сведения).

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 wintree
wintree - Распечатать дерево Windows рабочего стола Z-порядка.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 wndscan
wndscan - Сканер для windows станций.

Код:
volatility -f memdump.bin --profile=Win2003SP0x86 yarascan -y файл с сигнатурами
yarascan - Процесс сканирования или память ядра с сигнатурами Yara.

Закончив с windows, Игорь и Николай перешли к разбору linux.


Анализируем пингвинью систему​

На странице с дампами volatility наши герои не нашли дампа Linux : ( Пришлось разыскивать в прочих местах. Решили взять с HackTheBox. Челлендж Forget me not.
Другой вариант — взять профиль для volatility с github и сделать дамп памяти самостоятельно.

В архиве HTB наши герои увидели файлы module.dwarf и System.map-5.0.0-32-generic. Их необходимо было упаковать в zip архив. Этот zip архив переместить в папку с volatility. volatility/volatility/plugins/overlays/linux.
Дамп памяти назывался deep_memory. Начался анализ "пингвина".

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_apihooks
linux_apihooks - Проверяет наличие пользовательских apihooks.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_arp
linux_arp - Распечатать таблицу ARP.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_aslr_shift
linux_aslr_shift - Автоматическое определение сдвига Linux ASLR.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_banner
linux_banner - Печать информации о баннере Linux.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_bash
linux_bash - Восстановить историю bash из памяти процесса.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_bash_hash
linux_bash_hash - Восстановление хэш-таблицы bash из памяти процесса.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_afinfo
linux_check_afinfo - Проверяет работу указателей функций сетевых протоколов.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_creds
linux_check_creds - Проверяет, не используют ли какие-либо процессы общие структуры учетных данных.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_evt_arm
linux_check_evt_arm - Проверяет таблицу векторов исключений на предмет перехвата таблицы системных вызовов.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_fop
linux_check_fop - Проверить структуру файловых операций на наличие модификаций руткитов.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_idt
linux_check_idt - Проверяет, был ли изменен IDT.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_inline_kernel
linux_check_inline_kernel - Проверьте наличие встроенных hook'ов ядра.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_modules
linux_check_modules - Сравнивает список модулей с информацией sysfs, если таковая имеется.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_syscall
linux_check_syscall - Проверяет, была ли изменена таблица системных вызовов.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_syscall_arm
linux_check_syscall_arm - Проверяет, была ли изменена таблица системных вызовов для arm.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_tty
linux_check_tty - Проверяет tty-устройства на "крючки".

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_cpuinfo
linux_cpuinfo - Выводит информацию о каждом активном процессоре.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_dentry_cache
linux_dentry_cache - Собрать файлы из кэша дерева .

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_dmesg
linux_dmesg - Распечатать буфер dmesg.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_dump_map -D dumps/
linux_dump_map - Записывает выбранные сопоставления памяти на диск.
-D папка для сохранения сопоставлений.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_dynamic_env
linux_dynamic_env - Восстановление динамических переменных окружения процесса.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_elfs
linux_elfs - Найти двоичные файлы ELF в отображениях процессов.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_enumerate_files
linux_enumerate_files - Перечисляет файлы, на которые ссылается кеш файловой системы.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_find_file -i адрес файла -O dumps/
linux_find_file - Перечисляет и восстанавливает файлы из памяти.
-i адрес файла.
-O путь, куда сохранить файл.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_getcwd
linux_getcwd - Перечисляет текущий рабочий каталог каждого процесса.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_hidden_modules
linux_hidden_modules - Вырезает память для поиска скрытых модулей ядра.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_ifconfig
linux_ifconfig - Отобразить активные интерфейсы.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_info_regs
linux_info_regs - Это похоже на «регистры информации» в GDB. Он распечатывает все.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_iomem
linux_iomem - Обеспечивает вывод, аналогичный / proc / iomem.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_kernel_opened_files
linux_kernel_opened_files - Перечисляет файлы, которые открываются из ядра.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_keyboard_notifiers
linux_keyboard_notifiers - Анализирует цепочку вызовов уведомителя клавиатуры.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_ldrmodules
linux_ldrmodules - Сравнивает вывод карт proc со списком библиотек из libdl.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_library_list
linux_library_list - Список библиотек, загруженных в процесс.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_librarydump -D dumps/
linux_librarydump - Сбрасывает разделяемые библиотеки из памяти процесса на диск.
-D - путь для сохранения.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_list_raw
linux_list_raw - Список приложений с беспорядочными сокетами.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_lsmod
linux_lsmod - Соберать загруженные модули ядра.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_lsof
linux_lsof - Перечисляет файловые дескрипторы и пути к ним.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_malfind
linux_malfind - Ищет подозрительные сопоставления процессов.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_memmap
linux_memmap - Дамп карты памяти для задач linux.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_moddump -D dumps/
linux_moddump - Извлечь загруженные модули ядра.
-D - путь для сохранения.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_mount
linux_mount - Найти смонтированные девайсы.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_mount_cache
linux_mount_cache - Найти смонтированные девайсы из kmem_cache.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_netfilter
linux_netfilter - Списки hook'ов Netfilter.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_netscan
linux_netscan - Отображает сетевые подключения.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_netstat
linux_netstat- Перечисляет открытые сокеты.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_pidhashtable
linux_pidhashtable - Перечисляет процессы через хеш-таблицу PID.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_pkt_queues -D dumps/
linux_pkt_queues - Записывает очереди пакетов для каждого процесса на диск.
-D - путь для сохранения.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_plthook
linux_plthook - Сканирование PLT двоичных файлов ELF для перехвата ненужных изображений.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_proc_maps
linux_proc_maps - Сбрасывает исполняемый образ процесса на диск.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_proc_maps_rb
linux_proc_maps_rb - Собирает карты процессов для linux через красно-черное дерево сопоставлений.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_procdump -D dumps/
linux_procdump - Сбрасывает исполняемый образ процесса на диск.
-D - путь для сохранения.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_process_hollow
linux_process_hollow - Проверяет наличие признаков технологической выемки.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_psaux
linux_psaux - Печатает процессы вместе с полной командной строкой и временем запуска.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_psenv
linux_psenv - Печатает процессы вместе с их статическими переменными среды.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_pslist
linux_pslist - Соберите активные задачи, пройдя по списку задач task_struct.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_proc_maps_rb
linux_pslist_cache - Собираем задачи из kmem_cache.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_psscan
linux_psscan - Сканировать физическую память на наличие процессов.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_pstree
linux_pstree - Показывает отношения родитель / потомок между процессами.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_psxview
linux_psxview - Найдите скрытые процессы с различными списками процессов.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_recover_filesystem -D dumps/
linux_recover_filesystem - Восстанавливает всю кешированную файловую систему из памяти.
-D - путь для сохранения.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_route_cache
linux_route_cache - Восстанавливает кеш маршрутизации из памяти.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_sk_buff_cache -D dumps/
linux_sk_buff_cache - Восстанавливает пакеты из sk_buff kmem_cache.
-D - путь для сохранения.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_slabinfo
linux_slabinfo - Имитирует / proc / slabinfo на работающей машине.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_strings аргументы
linux_strings - Сопоставление физических смещений с виртуальными адресами (может занять некоторое время, ОЧЕНЬ многословно).

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_threads
linux_threads - Печатает потоки процессов.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_tmpfs -D dumps/
linux_tmpfs - Восстанавливает файловые системы tmpfs из памяти.
-D - путь для сохранения.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_truecrypt_passphrase
linux_truecrypt_passphrase - Восстанавливает кешированные парольные фразы Truecrypt.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_vma_cache
linux_vma_cache - Соберает VMA из кеша vm_area_struct.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_volshell
linux_volshell - Оболочка в образе памяти.
hh() - для вызова справки.

Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_yarascan -Y rules.xml
linux_yarascan - Yara оболочка в образе памяти Linux.
-Y - файл с правилави yara.

После изучения этих опций, Николай показал Игорю cheatsheet для начинающих про volatility. Перечитав этот cheatsheet, Игорь понял, какие самые используемые опции в volatility framework.

Немного про Mac OS​

Проплыв по волнам интернета огромное количество мбайт, наши герои не сыскали дампа памяти Mac OS. Решили не трогать эту операционную систему, кое-какие функции, как например yarascan есть для mac, linux и windows. Николай объяснил Игорю, что на github volatility в разделе profile имеются профили Mac OS. Можно скачать любой и установить профиль также, как ты делал это в случае с linux.


Немножко сетевой форензики​

Заключительное упражнение, которое выдумал Николай - это исследовать сетевой трафик из pcap файла. Челлендж MarketDump из HackTheBox. В архиве лежит pcap файл с сетевым трафиком. История задачи - Нам сообщили, что хакеру удалось проникнуть в нашу внутреннюю сеть после прохождения через веб-платформу, которая работает в общедоступном Интернете. Ему удалось обойти нашу платформу регистрации небольших товарных запасов, а затем он получил наш файл базы данных клиентов. Мы полагаем, что только один из наших клиентов стал жертвой. Вы можете узнать, кто был покупателем?

Анализируя трафик​

Вначале идёт трафик похожий на сканирование nmap (SYN ACK, ACK и т. д. ).

wireshark_1.png


Далее следует http трафик.

wireshark_2.png


Отфильтрует форензик трафик по http, так как по заданию хакер просочился в сеть через веб-платформу.

wireshark_http.png


Что-то связанное с sql. Игорь решил уточнить что было в tcp разговоре. Правая кнопка мыши => Follow => TCP Stream или CTRL + ALT + SHIFT + T.

wireshark_tcp_stream.png


В ответе сервера видны номера американских банковских карт. Просмотрев сей список, Игорь увидал что-то странное.

wireshark_tcp_stream_flag.png


Похоже, тут что-то закодированное. CyberChef и функция magic в помощь!

cyber_chef.png


Вот и флаг : )

Вечер мало-помалу переходил в ночь. Николаю необходимо направляться домой. Игорь в плане сна не исключение. Вот только сегодня бессоница не истязала его.
Полезно · 19

Комментарии

6
Мне очень нравится то как и о чем ты пишешь. Продалжай в том же духе, твои статьи всегда радуют. :)
 
  • Нравится
Реакции: dieZel, euteracot, stephanie887 и ещё 1 человек
4
Мне очень нравится то как и о чем ты пишешь. Продалжай в том же духе, твои статьи всегда радуют. :)
Спасибо за отзыв :)
Приятно знать, когда людям нравится то, что я делаю.

В этой статье получилось больше перевода функций этого framework'a, чем форензики. Дампа памяти mac os не нашёл, поэтому про функции для работы с этой os не писал.
В следующей нужно будет поинтереснее сделать.
 
  • Нравится
Реакции: euteracot и stephanie887
2
Спасибо за труд. И всё-таки Volatility это очень мощный инструмент, несмотря на всю его простоту... Мне интересно, вы когда нибудь работали с инструментом Rekall ?!

ИМХО: Каждый уважающий себя ИБшник должен уметь работать с дампами оперативной памяти.
 
Последнее редактирование:
  • Нравится
Реакции: TRY HACK и ROP
2
Спасибо за труд. И всё-таки Volatility это очень мощный инструмент, несмотря на всю его простоту... Мне интересно, вы когда нибудь работали с инструментом Rekall ?!

ИМХО: Каждый уважающий себя ИБшник должен уметь работать с дампами оперативной памяти.
С Rekall ещё не приходилось работать. Это нужно исправить.
Спасибо вам за новый инструмент для изучения.
 
  • Нравится
Реакции: TRY HACK
1
Лучшая статья по volatility!
Спасибо)
 
Спасибо за информацию! Очень познавательно