Утро. Звенит будильник. Некоторые делают зарядку, завтракают, одеваются и идут на работу. После работы идут домой. День Игоря прошёл также. За исключением одного, во время беседы с неестественным в той компании коллегой, речь зашла о дампах памяти. Имя того служащего — Николай. В той беседе решено было вечерком встретиться у Игоря дома и обсудить форензику. Главная тема их беседы - The Volatility Framework. Николай и Игорь договорились о плане для их беседы:
Некоторые опции не получилось использовать, так как дамп памяти самой новой системы был сделан с Windows 2003.
Скриншотов для этой статьи было сделано больше чем максимум, но здесь их не будет
Максимум скриншотов на codeby - 45. Оставлю все на
Всё начинается с опции imageinfo, при изучении дампов памяти с volatility. Для указания файла -f.
-f указывает файл дампа. В челлендже сей файл - memdump. bin.
Анализируем.
По строкам Suggested Profile(s) : Win2003SP0x86, мы понимаем наиболее возможный вариант установленной системы - это Windows 2003 SP0 на 32 битной архитектуре (x86). Остальные варианты идут по убыванию.
Копируем этот профиль и используем для дальнейших команд.
Amcache.hve это файл реестра, который хранит информацию о запускаемых приложениях в системе. Появился начиная с windows 8.
apihooks - используется для обнаружение API в модулях ядра. Обычно используют для обнаружения и изучения малварей и т.п.
Atom таблица - это определяемая системой таблица, в которой хранятся строки из процессов и соответствующие идентификаторы этих строк.
Параметр atoms - Печать сессий и windows станций атомных таблиц.
atomscan - Ещё одно сканирование для атомных таблиц.
auditpol - Показать политики аудита из HKLM\SECURITY\Policy\PolAdtEv
Команда AUDUTPOL используется для управления политиками аудита в операционных системах Windows 7 и старше.
bigpools - Вывод poll больших страниц с помощью BigPagePoolScanner.
bioskbd - Считывает буфер обмена клавиатуры из памяти реального режима.
cachedump - Дампы хэшей кэшированных доменов из памяти.
callbacks - Печать общесистемных процедур уведомления.
clipboard - Извлечение содержимого буфера обмена windows.
cmdline - Отображение аргументов командной строки процесса.
cmdscan - Извлекает историю команд, сканируя ее на наличие _COMMAND_HISTORY.
connections - Печать списка открытых интернет подключений [только для Windows XP и 2003].
connscan - Полное сканирование для tcp соединений.
consoles - Извлекает историю команд путем сканирования CONSOLE_INFORMATION.
crashinfo - Дамп информации о крашах системы.
deskscan - Сканирование рабочего стола.
devicetree - Показывает подключенные девайсы в виде дерева.
dlldump - Дамп библиотек DLL из адресного пространства процесса в указанную пользователем директорию.
dlllist - Распечатать список загруженных библиотек DLL для каждого процесса.
driverirp - Драйвер обнаружения irp hook'ов.
drivermodule - Связывает объекты драйверов с модулями ядра.
driverscan - Сканирование для объектов драйвера.
dumpcerts - Дамп закрытых и открытых ключей SSL, RSA в указанную пользователем директорию.
-D путь сохранения.
dumpfiles - Извлекаем файлы из кэша дампа памяти в указанную пользователем директорию.
-D путь сохранения.
dumpregistry - Извлекаем файлы регистров в указанную пользователем директорию.
-D путь сохранения.
editbox -это плагин для фреймворка Volatility Framework. Он извлекает текст из элементов управления Windows Edit, то есть текстовых полей, созданных общими элементами управления Windows. Больше информации.
envars - Отображение переменных среды процессов.
eventhooks - Печать сведений о событиях windows.
evtlogs - Извлечение журналов событий Windows (только XP / 2003).
filescan - Сканирование файловой системы.
gahti - Дамп информации дескрипторов о юзере.
-D путь сохранения.
gditimers - Печать установленных таймеров GDI и обратных вызовов.
gdt -Отображение Глобальной Таблицы Дескрипторов.
getservicesids -Получить имена служб в реестре и верните вычисленный SID.
getsids -Распечатать SID'ы владеющие каждым процессом.
handles - Распечатайте список открытых дескрипторов для каждого процесса.
hashdump - Распечатать хэши паролей (LM/NTLM) из памяти.
hibinfo - Дамп информации о файле гибернации.
hivedump - Распечатать
hivelist - Печать адресов реестра.
hivescan - Сканирование регистров.
hpakextract - Извлечение физической памяти из файла HPAK.
idt - Отображение Таблицы Дескрипторов Прерываний.
iehistory - Восстановление кэша / истории Internet Explorer.
imagecopy - Копирует физическое адресное пространство в виде необработанного изображения DD.
impscan - Сканирование вызовов импортированных функций.
joblinks - Печать информации о ссылке на задание.
kdbgscan - Поиск и дамп потенциальных значений KDBG. Используется для более детального определения системы и правильного адреса KDBG в отличии от imageinfo.
kpcrscan - Поиск и дамп потенциальных значений KPCR.
ldrmodules - Обнаруживать несвязанные библиотеки DLL.
lsadump - Дамп (расшифрованных) секретов LSA из реестра.
machoinfo - Дамп информации о формате файла Mach-O.
malfind - Найти скрытый и код с инъекцией.
mbrparser - Сканирует и анализирует потенциал основной загрузочной записи (MBR's).
memdump -Дамп адресуемой памяти для процесса.
-D путь сохранения.
memmap - Печать карты памяти.
messagehooks - Список сообщений рабочего стола и окна потока.
mftparser - Сканирует и анализирует потенциальные записи MFT.
moddump - Дамп драйвера ядра в исполняемый файл.
-D путь сохранения.
modscan - Сканирование модулей ядра.
modules -Печать списка загруженных модулей.
multiscan -Сканирование на наличие различных объектов одновременно.
mutantscan - Сканер для объектов мьютекса.
notepad - Список отображаемого в данный момент текста блокнота.
objtypescan - Сканирование для объектов windows.
patcher - Исправляет память на основе сканированых страниц (XML файлы).
poolpeek - Настраиваемый сканера плагинов.
printkey - Печать раздела реестра, его подразделов и значений.
privs - Отображение привилегий процесса.
procdump - Дамп процессов в исполняемый файл.
-D путь сохранения.
pslist - Распечатайте все запущенные процессы, следуя спискам EPROCESS.
psscan - Сканер для технологических объектов.
pstree - Печать списка процессов в виде дерева.
psxview - Находите скрытые процессы с помощью различных списков процессов.
qemuinfo - Дамп информации Qemu.
raw2dmp - Преобразует образец физической памяти в аварийный дамп windbg.
screenshot - Сохраните псевдо-скриншот на основе GDI windows.
-D путь сохранения.
shellbags - Печатает информацию о ShellBags.
shimcache - Анализирует раздел реестра Shim кэша совместимости приложений.
shutdowntime - Печать времени отключения машины из реестра.
sockets - Печать списка открытых сокетов.
sockscan - Сканер для объектов tcp сокетов.
ssdt - Показать записи SSDT.
strings - Сопоставление физических смещений с виртуальными адресами (может занять некоторое время, очень многословно).
svcscan - Поиск служб Windows.
symlinkscan - Сканер для объектов символических ссылок.
thrdscan - Создает временную шкалу из различных артефактов в памяти.
threads - Изучить _ETHREAD и _KTHREADs.
timeliner - Сканер для объектов символических ссылок.
timers - Печать таймеров ядра и связанных с ними модулей DPC.
truecryptmaster -Восстановление Мастер ключей TrueCrypt 7.1 a.
truecryptpassphrase - Восстановление TrueCryp пароль-фразы из кэша.
truecryptsummary - Восстановление сводки TrueCrypt.
unloadedmodules - Печать списка выгруженных модулей.
userassist - Печать ключей реестра userassist и информации о них.
userhandles - Дамп таблиц пользовательских дескрипторов.
vaddump - Дамп разделов vad в файл.
vadinfo - Дамп информации о vad.
vadtree -Пройти по дереву VAD и отобразить его в формате дерева.
vadwalk -Прогулка по дереву VAD.
vboxinfo -Дамп информации о Virtualbox.
verinfo -Распечатывает информацию о версии из изображений PE.
vmwareinfo - Дамп информации о VMware VMSS / VMSN.
volshell - Оболочка в образе памяти. hh() - для вызова справки.
hh() - для вызова справки.
windows - Печать рабочего стола Windows (подробные сведения).
wintree - Распечатать дерево Windows рабочего стола Z-порядка.
wndscan - Сканер для windows станций.
yarascan - Процесс сканирования или память ядра с сигнатурами Yara.
Закончив с windows, Игорь и Николай перешли к разбору linux.
На странице с дампами volatility наши герои не нашли дампа Linux : ( Пришлось разыскивать в прочих местах. Решили взять с
Другой вариант — взять профиль для volatility с github и сделать дамп памяти самостоятельно.
В архиве HTB наши герои увидели файлы module.dwarf и System.map-5.0.0-32-generic. Их необходимо было упаковать в zip архив. Этот zip архив переместить в папку с volatility. volatility/volatility/plugins/overlays/linux.
Дамп памяти назывался deep_memory. Начался анализ "пингвина".
linux_apihooks - Проверяет наличие пользовательских apihooks.
linux_arp - Распечатать таблицу ARP.
linux_aslr_shift - Автоматическое определение сдвига Linux ASLR.
linux_banner - Печать информации о баннере Linux.
linux_bash - Восстановить историю bash из памяти процесса.
linux_bash_hash - Восстановление хэш-таблицы bash из памяти процесса.
linux_check_afinfo - Проверяет работу указателей функций сетевых протоколов.
linux_check_creds - Проверяет, не используют ли какие-либо процессы общие структуры учетных данных.
linux_check_evt_arm - Проверяет таблицу векторов исключений на предмет перехвата таблицы системных вызовов.
linux_check_fop - Проверить структуру файловых операций на наличие модификаций руткитов.
linux_check_idt - Проверяет, был ли изменен IDT.
linux_check_inline_kernel - Проверьте наличие встроенных hook'ов ядра.
linux_check_modules - Сравнивает список модулей с информацией sysfs, если таковая имеется.
linux_check_syscall - Проверяет, была ли изменена таблица системных вызовов.
linux_check_syscall_arm - Проверяет, была ли изменена таблица системных вызовов для arm.
linux_check_tty - Проверяет tty-устройства на "крючки".
linux_cpuinfo - Выводит информацию о каждом активном процессоре.
linux_dentry_cache - Собрать файлы из кэша дерева .
linux_dmesg - Распечатать буфер dmesg.
linux_dump_map - Записывает выбранные сопоставления памяти на диск.
-D папка для сохранения сопоставлений.
linux_dynamic_env - Восстановление динамических переменных окружения процесса.
linux_elfs - Найти двоичные файлы ELF в отображениях процессов.
linux_enumerate_files - Перечисляет файлы, на которые ссылается кеш файловой системы.
linux_find_file - Перечисляет и восстанавливает файлы из памяти.
-i адрес файла.
-O путь, куда сохранить файл.
linux_getcwd - Перечисляет текущий рабочий каталог каждого процесса.
linux_hidden_modules - Вырезает память для поиска скрытых модулей ядра.
linux_ifconfig - Отобразить активные интерфейсы.
linux_info_regs - Это похоже на «регистры информации» в GDB. Он распечатывает все.
linux_iomem - Обеспечивает вывод, аналогичный / proc / iomem.
linux_kernel_opened_files - Перечисляет файлы, которые открываются из ядра.
linux_keyboard_notifiers - Анализирует цепочку вызовов уведомителя клавиатуры.
linux_ldrmodules - Сравнивает вывод карт proc со списком библиотек из libdl.
linux_library_list - Список библиотек, загруженных в процесс.
linux_librarydump - Сбрасывает разделяемые библиотеки из памяти процесса на диск.
-D - путь для сохранения.
linux_list_raw - Список приложений с беспорядочными сокетами.
linux_lsmod - Соберать загруженные модули ядра.
linux_lsof - Перечисляет файловые дескрипторы и пути к ним.
linux_malfind - Ищет подозрительные сопоставления процессов.
linux_memmap - Дамп карты памяти для задач linux.
linux_moddump - Извлечь загруженные модули ядра.
-D - путь для сохранения.
linux_mount - Найти смонтированные девайсы.
linux_mount_cache - Найти смонтированные девайсы из kmem_cache.
linux_netfilter - Списки hook'ов Netfilter.
linux_netscan - Отображает сетевые подключения.
linux_netstat- Перечисляет открытые сокеты.
linux_pidhashtable - Перечисляет процессы через хеш-таблицу PID.
linux_pkt_queues - Записывает очереди пакетов для каждого процесса на диск.
-D - путь для сохранения.
linux_plthook - Сканирование PLT двоичных файлов ELF для перехвата ненужных изображений.
linux_proc_maps - Сбрасывает исполняемый образ процесса на диск.
linux_proc_maps_rb - Собирает карты процессов для linux через красно-черное дерево сопоставлений.
linux_procdump - Сбрасывает исполняемый образ процесса на диск.
-D - путь для сохранения.
linux_process_hollow - Проверяет наличие признаков технологической выемки.
linux_psaux - Печатает процессы вместе с полной командной строкой и временем запуска.
linux_psenv - Печатает процессы вместе с их статическими переменными среды.
linux_pslist - Соберите активные задачи, пройдя по списку задач task_struct.
linux_pslist_cache - Собираем задачи из kmem_cache.
linux_psscan - Сканировать физическую память на наличие процессов.
linux_pstree - Показывает отношения родитель / потомок между процессами.
linux_psxview - Найдите скрытые процессы с различными списками процессов.
linux_recover_filesystem - Восстанавливает всю кешированную файловую систему из памяти.
-D - путь для сохранения.
linux_route_cache - Восстанавливает кеш маршрутизации из памяти.
linux_sk_buff_cache - Восстанавливает пакеты из sk_buff kmem_cache.
-D - путь для сохранения.
linux_slabinfo - Имитирует / proc / slabinfo на работающей машине.
linux_strings - Сопоставление физических смещений с виртуальными адресами (может занять некоторое время, ОЧЕНЬ многословно).
linux_threads - Печатает потоки процессов.
linux_tmpfs - Восстанавливает файловые системы tmpfs из памяти.
-D - путь для сохранения.
linux_truecrypt_passphrase - Восстанавливает кешированные парольные фразы Truecrypt.
linux_vma_cache - Соберает VMA из кеша vm_area_struct.
linux_volshell - Оболочка в образе памяти.
hh() - для вызова справки.
linux_yarascan - Yara оболочка в образе памяти Linux.
-Y - файл с правилави yara.
После изучения этих опций, Николай показал Игорю
Проплыв по волнам интернета огромное количество мбайт, наши герои не сыскали дампа памяти Mac OS. Решили не трогать эту операционную систему, кое-какие функции, как например yarascan есть для mac, linux и windows. Николай объяснил Игорю, что на github volatility в разделе profile имеются профили Mac OS. Можно скачать любой и установить профиль также, как ты делал это в случае с linux.
Заключительное упражнение, которое выдумал Николай - это исследовать сетевой трафик из pcap файла. Челлендж MarketDump из
Вначале идёт трафик похожий на сканирование nmap (SYN ACK, ACK и т. д. ).
Далее следует http трафик.
Отфильтрует форензик трафик по http, так как по заданию хакер просочился в сеть через веб-платформу.
Что-то связанное с sql. Игорь решил уточнить что было в tcp разговоре. Правая кнопка мыши => Follow => TCP Stream или CTRL + ALT + SHIFT + T.
В ответе сервера видны номера американских банковских карт. Просмотрев сей список, Игорь увидал что-то странное.
Похоже, тут что-то закодированное.
Вот и флаг : )
Вечер мало-помалу переходил в ночь. Николаю необходимо направляться домой. Игорь в плане сна не исключение. Вот только сегодня бессоница не истязала его.
- Изучаем дамп памяти Windows
- Переходим к Linux
- Немножко сетевой форензики
Некоторые опции не получилось использовать, так как дамп памяти самой новой системы был сделан с Windows 2003.
Небольшое отступление от статьи
Скриншотов для этой статьи было сделано больше чем максимум, но здесь их не будет
Максимум скриншотов на codeby - 45. Оставлю все на
Ссылка скрыта от гостей
.Windows
Всё начинается с опции imageinfo, при изучении дампов памяти с volatility. Для указания файла -f.
Код:
volatility -f memdump. bin imageinfo
Анализируем.
По строкам Suggested Profile(s) : Win2003SP0x86, мы понимаем наиболее возможный вариант установленной системы - это Windows 2003 SP0 на 32 битной архитектуре (x86). Остальные варианты идут по убыванию.
Копируем этот профиль и используем для дальнейших команд.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 amcache
Ссылка скрыта от гостей
. Соответсвенно, опция работае начиная с 8 windows.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 apihooks
Ссылка скрыта от гостей
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 atoms
Ссылка скрыта от гостей
Параметр atoms - Печать сессий и windows станций атомных таблиц.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 atomscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 auditpol
Команда AUDUTPOL используется для управления политиками аудита в операционных системах Windows 7 и старше.
Ссылка скрыта от гостей
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 bigpools
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 bioskbd
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 cachedump
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 callbacks
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 clipboard
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 cmdline
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 cmdscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 connections
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 connscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 consoles
Код:
volatility -f memdump.bin --profile=Win2003SP0x866 crashinfo
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 deskscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 devicetree
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 dlldump -D dumps/
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 dlllist
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 driverirp
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 drivermodule
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 driverscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 dumpcerts -D dumps/
-D путь сохранения.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 dumpfiles -D dumps/
-D путь сохранения.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 dumpregistry -D dumps/
-D путь сохранения.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 editbox
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 envars
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 eventhooks
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 evtlogs
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 filescan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 gahti -D dumps/
-D путь сохранения.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 gditimers
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 gdt
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 getservicesids
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 getsids
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 handles
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hashdump
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hibinfo
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hivedump
Ссылка скрыта от гостей
.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hivelist
Ссылка скрыта от гостей
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hivescan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 hpakextract
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 idt
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 iehistory
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 imagecopy
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 impscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 joblinks
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 kdbgscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 kpcrscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 ldrmodules
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 lsadump
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 machoinfo
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 malfind
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 mbrparser
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 memdump -D dumps/
-D путь сохранения.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 memmap
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 messagehooks
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 mftparser
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 moddump -D dumps/
-D путь сохранения.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 modscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 modules
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 multiscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 mutantscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 notepad
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 objtypescan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 moddump
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 poolpeek --tag ТЕГ
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 printkey
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 privs
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 procdump -D dumps/
-D путь сохранения.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 pslist
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 psscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 pstree
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 psxview
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 qemuinfo
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 raw2dmp -O Файл
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 screenshot -D dumps/
-D путь сохранения.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 shellbags
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 shimcache
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 shutdowntime
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 sockets
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 sockscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 ssdt
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 strings
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 svcscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 symlinkscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 thrdscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 threads
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 timeliner
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 timers
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 truecryptmaster
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 truecryptpassphrase
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 truecryptsummary
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 unloadedmodules
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 userassist
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 userhandles
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vaddump
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vadinfo
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vadtree
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vadwalk
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vboxinfo
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 verinfo
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 vmwareinfo
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 volshell
hh() - для вызова справки.
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 windows
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 wintree
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 wndscan
Код:
volatility -f memdump.bin --profile=Win2003SP0x86 yarascan -y файл с сигнатурами
Закончив с 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
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_arp
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_aslr_shift
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_banner
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_bash
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_bash_hash
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_afinfo
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_creds
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_evt_arm
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_fop
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_idt
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_inline_kernel
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_modules
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_syscall
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_syscall_arm
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_check_tty
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_cpuinfo
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_dentry_cache
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_dmesg
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_dump_map -D dumps/
-D папка для сохранения сопоставлений.
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_dynamic_env
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_elfs
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_enumerate_files
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_find_file -i адрес файла -O dumps/
-i адрес файла.
-O путь, куда сохранить файл.
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_getcwd
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_hidden_modules
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_ifconfig
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_info_regs
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_iomem
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_kernel_opened_files
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_keyboard_notifiers
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_ldrmodules
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_library_list
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_librarydump -D dumps/
-D - путь для сохранения.
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_list_raw
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_lsmod
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_lsof
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_malfind
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_memmap
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_moddump -D dumps/
-D - путь для сохранения.
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_mount
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_mount_cache
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_netfilter
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_netscan
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_netstat
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_pidhashtable
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_pkt_queues -D dumps/
-D - путь для сохранения.
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_plthook
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_proc_maps
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_proc_maps_rb
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_procdump -D dumps/
-D - путь для сохранения.
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_process_hollow
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_psaux
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_psenv
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_pslist
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_proc_maps_rb
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_psscan
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_pstree
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_psxview
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_recover_filesystem -D dumps/
-D - путь для сохранения.
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_route_cache
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_sk_buff_cache -D dumps/
-D - путь для сохранения.
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_slabinfo
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_strings аргументы
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_threads
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_tmpfs -D dumps/
-D - путь для сохранения.
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_truecrypt_passphrase
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_vma_cache
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_volshell
hh() - для вызова справки.
Код:
volatility -f deep_memory --profile=LinuxLinuxHTBx64x64 linux_yarascan -Y rules.xml
-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 и т. д. ).
Далее следует http трафик.
Отфильтрует форензик трафик по http, так как по заданию хакер просочился в сеть через веб-платформу.
Что-то связанное с sql. Игорь решил уточнить что было в tcp разговоре. Правая кнопка мыши => Follow => TCP Stream или CTRL + ALT + SHIFT + T.
В ответе сервера видны номера американских банковских карт. Просмотрев сей список, Игорь увидал что-то странное.
Похоже, тут что-то закодированное.
Ссылка скрыта от гостей
и функция magic в помощь!Вот и флаг : )
Вечер мало-помалу переходил в ночь. Николаю необходимо направляться домой. Игорь в плане сна не исключение. Вот только сегодня бессоница не истязала его.
Последнее редактирование: