Камиль Камалетдинов, младший эксперт по реагированию на инциденты Центра киберустойчивости Angara SOC, подготовил обзор самых полезных утилит для triage. В материале практические инструменты и небольшой опрос для вас в самом конце.
В отличие от более известных на рынке тестирований на проникновение и багхантинга, в этом материалы мы хотим рассказать, с помощью каких инструментов работают компьютерные криминалисты. Форензика — это довольно новое направление в расследовании инцидентов, но уже востребованное, так как у компаний растет запрос на расследования и предотвращение инцидентов. Немного цифр за 1-й квартал 2023 года, которые иллюстрируют динамику роста различных типов компьютерных атак (подробнее здесь).
Основа цифровой криминалистики — это работа с данными, полученными в результате их сбора с конечного устройства, на котором возникли те или иные события, в которых нужно разобраться, установить все возможные на текущий момент обстоятельства, произошедшие в результате кибератаки и какие последствия наступили в конечном итоге.
В результате быстрого развития технологий количество данных на наших устройствах растет, что подтверждается исследованием ученых из Астонского Университета, которые занимаются изучением проблемы оптимизации хранения данных в связи с их быстрыми темпами роста. Эта тенденция также оказывает влияние на сферу кибербезопасности, потому что количество и качество данных, собранных с конечных устройств, определяют масштаб и сложность нашей работы.
Именно для этого был разработан инструмент Forensic Triage Tool, потому что снимать полную копию устройства займет большое количество времени, а снятие triage занимает примерно от 5 до 30 минут в (зависимости от устройства и количества информации на нем) и содержит в себе достаточное количество данных для расследования инцидента.
При выборе инструментов для triage я сформулировал такие критерии:
инструмент должен работать на разных операционных системах (Windows,Linux,MacOSX)
инструмент не требует полноценной установки на конечное устройство
инструмент удобен для хранения и перемещения на конечные устройства, не занимает много памяти
инструмент возможно конфигурировать и модифицировать
есть поддержка разработчика и популярность в среде специалистов.
Итак, по этим критериям я выбрал такие инструменты:
Все эти инструменты подобраны для систем OS Windows, OS Linux и MAC OS X.
Cedarpelta от BRIMOR Labs
Инструмент Cedarpelta от BRIMOR Labs широко известен в среде специалистов по компьютерной криминалистике и реагированию на инциденты, потому что:
Запускается на всех наиболее известных ОС (Win/Lin/MAC OS)
Работает стабильно (редкий случай, когда может возникнуть ошибка в процессе запуска/работы)
Имеет понятный графический интерфейс.
При большом желании его можно модифицировать (работает на основе.bat и отдельных утилит)
Собирает «самое необходимое» из коробки.
Cedarpelta часто фигурирует в различных пособиях и известных книгах по реагированию на инциденты, найти инструкции и видео‑уроки по использованию не сложно и сам по себе инструмент интуитивно понятный.
Рассмотрим Cedarpelta поближе:
Думаю, что варианты «снятия копии» и их отличия описаны довольно понятно в графическом интерфейсе программы.
Для запуска нужно нажать кнопку: Run Selected Windows Live Response
Что собирает и как выглядит результат работы?
OS Windows
OS Linux
MAC OS X
Сразу отмечу, что у triage, вне зависимости от системы, с которой он собирался, интуитивно понятная файловая структура, все собранные артефакты имеют информативное наименование, что ускоряет анализ собранных данных.
Как запустить Cedarpelta?
Windows: Запускается через исполняемый файл .exe или через cmd
Linux: Запускается командой из терминала: ./Triage_Mac_Live_Response.sh
OS X: Запускается командой из терминала: ./Triage_Mac_Live_Response.sh.
Из минусов:
Небольшое количество собираемых артефактов
Добавить новые инструменты в Cedarpelta возможно, но потребует больше времени
Отсутствует возможность выбрать отдельные артефакты для сбора
Скорость работы чуть дольше, чем у остальных утилит (собирает много хэшей).
Velociraptor от Velocidex
Данный инструмент не так широко известен в сообществе ИБ-специалистов, как Cedarpelta, и, на мой взгляд, это большое недопущение.
Velociraptor - очень гибкое в использовании решение, работает как в виде клиент-серверной модели, так и offline collector, но об этом чуть позже.
Это кроссплатформенный инструмент с возможностью конфигурирования как самого инструмента, так и возможностью создавать свои инструменты на базе Velociraptor, к примеру, «вытащить» из системы определенный файл, проверить его на VirusTotal или посчитать хэши для определенных файлов, и это лишь малые возможности данной утилиты.
Velocidex создали целое комьюнити для специалистов, в котором можно получить помощь по любым вопросам, связанным с модернизацией и эксплуатацией инструмента.
Суть самого Velociraptor в созданном для него языке запросов VQL (Velociraptor Query Language), при помощи которого можно создавать свои запросы и кастомные инструменты.
Данная утилита обладает большим количеством возможностей и конфигураций, поэтому расскажем о них в следующей статье. Здесь покажем, как запустить Velociraptor и создать offline collector для наших целей.
Запуск утилиты:
Предварительно скачиваем исполняемый файл, который будет запускать сервер Velociraptor, используя windows CLI, запускаем инструмент такой командой: velociraptor-v0.6.9-windows-386.exe gui
**Команда gui обозначает упрощенный запуск
После запуска данной команды мы увидим, что в окне браузера появился web интерфейс сервера Velociraptor:
Следующим шаг - перейдем в раздел server и нажмем build offline collector:
Мы увидим список артефактов для сбора, теперь попробуем создать простой сборщик на основе того, что есть из коробки:
Выбираем Windows.KapeFiles.targets, в нем отмечаем нужный нам параметр, по которому будем собирать артефакты, для этого чаще всего используют Basic collection:
Нажимаем на ключ и видим конфигурационное меню артефакта:
Тут мы можем задавать и выбирать определённые настройки для артефакта, в данном случае к артефакту windows.kapefiles.targets будет применен параметр сборки Basic Collection, в котором определено, что именно собирать из системы в наш triage.
Список артефактов собираемых с Basic Collection:
Выбираем нужные параметры:
Нажимаем Launch и ожидаем как сформируется исполняемый файл сборщика:
Скачиваем сборщик и запускаем, данное окно появится, когда сборщик будет готов:
Запускаем так же через Windows CLI и ожидаем окончания сборки triage:
Что же получилось собрать? В данном случае покажем результаты сбора кастомным сборщиком
Windows
Linux / Mac OSX
Общая структура triage схожа для всех ОС и в целом копирует данные, придерживаясь правил их расположения в системе и удобном виде для загрузки их в Velociraptor для последующего анализа. К сожалению, должным образом не получится настроить свою собственную структуру собираемых данных, так задумано разработчиком для корректной работы утилиты.
Минусы:
Неудобная структура собираемых данных
Есть ограничения для более старых ОС, может не запуститься offline collector.
Triage чаще всего имеет большой размер, требуется много места (в зависимости от того, как вы сделали offline collector)
Если система работает некорректно, имеет поврежденный жесткий диск, архив, в который создан triage, может оказаться поврежденным при сборке (очень редко).
UAC (Linux и MAC OSX)
Более простая утилита для снятия triage, в частности, с систем linux и mac osx, но тем не менее достаточно полезная и удобная в применении. Инструмент UAC поддерживается разработчиком, а также поддерживается любой UNIX подобной операционной системой. **Из git hub разработчика.
Как запустить UAC?
Linux/MAC OSX :
Собрать все артефакты и сохранить их в /tmp: ./uac -p full /tmp
Так же есть альтернативные способы запуска, предусмотренные разработчиком для различных сценариев сбора важных нам данных. Данную утилиту возможно модифицировать, в том числе добавлять свои инструменты в UAC, автор предоставил wiki по инструменту со всеми возможными инструкциями: https://tclahr.github.io/uac-docs/.
MAC OS X
Linux
Минусы:
Нет инструмента для Windows
Небольшое количество собираемых артефактов из коробки
Cat-scale от WithSecure Labs (Linux, MAC OS X)
Следующий инструмент, который мы рассмотрим, — это Cat-scale. Данная утилита очень удобна в применении и работает на всех основных UNIX-подобных системах.
В целом об этом инструменте известно следующее:
разработан на bash и использует внутренние системные инструменты, которые помогают собрать нужную нам информацию из системы
поддерживается разработчиком и имеет возможность модификации
очень прост в эксплуатации и чем-то схож с UAC
Более подробную информацию про Cat-scale и что он собирает можно узнать по следующей ссылке: https://labs.f-secure.com/tools/cat-scale-linux-incident-response-collection/
Как запустить Cat-scale:
Linux: ./Cat-Scale.sh
Mac OS X: ./Cat-Scale.sh
Что получилось собрать при помощи Cat-scale?
Linux/MAC OSX
В целом, структура собранного Linux и MAC OS X схожи и практически не отличаются. Единственные минусы данной утилиты — это отсутствие версии для ОС Windows и относительно небольшой выбор собираемых артефактов.
В целом, выбор утилит для сбора криминалистических данных довольно широк и не ограничивается инструментами, описанными в нашем материале. Но возможности этих четырех — Cedarpelta, Velociraptor, UAC и Cat‑scale — закрывают большинство базовых задач в нашей практике расследования киберинцидентов. Мы предлагаем пройти небольшой опрос по инструментам для triage, интересно узнать ваше мнение.