The Sleuth Kit (TSK)

Malware Analysis & Forensics

Набор CLI-утилит для анализа файловых систем и образов дисков. Поддерживает NTFS, FAT, EXT2/3/4, HFS+, UFS. Извлечение метаданных, восстановление удалённых файлов, анализ timeline. Основа для Autopsy и других forensic-инструментов.

Добавлен 13.07.2026 · Обновлён 13.07.2026 · Malware Analysis & Forensics
Установка
# Debian/Ubuntu:
sudo apt install sleuthkit

# macOS:
brew install sleuthkit

# Примеры:
fls -r image.dd           # список файлов
icat image.dd 12345       # извлечение inode
tsk_recover image.dd out/  # восстановление удалённых
mactime -b body.txt -d    # timeline analysis
переведено ИИ

Статус сборки

Статус сборки

The Sleuth Kit

ВВЕДЕНИЕ

The Sleuth Kit — это открытый набор инструментов для компьютерной экспертизы, предназначенный для анализа файловых систем и дисков Microsoft и UNIX. The Sleuth Kit позволяет следователям идентифицировать и восстанавливать доказательства из образов, полученных во время реагирования на инциденты, или из работающих систем. The Sleuth Kit является открытым ПО, что позволяет следователям проверять действия инструмента или адаптировать его под конкретные нужды.

The Sleuth Kit использует код из инструментов анализа файловых систем из набора The Coroner's Toolkit (TCT) авторства Вийсе Венема и Дэна Фармера. Код TCT был модифицирован для обеспечения кроссплатформенности. Кроме того, была добавлена поддержка файловых систем NTFS (см. wiki/ntfs) и FAT (см. wiki/fat). Ранее The Sleuth Kit назывался The @stake Sleuth Kit (TASK). В настоящее время The Sleuth Kit не зависит от каких-либо коммерческих или академических организаций.

Рекомендуется использовать эти инструменты командной строки совместно с Autopsy Forensic Browser. Autopsy (http://www.sleuthkit.org/autopsy) — это графический интерфейс для инструментов The Sleuth Kit, который автоматизирует многие процедуры и предоставляет такие функции, как поиск по образам и проверка целостности образов с помощью MD5.

Как и с любым инструментом расследования, любые результаты, полученные с помощью The Sleuth Kit, должны быть воспроизведены с помощью второго инструмента для проверки данных.

ОБЗОР

The Sleuth Kit позволяет анализировать образ диска или файловой системы, созданный с помощью 'dd' или аналогичного приложения, создающего «сырой» (raw) образ. Эти инструменты являются низкоуровневыми, и каждый выполняет одну задачу. При совместном использовании они могут 수행ить полный анализ. Для более подробного описания этих инструментов обратитесь к wiki/filesystem. Инструменты кратко описаны в подходе, основывающемся на уровнях файловой системы. Название каждого инструмента начинается с буквы, назначенной для уровня.

Уровень файловой системы:

Диск содержит одну или несколько разделов (или сегментов). Каждый из этих разделов содержит файловую систему. Примерами файловых систем являются Berkeley Fast File System (FFS), Extended 2 File System (EXT2FS), File Allocation Table (FAT) и New Technologies File System (NTFS).

Инструмент fsstat отображает сведения о файловой системе в формате ASCII. Примеры данных, отображаемых в этом выводе, включают имя тома, время последнего монтирования и подробности о каждой «группе» в файловых системах UNIX.

Уровень содержимого (блок):

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

Инструмент blkcat можно использовать для отображения содержимого конкретной единицы файловой системы (аналогично тому, что может сделать dd с несколькими аргументами). Размер единицы зависит от файловой системы. Инструмент blkls отображает содержимое всех нераспределенных единиц файловой системы, создавая поток байтов удаленного содержимого. Выходные данные можно использовать для поиска удаленного содержимого файлов. Программа blkcalc позволяет определить расположение единицы в исходном образе на основе единицы в образе, сгенерированном blkls.

Новая функция The Sleuth Kit, взятая из TCT, — это аргумент -l для blkls (или unrm в TCT). Этот аргумент перечисляет подробные данные для единиц данных, аналогично команде ils. Инструмент blkstat отображает статистику конкретной единицы данных (включая статус распределения и номер группы).

Уровень метаданных (inode):

Уровень метаданных описывает файл или каталог. Этот уровень содержит дескриптивные данные, такие как даты и размер, а также адреса единиц данных. Этот уровень описывает файл в терминах, которые компьютер может эффективно обрабатывать. Структуры, в которых хранятся данные, имеют такие имена, как inode (inode) и запись каталога (directory entry). Все инструменты на этом уровне начинаются с буквы i.

Программа ils перечисляет некоторые значения структур метаданных. По умолчанию она перечисляет только нераспределенные структуры. Инструмент istat отображает информацию о метаданных в формате ASCII для конкретной структуры. Новинкой в The Sleuth Kit является то, что istat отображает назначение символических ссылок. Функция icat отображает содержимое единиц данных, выделенных для структуры метаданных (аналогично команде UNIX cat(1)). Инструмент ifind определяет, какая структура метаданных выделила заданную единицу содержимого или имя файла.

Обратитесь к ntfs wiki для получения информации об адресации атрибутов метаданных в NTFS.

Уровень пользовательского интерфейса (файл):

Уровень пользовательского интерфейса позволяет взаимодействовать с файлами способом, более удобным, чем напрямую через уровень метаданных. В некоторых операционных системах существуют отдельные структуры для уровней метаданных и пользовательского интерфейса, тогда как в других они объединены. Все инструменты на этом уровне начинаются с буквы f.

Программа fls перечисляет имена файлов и каталогов. Этот инструмент также отображает имена удаленных файлов. Программа ffind определяет имя файла, который выделил заданную структуру метаданных. В некоторых файловых системах удаленные файлы также будут идентифицированы.

Построение временной шкалы

Временные шкалы полезны для быстрого получения представления об активности файлов. С помощью The Sleuth Kit легко составить временную шкалу времен MAC (modification, access, change) файлов. Программа mactime (из TCT) принимает в качестве входных данных файл body, который был сгенерирован командами fls и ils. Чтобы получить данные о распределенных именах файлов и именах нераспределенных файлов, используйте fls -rm dir, а для нераспределенных inode используйте ils -m. Обратите внимание, что поведение этих инструментов отличается от такового в TCT. Для получения дополнительной информации обратитесь к wiki/mactime.

Базы данных хэшей

Базы данных хэшей используются для быстрой идентификации известного файла. Вычисляется хэш MD5 или SHA-1 файла, и база данных используется для определения, встречался ли этот файл ранее. Это позволяет проводить идентификацию даже в том случае, если файл был переименован.

The Sleuth Kit включает инструменты md5 и sha1 для генерации хэшей файлов и других данных.

Также включён инструмент hfind. Инструмент hfind позволяет создать индекс базы данных хэшей и выполнять быстрый поиск с использованием алгоритма двоичного поиска. Инструмент hfind может выполнять поиск по Национальной программной справочной библиотеке (NSRL) NIST (www.nsrl.nist.gov) и по файлам, созданным командой md5 или md5sum. Подробные сведения смотрите в файле wiki/hfind.

Категории типов файлов

Различные типы файлов обычно имеют различную внутреннюю структуру. Команда file поставляется с большинством версий UNIX, и её копия также включена в The Sleuth Kit. Она используется для определения типа файла или других данных независимо от его имени и расширения. Её можно даже использовать для определения конкретной единицы данных, чтобы помочь выяснить, какой файл использовал эту единицу для хранения. Обратите внимание, что команда file обычно использует данные из первых байтов файла, поэтому она может не суметь определить тип файла на основе блоков или кластеров, находящихся в середине.

Программа sorter в The Sleuth Kit использует другие инструменты Sleuth Kit для сортировки файлов в образе файловой системы по категориям. Категории основаны на наборах правил в файлах конфигурации. Инструмент sorter также использует базы данных хэшей для пометки известных вредоносных файлов и игнорирования известных безопасных файлов. Подробные сведения смотрите в файле wiki/sorter.

ЛИЦЕНЗИЯ

В TSK используются различные лицензии в зависимости от того, где они были впервые разработаны. Лицензии находятся в каталоге licenses.

  • Инструменты для файловых систем (в каталоге tools/fstools) выпущены под лицензией IBM Open Source License и Common Public License.
  • srch_strings и fiwalk выпущены под лицензией GNU Public License.
  • Другие инструменты в каталоге tools распространяются по лицензии Common Public License.
  • Модификации mactime из исходного mactime в TCT и mac-daddy выпущены по лицензии Common Public License.

Библиотека использует утилиты, выпущенные по лицензиям MIT и BSD 3-clause.

УСТАНОВКА

Инструкции по установке смотрите в документе INSTALL.txt.

ДРУГИЕ ДОКУМЕНТЫ

Вики содержит документы, более подробно описывающие предоставляемые инструменты. The Sleuth Kit Informer — это информационный бюллетень, содержащий новую документацию и статьи.

www.sleuthkit.org/informer/

РАССЫЛКА

Существуют списки рассылки на SourceForge, как для пользователей, так и для объявлений с низким объемом сообщений.

http://sourceforge.net/mail/?group_id=55685

Брайан Карриер

carrier at sleuthkit dot org

Комментарии
Войдите, чтобы оставить комментарий