• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

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

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

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

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 - Распечатать .

Код:
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 : ( Пришлось разыскивать в прочих местах. Решили взять с . Челлендж 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.

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

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

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


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

Заключительное упражнение, которое выдумал Николай - это исследовать сетевой трафик из pcap файла. Челлендж MarketDump из . В архиве лежит 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


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

cyber_chef.png


Вот и флаг : )

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

Mogen

Red Team
27.08.2019
314
610
BIT
5
Мне очень нравится то как и о чем ты пишешь. Продалжай в том же духе, твои статьи всегда радуют. :)
Спасибо за отзыв :)
Приятно знать, когда людям нравится то, что я делаю.

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

stephanie887

Red Team
20.07.2019
127
169
BIT
0
Спасибо за труд. И всё-таки Volatility это очень мощный инструмент, несмотря на всю его простоту... Мне интересно, вы когда нибудь работали с инструментом Rekall ?!

ИМХО: Каждый уважающий себя ИБшник должен уметь работать с дампами оперативной памяти.
 
Последнее редактирование:
  • Нравится
Реакции: TRY HACK и Mogen

Mogen

Red Team
27.08.2019
314
610
BIT
5
Спасибо за труд. И всё-таки Volatility это очень мощный инструмент, несмотря на всю его простоту... Мне интересно, вы когда нибудь работали с инструментом Rekall ?!

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!