Forensics tools
Last updated
Last updated
https://habr.com/ru/companies/lanit/articles/690434/
На сегодняшний день у ряда специалистов по форензике в РФ возникают трудности в проведении исследования цифровых свидетельств с помощью платного коммерческого ПО, поскольку не всегда есть возможность продлить лицензионную подписку или срок действия аппаратного ключа. Приходится искать альтернативные пути, которые позволят, пусть и с некоторыми потерями во времени, выполнять расследования с сохранением достаточного уровня качества. Мы в “Информзащите” изучили довольно большой ряд бесплатных опенсорсных инструментов, которые применяем в наших расследованиях и хотим поделиться с вами нашими впечатлениями и опытом применения такого ПО.
Регулярно обновляемый инструмент, представляющий из себя комплексный скрипт Powershell и набор многих популярных утилит для проведения цифровых исследований в рамках форензики. Важная особенность – полностью автоматическая установка всех необходимых компонентов при первом запуске скрипта. Основной фокус этого инструмента – исследование дампов оперативной памяти, однако анализ здесь проводится без применения традиционного Volatility. Скрипт создаёт виртуальный диск и монтирует к нему исследуемый дамп памяти, взаимодействуя с ним в дальнейшем как с файловой системой.
Интересное решение для тех, кто не любит использовать Volatility из-за большого набора плагинов и необходимости подбирать нужный профиль ОС для анализа. Справедливости ради, я должен заметить, что применял этот тулкит только для анализа дампов памяти ОС Windows. Насколько инструмент приемлем для анализа дампов памяти ОС Linux, я сказать не могу. Автор тулкита тоже ничего не указал в описании по этому поводу. Мне же хочется отметить некоторые фичи, которые вызвали у меня отдельный интерес в рамках исследований.
Ещё в ходе извлечения файлов из дампа программа сразу же укажет на подозрительные дочерние процессы в памяти и задачи планировщика. Неплохая зацепка, чтобы понять, в каком направлении можно «копать» после завершения процесса.
Файлы подозрительных процессов автоматически проверяются опенсорсным антивирусом ClamAV. Для этого скрипт временно отключает службу «Защитник Windows», чтобы это не было неожиданностью для вас.
После завершения извлечения и первичной обработки данных мы получаем вот такой набор папок, содержащих отсортированные свидетельства:
Радует, что в результате обработки создаются не только текстовые и .csv файлы, но и отформатированные таблицы Excel, с которыми гораздо приятнее работать.
Из интересного - файл FindEvil.xlsx, в котором содержится информация о подозрительных файлах, выявленных на основе индикаторов, описанных автором отдельно по ссылке https://github.com/ufrisk/MemProcFS/wiki/FS_FindEvil
В файле proc.xlsx содержится не только список процессов с их PID, PPID и имени пользователя, из-под которого производится запуск, но и полная команда запуска процесса по аналогии с плагином cmdscan/cmdline из Volatility.
Файл tasks.xlsx содержит полный список всех задач планировщика с полной строкой запуска команд.
Если в процессе автоматической обработки скрипт выявил процессы с подозрительным наследованием, например, когда типичный процесс outlook.exe порождает powershell.exe, то список этих процессов с их описанием располагается в отдельной папке sys\proc\Unusual_Parent-Child_Relationships в виде текстовых файлов.
Ну и, конечно, так всеми любимый таймлайн. Полностью отформатированный, с удобными фильтрами.
Из минусов, которые встретились мне в ходе работы с инструментом, хочется отметить следующие.
На сегодняшний день есть проблема с сетевой доступностью обновлений для компонентов этого тулкита, поэтому при запуске вы увидите такие вот ошибки.
Данные компоненты придётся загружать вручную. Это касается и обновления базы данных для ClamAV. Без обновлённых баз ClamAV просто «повесит» скрипт в бесконечных попытках подключиться к локальному сервису ClamAV, который, в свою очередь, без обновлённых баз просто не запустится.
Нет отдельного списка по выявленным компонентам «автозагрузки». Есть некоторые данные из реестра, но мы с вами знаем, что это не полноценная информация.
Обработанные данные в итоге запаковываются в архив 7zip с паролем MemProcFS, что на сайте автора не указано, и найти его можно только в теле скрипта. Это может вызвать замешательство при первом использовании.
Отличный, регулярно обновляемый опенсорсный инструмент для глубокого анализа системных событий Windows с фокусом на выявление завершённых или активных кибератак. Скачать можно по ссылке https://github.com/Yamato-Security/hayabusa
Для бесплатного ПО имеет достаточно гибкие настройки и не требует каких-либо «танцев с бубном» при установке. В последних релизах умеет работать в несколько потоков, что значительно сокращает время анализа.
На вход ожидается указание пути к папке с файлами событий .evtx, либо можно провести live-анализ текущего хоста. Вывод можно направить в .csv файл, который будет выглядеть следующим образом:
С моей точки зрения, это весьма информативный список результатов. Данный инструмент не просто экспортирует системные события и сортирует по источникам, но и на основе внутренних алгоритмов находит взаимосвязи определённых событий и делает предположения о наличии вредоносной активности в системе. Сортировать результаты можно не только по уровню их опасности, но и по типу вредоносного воздействия из классификации MitreAttack. Кстати, уровень точности значительно возрастает при установленном сервисе sysmon в системе. Впрочем, это логично, учитывая, что sysmon ведёт очень подробный лог событий сам по себе.
Hayabusa позволяет кастомизировать правила, которые пишутся в .yml файлах, в синтаксисе, напоминающем YARA-правила:
Кстати, можно импортировать отдельные Sigma-правила, которые Hayabusa прекрасно понимает.
По личному опыту – Hayabusa очень хорошо выявляет атаки, направленные на Active Directory. Различные попытки брутфорса, Password Spray, Pass-the-hash, Pass-the-ticket, Golden Ticket, Credential Dumping и вот это вот всё детектится очень хорошо.
Из минусов - разве что вывод доступен только в формате .csv, так что придётся форматировать вручную.
Теперь расскажу про более масштабный инструмент, работающий прежде всего с клонами/образами жёсткого диска. Автором является достаточно известный специалистам по форензике Eric Zimmerman. Собственно, KAPE и расшифровывается как Kroll's Artifact Parser and Extractor, а Kroll – это название компании, частью которой является и сам автор KAPE.
Скачать KAPE можно с официального сайта по запросу через форму обращения. https://www.kroll.com/en/services/cyber-risk/incident-response-litigation-support/kroll-artifact-parser-extractor-kape
Инструмент тоже регулярно обновляется и представляет собой набор скриптов, тесно интегрированных с форензик-утилитами самого Eric Zimmerman, имеющий вполне приличный для бесплатного инструмента графический интерфейс.
У KAPE есть два основных режима работы: сбор данных (т.н. acquisition) и их анализ. Левая часть главного окна отвечает как раз за сбор данных, а правая - за различные варианты анализа.
Сначала вы выбираете диск-источник, данные с которого нужно исследовать. Здесь важный момент – KAPE не умеет принимать на вход образы дисков. Поэтому сначала необходимо смонтировать образ в виде логического диска и на вход Target source подать путь к логическому диску. В Target destination указываем папку, куда будут извлечены данные для анализа. А вот то, какие именно данные будут извлечены, вы выбираете из длинного списка плагинов. На самом деле запутаться здесь сложно, потому что названия плагинов соответствуют тем данным, которые будут извлечены. Например, плагин !SANS_Triage извлечёт стандартный набор данных по методологии SANS. Какие именно данные? Делаем двойной клик по названию плагина и видим такое окно:
Здесь перечислены модули, которые будут использованы данным скриптом. Эти модули хранятся в папке KAPE\Targets. Открываем, к примеру, EventLogs.tkape и видим:
Делаем вывод, что для анализа будут извлечены файлы .evtx из соответствующих папок.
Думаю, что логика понятна – имеющиеся плагины можно открыть и проверить по указанным файлам модулей, какие именно данные будут извлечены и откуда.
Запускаем извлечение, процесс пошёл:
В моём случае, при выбранном !SANS_Triage, я получил вот такой набор папок и файлов для дальнейшего анализа:
Теперь в работу вступает вторая часть KAPE – плагины для анализа из правой части главного окна. Логика та же самая – на вход Module source указываем папку с содержимым из первого этапа и в Module destination указываем, куда сохранить результаты анализа файлов. Содержимое плагинов можно просматривать точно так же, как и на первом этапе. С модулями – то же самое. Далее – выбираем формат сохранения результатов и запускаем анализ.
В ходе выполнения можно заметить запуски стандартных инструментов от Eric Zimmerman, но это характерно для плагина !EZParser. Другие модули запускают утилиты, указанные в их описании:
Кстати, скорее всего вам уже стало понятно, что можно создать собственные плагины и добавить их в папку KAPE\Modules.
На выходе получаем набор папок с результатами анализа, разложенные по категориям:
Дальше – типичная работа специалиста по форензике. Изучаем .csv файлы и ищем необходимые доказательства.
Из минусов можно отметить следующие.
На сегодняшний день есть некоторые проблемы с получением ссылки на KAPE после заполнения формы на сайте. Письмо с ней приходит с перебоями или не приходит вовсе. К тому же, требуется обязательно указывать корпоративную почту.
Необходимость самостоятельно скачивать некоторые утилиты для модулей и копировать их в папку KAPE\Modules\bin.
KAPE плохо реагирует на работу с образами дисков, которые смонтированы с помощью FTKImager, и рекомендует использовать Arsenal Image Mounter. Впрочем, эта проблема решается установкой опции Ignore FTK Warning в правой части главного окна. Но, по опыту, с FTKImager здесь действительно какие-то проблемы, потому что с Arsenal у меня действительно получалось вытащить больше данных из анализируемых файлов при базовом анализе с плагином !EZParser.
Вот такие три отличные, бесплатные приложения, которые мы используем при проведении исследований в рамках форензики. Если будут какие-то вопросы, оставляйте их в комментариях.