Инструментарий компьютерной криминалистики

Студенты ТюмГУ

Аннотация: Статья посвящена описанию инструментов, которые позволят читателю окунуться в мир форензики и дадут возможность учиться работать в сфере информационной безопасности
Проблематика: Чтобы читатель не рассредотачивался по просторам интернета, в статье был собран основной инструментарий Безопасника

Вступление


Расследование инцидентов в области информационной безопасности не такая горячая тема, как пентесты, но эта научная и практическая дисциплина продолжает развиваться, во многом, благодаря Open Source сообществу.
Давайте пройдемся по просторам GitHub и посмотрим, какие инструменты для сбора и анализа цифровых доказательств доступны всем желающим.
Под катом утилиты для разбора содержимого оперативной памяти, исследования Docker-образов, анализа журналов, извлечения информации из кеша браузеров и многое другое.

Дистрибутивы

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

Digital Evidence & Forensics Toolkit: DEFT Linux

Этот дистрибутив разработан на платформе Lubuntu и оснащен удобным графическим интерфейсом. Кроме того, в продукт добавлен набор профильных утилит, начиная от антивирусов, систем поиска информации в кэше браузера, сетевыми сканерами и утилитами для выявления руткитов и заканчивая инструментами, необходимыми при проведении поиска скрытых на диске данных.

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

Более подробно про DEFT Linux

Фреймворки

Одним из самых популярных фреймворков является Volatility Framework — фреймворк для исследования образов содержимого оперативной памяти и извлечения цифровых артефактов из энергозависимой памяти (RAM).

Извлекаемые данные:

  • дата и время;
  • список запущенных процессов;
  • список открытых сетевых сокетов;
  • список открытых сетевых соединений;
  • список загруженных библиотек для каждого процесса;
  • имена открытых файлов для каждого процесса;
  • адреса памяти;
  • модули ядра ОС;
  • маппинг физических смещений на виртуальные адреса.

Для тестирования фреймворка рекомендуем воспользоваться готовыми образами RAM.

Более подробно про Volatility Framework

  • DFF (Digital Forensics Framework) — фреймворк для криминалистического анализа, интерфейсы представлены как в виде командной строки, так и GUI. DFF можно использовать для исследования жестких дисков и энергозависимой памяти и создания отчетов о пользовательских и системных действиях.

Более подробно про DFF

  • PowerForensics предоставляет единую платформу для криминалистического анализа жестких дисков в реальном времени.

Более подробно про PowerForensics

  • Sleuth Kit (TSK) — это набор средств командной строки для цифровой судебной экспертизы, которые позволяют исследовать данные томов жестких дисков и файловой системы.

Более подробно про Sleuth Kit

  • MIG: Mozilla InvestiGator — это платформа для проведения оперативных исследований на удаленных конечных точках. Фреймворк позволяет исследователям параллельно получать информацию из большого количества источников, ускоряя тем самым расследование инцидентов и обеспечение безопасности повседневных операций.

Более подробно про MIG: Mozilla InvestiGator

  • bulk_extractor — позволяет извлекать информацию с помощью специальных сканеров (почта, номер кредитной карты, GPS координаты, номера телефонов, EXIF данные в изображениях). Быстрота работы достигается за счет использования многопоточности и работы с жестким диском «напрямую».

Более подробно про Bulk Extractor

  • PhotoRec — мультисистемная платформа для поиска и извлечения файлов с исследуемых образов операционных систем, компакт-дисков, карт памяти, цифровых фотокамер и т.д. Основное предназначение — извлечение удаленных (или утраченных) файлов.

Более подробно про PhotoRec

Анализ сетевого взаимодействия

  • Wireshark — этот сетевой анализатор пакетов (или сниффер) может быть эффективно использован для анализа трафика (в том числе и вредоносного). Один из популярнейших инструментов. Функциональность, которую предоставляет Wireshark, очень схожа с возможностями программы tcpdump, однако Wireshark имеет графический пользовательский интерфейс и гораздо больше возможностей по сортировке и фильтрации информации. Программа позволяет пользователю просматривать весь проходящий по сети трафик в режиме реального времени, переводя сетевую карту в неразборчивый режим (promiscuous mode).
  • SiLK (System for Internet-Level Knowledge) — предназначен для эффективного сбора, хранения и анализа данных сетевого потока. SiLK идеально подходит для анализа трафика на магистрали или границе крупного, распределенного предприятия или провайдера среднего размера.

Многофункциональные «комбайны»

  • SIFT Workstation — набор бесплатных инструментов для форензики и реагирования на инциденты с открытым исходным кодом от SANS Institute. Универсальный и подробно документированный тулкит на основе Ubuntu LTS 20.04.

Более подробно про SIFT Workstation

  • Appliance for Digital Investigation and Analysis (ADIA) — Open Source инструментарий для проведения цифровых расследований и сбора данных, включающий Autopsy, Sleuth Kit, Digital Forensics Framework, log2timeline, Xplico и Wireshark. Доступен в виде образов для VMware и VirtualBox.
  • Skadi — еще один набор утилит с открытым исходным кодом, который позволяет собирать, обрабатывать и проводить расширенный анализ криминалистических артефактов и изображений. Работает на MacOS, Windows и Linux, легко масштабируется.

Более подробно про Skadi

  • Autopsy достаточно функциональна, чтобы занимать отдельное место в этом списке. Это платформа для цифровой криминалистики и графический интерфейс для анализатора образов дисков The Sleuth Kit, PhotoRec, STIX и других программ для цифровой криминалистики. Поддерживает сторонние модули на Java и Python, расширяющие возможности платформы.

Инструменты для совместного расследования

  • IRIS — веб-приложение для совместной работы над сложными и запутанными расследованиями. Упрощает обмен файлами, например, журналами Windows. Может быть развернута на сервере или локальном компьютере из Docker-образа.
  • Kuiper — платформа сфокусированная на сборе и анализе доказательств. Предоставляет удобный графический интерфейс, централизованное управление парсерами, поддерживает массовую загрузку артефактов из любых каналов и позволяет целой группе аналитиков совместно маркировать и сортировать файлы.

 Более подробно про Kulper

  • TheHive — платформа реагирования на инциденты безопасности с открытым исходным кодом, предназначенная для SOC, CSIRT, CERT и любых других специалистов по информационной безопасности. Легко интегрируется с MISP и выделяется проработанной ролевой моделью, которая позволяет аналитикам из разных компаний без проблем работать над одним случаем.
  • GRR Rapid Response позволяет группе аналитиков сортировать атаки и выполнять их анализ удаленно в режиме реального времени. Состоит из клиентского python-агента, который устанавливается на целевые системы, и управляющего python-сервера. Поддерживает низкоуровневый доступ и автоматическое планирование повторяющихся задач.

Более подробно про GRR Rapid Response

  • DFIRTrack — платформа для форензики, ориентированная на разбор одного или нескольких крупных инцидентов затронувших сразу много различных систем. Представляет собой веб-приложение для развертывания в Ubuntu, в основанное на Django и использующее PostgreSQL.

Более подробно про DFIRTrack

  • Orochi — это платформа для группового анализа дампов памяти. Де-факто представляет собой графический интерфейс для Volatility 3. Сохраняет результаты работы этой утилиты в ElasticSearch.

Более подробно про Orochi

  • Timesketch — утилита для совместного timeline analysis. Позволяет восстановить и наглядно представить последовательность событий во время инцидента.

Более подробно про Timesketch

Мониторинг хостов

  • Zentral — решение для мониторинга конечных точек. Объединяет сбор журналов событий при помощи osquery с гибкой системой уведомлений и различными хранилищами данных: ElasticStack, Azure Log Analytics, Splunk.
  • Fleetdm — еще один инструмент для мониторинга хостов, который использует osquery для получения журналов событий и собирает их с целевых систем в реальном времени.

Более подробно про Fleetdm

  • POFR — клиент-серверный «черный ящик», который регистрирует данные о выполнении процессов, доступе к файлам и сетевых соединениях в Linux-системах, а затем передает отчеты на сервер по протоколу SSH.

Более подробно про POFR

  • IntelMQ — система автоматизированной обработки инцидентов, которую можно использовать для сбора данных для дальнейшего анализа. Имеет модульную структуру, состоящую из ботов для извлечения, обогащения и записи данных.

Более подробно про IntelMQ

  • Velociraptor — инструмент для сбора информации о состоянии хостов при помощи гибкого языка запросов VQL. Позволяет в значительной степени автоматизировать сбор разнообразных криминалистических артефактов.

Более подробно про Velociraptor

  • Meerkat — набор модулей PowerShell, предназначенных для сбора артефактов из систем на базе Windows без предварительной установки агента. Сценарии использования включают реагирование на угрозы, поиск угроз, базовый мониторинг, сравнение снапшотов.

IOC — сканеры

  • Loki — простой сканер индикаторов компрометации для проверки конечных точек. 

Более подробно про Loki

  • Fenrir — универсальный bash-скрипт для сканирования Linux, OSX и Unix систем. Работает с более широким набором индикаторов компрометации.

Более подробно про Fenrir

  • Fastfinder — кроссплатформенная утилита для поиска подозрительных файлов. Поддерживает контрольные суммы md5/sha1/sha256, регулярные выражения и правила YARA.

Сбор артефактов

  • artifactcollector — настраиваемый агент для сбора артефактов из Windows, macOS и Linux. Умеет извлекать файлы, каталоги, записи реестра, команды WMI. Интегрируется с Digital Forensics Artifact Repository.

Более подробно про articfactcollector

  • osquery — аналитика операционной системы для знатоков баз данных. Утилита представляет операционную систему как высокопроизводительную реляционную базу данных. Это позволяет использовать SQL для работы со всем содержимым компьютера. Доступна для Linux, macOS, Windows и FreeBSD.

Более подробно про osquery

  • ir-rescue — пара сценариев для Windows и Unix, которые собирают большой объем криминалистических данных, отвечающий потребностям большинства расследований. Запускают множество команд и инструментов, поэтому оставляют заметные следы в системе.
  • UAC — (Unix-like Artifacts Collector) — использует встроенные инструменты Unix-подобных систем для автоматизации сбора артефактов. Работает вне зависимости от архитектуры, в том числе на macOS и Android.

Более подробно про UAC

  • FastIR Artifacts — кроссплатформенный сборщик артефактов с поддержкой Digital Forensics Artifact Repository.

Более подробно про FastIR Artifacts

  • DFTimewolf — фреймворк для организации сбора, обработки и экспорта данных, ценных для криминалистов.
  • AChoir — сценарий для сбора артефактов Windows в режиме реального времени.
  • CyLR — инструмент для сбора криминалистических артефактов из систем с файловой системой NTFS.
  • DFIR ORC — тулкит для деликатного сбора артефактов: файловых таблиц, ветвей реестра и журналов событий из машин под управлением Windows. Разработан так, чтобы свести к минимуму влияние на систему, в которой он работает. Не устанавливает никаких программ, создает минимум файлов, ключей реестра и служб и записывает минимально необходимый объем данных.

Работа с реестром

  • RegRipper — инструмент с открытым исходным кодом для извлечения информации (ключи, значения, другие данные) из реестра. Написан на языке Perl.

Более подробно про RegRipper

  • RegRippy и Regipy еще пара библиотек для чтения и извлечения полезных криминалистических данных из ветвей реестра Windows. На этот раз на Python.

Работа с журналами

  • Logdissect — CLI-утилита и Python API для анализа, фильтрации и экспорта данных в файлы журнала Windows или JSON.
  • APT Hunter — разработан для поиска подозрительной активности в журналах Windows. Автоматизирует сбор журналов Sysmon, Security, System, Powershell, Powershell Operational, ScheduledTask, WinRM, TerminalServices, Windows Defender. Сортирует события по серьезности и ведет статистику, которая помогает обнаруживать аномалии. 

Более подробно про APT Hunter

  • LogonTracer — анализирует Windows Active Directory, связывает имя хоста (или IP-адрес) и имя учетной записи, найденные в событиях, связанных с входом в систему, а затем отображает их в виде схемы. Позволяет реконструировать историю авторизаций.
  • StreamAlert — безсерверная система анализа журналов в реальном времени, написанная на Python. Принимает данные из любых источников, имеет встроенную систему оповещений на основе настраиваемой пользовательской логики. Выполняется с минимальными привилегиями, хранит данные в зашифрованном виде.

Более подробно про StreamAlert

  • USBRip — простая консольная утилита для восстановления истории подключения USB-носителей к компьютерам под управлением Linux. Может экспортировать собранные данные в JSON-файл.

Более подробно про USBRip

Работа с памятью и образами системы

  • AVML — портативный инструмент для сбора данных из энергонезависимой памяти Linux-систем. Написан на Rust и предназначен для развертывания в виде статического бинарного файла. Его можно использовать для получения данных «вслепую», не зная версию дистрибутив целевой ОС.
  • LiME — загружаемый модуль ядра (LKM) для захвата данных из памяти устройств под управлением Linux, в том числе и Android-смартфонов. Развивается и совершенствуется с 2012 года.
  • Bmap-tools — инструмент для копирования файлов с использованием создания карты блоков (bmap).
  • INDXParse — тулкит для извлечения артефактов NTFS.
  • nTimetools — инструментарий для работы с временными метками в Windows. Позволяет экспертам-криминалистам проверять метки в файловой системе NTFS с точностью до 100 наносекунд.
  • RecuperaBit — утилита для криминалистической реконструкции файловой системы и восстановления файлов. Поддерживает только NTFS.
  • MemProcFS — утилита для простого доступа к физической памяти, как к файлам виртуальной файловой системы.
  • dof (Docker Forensics Toolkit) — извлекает и помогает интерпретировать криминалистические артефакты из Docker-контейнеров. Отображает историю сборки образа, монтирует файловую систему контейнера в заданном месте, распределяет артефакты по временной шкале и так далее.

Извлечение веб-артефактов

  • hindsight — простой и функциональный инструмент для анализа веб-артефактов с поддержкой браузеров на базе Chromium. Позволяет анализировать историю посещений и загрузок, содержимое кэша, cookie, закладки, автозаполнение, сохраненные настройки, расширения и пароли. Все извлеченные данные помещаются на временную шкалу.

Более подробно про hindsight

  • Dumpzilla — аналогичная программа для сбора интересной информации из браузеров Firefox, Iceweasel и Seamonkey.

Более подробно про Dumpzilla

Работа с метаданными

  • Exif Tool — чтение, запись и редактирование метаданных в файлах различных графических форматов.

Более подробно про Exif Tool

  • Exiv2 — библиотека для работы с метаданными Exif, IPTC, XMP и ICC.

Более подробно про Exiv2

  • PdfParser — служит для извлечения данных из файла PDF-файлов.
  • FOCA — это инструмент для поиска метаданных и скрытой информации в документах, загруженных в веб. Работает с Microsoft Office, Open Office, PDF, Adobe InDesign и SVG. 

Инструменты для Mac

  • macOS Artifact Parsing Tool — комплект для обработки образов дисков Mac и извлечения данных, полезных для расследования. Представляет собой фреймворк на основе Python, и плагины для обработки отдельных артефактов, например, истории Safari.
  • ESF Playground — инструмент для просмотра событий в Apple Endpoint Security Framework (ESF) в режиме реального времени.
  • Knockknock — выводит полный список элементов (программ, скриптов, команд, двоичных файлов), которые автоматически выполняются в macOS.

Инструменты для смартфонов

  • MobSF — автоматизированная система для анализа вредоносных программ и оценки безопасности мобильных приложений (Android/iOS/Windows), способная выполнять статический и динамический анализ. Поддерживает бинарные файлы мобильных приложений (APK, XAPK, IPA и APPX) вместе с заархивированным исходным кодом и предоставляет REST API для бесшовной интеграции с конвейером CI/CD или DevSecOps.
  • Andriller — утилита для сбора данных с Android-устройств. Может быть использована для снятия блокировки со смартфона.
  • ALEAPP — парсер журналов событий и Protobuf для Android.
  • iLEAPP — парсер журналов событий для iOS.

Различные инструменты

  • Bitscout — инструмент для создания LiveCD/LiveUSB приспособленных для цифровой криминалистики и не только.

Более подробно про Bitscout

Более подробно про DFAR

  • sherloq — набор инструментов для судебной экспертизы цифровых фотографий.
  • swap_digger — bash-скрипт, автоматизирующий извлечение файла подкачки Linux и поиск учетных данных пользователей, адресов электронной почты, содержимого веб-форм, WiFi SSID ключей и других чувствительных данных.
  • LaZagne — приложение с открытым исходным кодом для извлечения паролей, хранящихся на компьютере.
  • Fibratus — инструмент для исследования и трассировки ядра Windows.

Более подробно про Fibratus

  • afflib — расширяемый открытый формат для хранения образов дисков и криминалистической информации.

Более подробно про afflib

  • Sigma — открытый формат подписи для SIEM-систем.

Материал для изучения

Для того чтобы проводить те или иные действия по анализу данных необходимо иметь базис теоретического материала по расследования киберпреступлений. Для этого я рекомендую ознакомиться со следующими изданиями:

  • Н.Н.Федотов: Форензика – компьютерная криминалистика
  • Darren Quick, Ben Martini, Raymond Choo: Cloud Storage Forensics
  • Suzanne Widup: Computer Forensics and Digital Investigation with EnCase Forensic v7
  • Brian Carrier: File System Forensic Analysis
  • Brett Shavers, John Bair: Hiding Behind the Keyboard: Uncovering Covert Communication Methods with Forensic Analysis
  • Philip Polstra: Linux Forensics
  • Jonathan Levin: Mac OS X and iOS Internals: To the Apple’s Core
  • Ric Messier: Operating System Forensics
  • Satish Bommisetty, Rohit Tamma, Heather Mahalik: Practical Mobile Forensics
  • Michael Hale Ligh, Andrew Case, Jamie Levy, AAron Walters: The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory
  • Harlan Carvey: Windows Registry Forensics, Second Edition: Advanced Digital Forensic Analysis of the Windows Registry
  • Laura Chappell: The Official Wireshark Certified Network Analyst Study Guide

Практические площадки

Для тестирования вышеперечисленного инструментария можно воспользоваться специализированными платформами или образами для анализа, представленными на визуализированной mindmap. В качестве первых образцов для тренировки рекомендуем:

Заключение

Форензика, как ответвление информационной безопасности, развита гораздо в меньшем объеме нежели тестирование на проникновение или организация защитных средств. Грамотный подход при проведении мероприятий по сбору цифровых доказательств не только даст восстановить картину возможного инцидента, но и позволит выявить пути и предпосылки возникновения инцидента.

    Оставьте заявку на консультацию

    И мы свяжемся с вами в ближайшее время