Sleuth Kit


Описание Sleuth

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

Оригинальная часть Sleuth Kit — это библиотека C и набор инструментов с интерфейсом командной строки для судебного анализа файлов и системных дисков, томов. Инструменты файловой системы позволяют исследовать файловые системы подозрительного компьютера неразрушительными методами. Поскольку инструменты не полагаются на операционную систему при обработке файловых систем, они могут показывать удалённое и скрытое содержимое. Они работают на платформах Windows и Unix (Linux).

Инструменты системных томов (инструменты управления медиа носителями) позволяют проанализировать расположение дисков и других носителей. Sleuth Kit поддерживает разделы DOS (также называются MBR), разделы BSD (метки дисков), разделы Mac, Sun slices (содержание тома) и GPT-диски. С помощью этих инструментов вы можете определить, где расположены разделы, и извлечь их, чтобы их можно было проанализировать с помощью инструментов анализа файловой системы.

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

Входные данные

  • Анализирует файловую систему RAW (то есть созданную с помощью утилиты dd), Expert Witness (то есть EnCase) и AFF, а также образы дисков.
  • Поддерживает файловые системы NTFS, FAT, ExFAT, UFS 1, UFS 2, EXT2FS, EXT3FS, Ext4, HFS, ISO 9660 и YAFFS2 (даже если операционная система хоста не имеет или имеет другой порядок следования байтов (endian)).
  • Инструменты могут быть запущены в операционной системе Windows или UNIX во время реагирования на инциденты. Эти инструменты будут отображать файлы, которые были «скрыты» руткитами, и не изменят отметки времени просматриваемых файлов.

Техники поиска

  • Показывает список имён выделенных и удалённых файлов ASCII и Unicode, восстановление FAT, осиротевшие файлы NTFS
  • Отображение сведений и содержимого всех атрибутов NTFS (включая все альтернативные потоки данных).
  • Показывает подробные сведения о файловой системе и структуре метаданных.
  • Создание временных рамок активности файлов, которые можно импортировать в электронную таблицу для создания графиков и отчётов.
  • Поиск хешей файлов в базе данных хешей, такой как NIST NSRL, Hash Keeper, и пользовательские базы данных, созданные с помощью инструмента md5sum.
  • Организует файлы по их типу (например, все исполняемые файлы, файлы в формате JPEG и документы разделены). Из графических изображений могут быть составлены страницы миниатюр для быстрого анализа.

Sleuth Kit написан на C и Perl и использует некоторый код и дизайн из The Coroner's Toolkit (TCT). Комплект Sleuth Kit был протестирован на:

  • Linux
  • Mac OS X
  • Windows (Visual Studio и mingw)
  • CYGWIN
  • Open & FreeBSD
  • Solaris

У программы имеется графический интерфейс для Linux и Windows, который называется Autopsy. Точнее Autopsy это не только графический интерфейс, а целый фреймворк, который автоматизирует работы со библиотекой и инструментами Sleuth Kit, а также содержит дополнительные модули, расширяющие его возможности.

Домашняя страница: https://www.sleuthkit.org/sleuthkit/

Автор: Brian Carrier


Лицензия: Common Public License

Список инструментов Sleuth

Инструменты командной строки TSK организованы по слоям. Обычно инструменты в качестве ввода принимают диск или образ файловой системы.

Инструменты файловой системы

Полностью автоматизированные инструменты

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

  • tsk_comparedir: сравнивает иерархию локальных каталогов с содержимым необработанного устройства (или образа диска). Это можно использовать для обнаружения руткитов.
  • tsk_gettimes: извлекает все данные связанные со временем из образа для создания временной шкалы. Эквивалентен запуску fls с опцией -m.
  • tsk_loaddb: загружает метаданные из образов в базу данных SQLite. Это позволяет легко писать другие инструменты на разных языках программирования и предоставлять им доступ к содержимому образа.
  • tsk_recover: извлекает невыделенные (или выделенные) файлы из образа диска в локальный каталог.

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

Эти инструменты файловой системы обрабатывают общие данные файловой системы, такие как разметку, структуры распределения и загрузочные блоки.

  • fsstat: показывает детали и статистику файловой системы, включая разметку, размеры и метки.

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

Эти инструменты файловой системы обрабатывают структуры имён файлов, которые обычно находятся в родительском каталоге.

  • ffind: находит имена выделенных и нераспределенных файлов, которые указывают на заданную структуру метаданных.
  • fls: перечисляет имена выделенных и удалённых файлов в каталоге.

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

Эти инструменты файловой системы обрабатывают структуры метаданных, в которых хранятся сведения о файле. Примеры этой структуры включают записи каталога в FAT, записи MFT в NTFS и inodes в ExtX и UFS.

  • icat: извлекает блоки данных из файла, который определяется его адресом метаданных (вместо имени файла).
  • ifind: находит структуру метаданных, которая имеет указанное имя файла, указывающее на неё, или структуру метаданных, которая указывает на заданную единицу данных.
  • ils: перечисляет структуры метаданных и их содержимое в формате с разделителями каналов.
  • istat: отображает статистику и подробную информацию о данной структуре метаданных в удобном для чтения формате.

Инструменты уровня единиц данных

Эти инструменты файловой системы обрабатывают блоки данных, в которых хранится содержимое файла. Примеры этого слоя включают кластеры в FAT и NTFS, а также блоки и фрагменты в ExtX и UFS.

  • blkcat: извлекает содержимое заданного блока данных.
  • blkls: перечисляет подробную информацию об единицах данных и может извлекать нераспределённое пространство файловой системы.
  • blkstat: отображает статистику о данном блоке данных в удобном для чтения формате.
  • blkcalc: вычисляет, где данные в нераспределённом пространстве образа (из blkls) существуют в исходном образе. Это используется, когда доказательства обнаруживаются в нераспределенном пространстве.

Инструменты журнала файловой системы

Эти инструменты файловой системы обрабатывают журнал, который есть в некоторых файловых системах. В журнал записываются сделанные обновления метаданных (а иногда и содержимого). Это может помочь восстановить недавно удалённые данные. Примеры файловых систем с журналами включают Ext3, Ext4 и NTFS.

  • jcat: отображение содержимого определённого блока журнала.
  • jls: список записей в журнале файловой системы.

Инструменты системных разделов

Эти инструменты принимают образ диска (или другого носителя) в качестве входных данных и анализируют структуру его разделов. Примеры включают разделы DOS, метки дисков BSD и таблицу содержания тома Sun (VTOC). Их можно использовать для поиска скрытых данных между разделами и для определения смещения файловой системы для инструментов The Sleuth Kit. Инструменты управления носителями поддерживают разделы DOS (MBR), метки дисков BSD, Sun VTOC и разделы Mac.

  • mmls: отображает структуру диска, включая незанятое пространство.
  • mmstat: отображение сведений о системе томов (обычно только тип).
  • mmcat: извлекает содержимое определённого тома в STDOUT.

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

Этот слой содержит инструменты для различных форматов образов файлов. Например, если формат образа — разделённый на части образ или сжатый образ.

  • img_stat: инструмент покажет подробную информацию о формате образа
  • img_cat: этот инструмент покажет необработанное содержимое файла образа.

Дисковые инструменты

Эти инструменты можно использовать для обнаружения и удаления защищённой области хоста — Host Protected Area (HPA) на диске ATA. HPA можно использовать для сокрытия данных, чтобы они не копировались во время сбора данных. Эти инструменты в настоящее время предназначены только для Linux.

  • disk_sreset: этот инструмент временно удалит HPA, если он существует. После сброса диска HPA вернётся.
  • disk_stat: этот инструмент покажет, существует ли HPA.

Другие инструменты

  • hfind: использует алгоритм двоичной сортировки для поиска хешей в NIST NSRL, Hashkeeper и пользовательских базах данных хешей, созданных md5sum.
  • mactime: принимает входные данные от инструментов fls и ils для создания шкалы времени активности файлов.
  • sorter: сортирует файлы по их типу и выполняет проверку расширений и поиск в базе данных хешей.
  • sigfind: ищет двоичное значение по заданному смещению. Полезно для восстановления потерянных структур данных.

Справка по tsk_comparedir

tsk_comparedir сравнивает содержимое каталога с содержимым образа или локального устройства.

Это может быть полезно для обнаружения руткитов и при тестировании. Руткиты можно обнаружить, сравнив содержимое локального каталога и локального необработанного устройства. Обычно руткиты не скрывают данные, когда они читаются непосредственно с необработанного устройства.

Использование:

tsk_comparedir [-vV] [-n start_inum ] [ -f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [ -i ТИП_ОБРАЗА ] [ -b РАЗМЕР_СЕКТОРА_РАЗДЕЛА ] [ -o СМЕЩЕНИЕ_СЕКТОРА ] ОБРАЗ [ОБРАЗЫ] ДИРЕКТОРИЯ_ДЛЯ_СРАВНЕНИЯ

Опции:

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора для раздела в сравниваемом образе или устройстве.

-n start_inum

Начальный inum для директории на образе с которого начать сравнение.


-v

Подробный вывод в stderr

-V

Показать версию

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

Поддерживаемые файловые системы:

  • ntfs (NTFS)
  • fat (FAT (автоопределение))
  • ext (ExtX (автоопределение))
  • iso9660 (ISO9660 CD)
  • hfs (HFS+ (автоопределение))
  • yaffs2 (YAFFS2)
  • apfs (APFS)
  • ufs (UFS (автоопределение))
  • raw (необработанные данные)
  • swap (файл/раздел подкачки)
  • fat12 (FAT12)
  • fat16 (FAT16)
  • fat32 (FAT32)
  • exfat (exFAT)
  • ext2 (Ext2)
  • ext3 (Ext3)
  • ext4 (Ext4)
  • ufs1 (UFS1)
  • ufs2 (UFS2)
  • hfsp (HFS+)
  • hfsl (HFS (устаревший))

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

Поддерживаемые типы форматов образа:

  • raw (единый или разбитый необработанный файл (dd))
  • ewf (Expert Witness Format (EnCase))

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер (в байтах) секторов устройства. Если не указан, используются методы автоопределения.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

Справка по tsk_gettimes

tsk_gettimes — собирает время MAC (время создания, доступа и изменения) из образа диска в файл.


tsk_gettimes проверяет каждую из файловых систем в образе диска и возвращает данные о них в формате тела MACtime (то же самое, что и запуск 'fls -m' в каждой файловой системе). Выходные данные можно использовать в качестве входных данных для mactime для создания временной шкалы активности файлов. Данные печатаются в STDOUT, который затем может быть перенаправлен в файл.

Использование:

tsk_gettimes [-vV] [ -f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [ -i ТИП_ОБРАЗА ] [ -b РАЗМЕР_СЕКТОРА_РАЗДЕЛА ] [ -z ЗОНА ] [ -s СЕКУНДЫ ] ОБРАЗ [ОБРАЗЫ]

Опции:

-v

Подробный вывод в stderr

-V

Показать версию

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер (в байтах) секторов устройства. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-s СЕКУНДЫ

Временной сдвиг исходной системы в секундах. Например, если исходная система была медленнее на 100 секунд, это значение будет -100.

-z ЗОНА

Строка ASCII часового пояса исходной системы. Например, EST или GMT. Эти строки должны быть определены вашей операционной системой и могут отличаться.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

Справка по tsk_loaddb

tsk_loaddb — заполняет базу данных SQLite метаданными из образа диска.

tsk_loaddb загружает информацию о диске из образа в базу данных SQLite. Затем эта база данных может использоваться инструментами на других языках для анализа. По умолчанию база данных хранится в том же каталоге, что и образ, с добавленным к имени ".db" или имя базы данных может быть указано с помощью '-d'.

Использование:

tsk_loaddb [-ahkvV] [ -i ТИП_ОБРАЗА ] [ -b РАЗМЕР_СЕКТОРА_РАЗДЕЛА ] [ -d БАЗА_ДАННЫХ ] ОБРАЗ [ОБРАЗЫ]

Опции:

-a

Добавляет образ в существующую базу данных вместо создания новой. Требуется также указать -d.

-d БАЗА_ДАННЫХ

Путь к базе данных (по умолчанию тот же каталог, что и образ с именем, производным от имени образа).

-v

Подробный вывод в stderr

-V

Показать версию

-k

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

-h

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

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер (в байтах) секторов устройства. Если не указан, используются методы автоопределения.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

Справка по tsk_recover

tsk_recover экспортирует файлы из образа в локальный каталог.

tsk_recover восстанавливает файлы в КАТАЛОГ_ВЫВОДА из ОБРАЗА. По умолчанию восстанавливает только неразмеченные файлы. С флагами программа экспортирует все файлы.

Использование:

tsk_recover [-vVae] [ -f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [ -i ТИП_ОБРАЗА ] [ -b РАЗМЕР_СЕКТОРА_РАЗДЕЛА ] [ -o СМЕЩЕНИЕ_СЕКТОРА ] [ -d dir_inum ] ОБРАЗ [ОБРАЗЫ] КАТАЛОГ_ВЫВОДА

Опции:

-v

Подробный вывод в stderr

-V

Показать версию

-a

Восстановить только распределенные файлы

-e

Восстановить все файлы (распределенные и нераспределенные)

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер (в байтах) секторов устройства. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-d dir_inum

inum директории для восстановления (также необходимо указать конкретный раздел с помощью -o или не должно быть системных томов)

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

КАТАЛОГ_ВЫВОДА

Каталог, в котором сохраняются восстановленные файлы.

Справка по fsstat

fsstat показывает общие сведения о файловой системе.

fsstat отображает сведения, связанные с файловой системой. Вывод этой команды зависит от файловой системы. Дан как минимум диапазон значений метаданных (номеров inode) и единиц контента (блоков или кластеров). Также приводятся сведения о суперблоке, такие как время монтирования и особенности. Для файловых систем, использующих группы (FFS и EXT2FS), отображается структура каждой группы.

Для файловой системы FAT таблица FAT отображается в сжатом формате. Обратите внимание, что данные находятся в секторах, а не в кластерах.

Использование:

fsstat [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [-i ТИП_ОБРАЗА] [-o СМЕЩЕНИЕ_СЕКТОРА] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] [-tvV] ОБРАЗ [ОБРАЗЫ]

Опции:

-t ТИП

Выводит только файловые системы данного ТИПА.

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-v

Подробный вывод отладочных операторов в stderr.

-V

Показать версию.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

Справка по ffind

ffind находит имя файла или каталога по заданному inode

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

Использование:

ffind [-aduvV] [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ] [-i ТИП_ОБРАЗА] [-o СМЕЩЕНИЕ_СЕКТОРА] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] ОБРАЗ [ОБРАЗЫ] inode

Опции:

-a

Найти все вхождения inode.

-d

Поиск только удалённых элементов.

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-u

Поиск только неудалённых элементов.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-v

Подробный вывод в stderr

-V

Показать версию

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

inode

Целое число inode для поиска.

Эта программа ищет все пункты каталога по данной inode. Это полезно, когда индексный дескриптор был идентифицирован по адресу дискового устройства с помощью ifind.

Справка по fls

fls выводит список имён файлов и каталогов в образе диска.

fls перечисляет имена файлов и каталогов в образе и может отображать имена недавно удалённых файлов для каталога, используя данный индексный дескриптор. Если аргумент inode не указан, используется значение inode для корневого каталога. Например, в файловой системе NTFS это будет 5, а в файловой системе Ext3 — 2.

Использование:

fls [-adDFlpruvV] [-m mnt ] [-z ЗОНА ] [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [-s СЕКУНДЫ ] [-i ТИП_ОБРАЗА ] [-o СМЕЩЕНИЕ_СЕКТОРА ] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] ОБРАЗ [ОБРАЗЫ] [ inode ]

Опции:

-a

Показать такие пункты директории как "." и ".." (по умолчанию не выводятся)

-d

Показать только удалённые элементы.

-D

Показать только директории

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-F

Показать только файлы (всё, что не является директориями).

-l

Отображение сведений о файле в длинном формате. Отображается следующее содержимое:

  • file_type
  • inode
  • file_name
  • mod_time
  • acc_time
  • chg_time
  • cre_time
  • size
  • uid
  • gid

-m mnt

Отображение файлов в формате машины времени, чтобы можно было создать шкалу времени с помощью mactime. Строка, заданная как mnt, будет добавлена к именам файлов в качестве точки подключения (например, /usr).

-p

Отображать полный путь для каждой записи. По умолчанию он обозначает глубину каталога при рекурсивных запусках знаком «+».

-r

Рекурсивно отображать каталоги. Программа не будет следовать внутрь удалённых каталогов, потому что не может.

-s СЕКУНДЫ

Временной сдвиг исходной системы в секундах. Например, если исходная система была медленнее на 100 секунд, это значение будет -100. Используется, только если указаны -l или -m.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-u

Показывать только не удалённые пункты.

-v

Подробный вывод в stderr

-V

Показать версию

-z ЗОНА

Строка ASCII часового пояса исходной системы. Например, EST или GMT. Эти строки должны быть определены вашей операционной системой и могут отличаться.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

После определения inode файл можно восстановить с помощью icat из The Coroners Toolkit. Объём информации, восстанавливаемой из удалённых файловых записей, зависит от системы. Например, в Linux можно легко восстановить недавно удалённый файл, а в Solaris невозможно определить даже индексный дескриптор. Если вы просто хотите узнать, какое имя файла принадлежит индексному дескриптору, проще использовать ffind.

Справка по icat

icat выводит содержимое файла на основе его номера inode.

icat открывает именованный образ(ы) и копирует файл с указанным номером inode в стандартный вывод.

Использование:

icat [-hrsvV] [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [-i ТИП_ОБРАЗА ] [-o СМЕЩЕНИЕ_СЕКТОРА ] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] ОБРАЗ [ОБРАЗЫ] inode

Опции:

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-h

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

-r

Если файл удалён, использовать методы восстановления файлов.

-s

Включить свободное пространство в вывод.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-v

Подробный вывод отладочных операторов на stderr

-V

Показать версию

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

inode

Номер инода. icat объединяет содержимое всех указанных файлов.

Справка по ifind

ifind ищет структуру метаданных, которая выделила данный диск или имя файла.

ifind находит структуру метаданных, в которой data_unit выделил блок данных или имеет заданное имя файла. В некоторых случаях любая из структур может быть нераспределенной, и это все равно даст результаты.

Использование

ifind [-avVl] [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ] [-d data_unit] [-n ФАЙЛ] [-p par_inode] [-z ЗОНА] [-i ТИП_ОБРАЗА] [-o СМЕЩЕНИЕ_СЕКТОРА] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] ОБРАЗ [ОБРАЗЫ]

Опции:

Есть несколько обязательных и необязательных опций. Имена файлов образов необходимо указывать каждый раз:

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

Вы также должны указать, что ищете, и включить одно из следующего:

-d data_unit

Находит структуру метаданных, в которой выделен данный блок данных (блок, кластер и т. д.)

-n ФАЙЛ

Находит структуру метаданных, на которую указывает данное имя файла.

-p par_inode

Находит нераспределенные записи MFT в образе NTFS, в которых данный индексный дескриптор является родительским. Может использоваться с -l и -z.

Также есть несколько необязательных аргументов:

-a

Найти все структуры метаданных (работает только при поиске с data_unit).

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-l

Перечислит детали каждого найденного файла с '-p', как 'fls -l'.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-v

Подробный вывод в stderr

-V

Показать версию

-z ЗОНА

Если было дано '-p -l', эта опция установит часовой пояс для правильного времени.

Справка по ils

ils вывести информацию об inode.

ils открывает именованные образы и перечисляет информацию об индексных дескрипторах. По умолчанию ils перечисляет только индексные дескрипторы удалённых файлов.

Использование:

ils [-emOpvV] [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [-s СЕКУНДЫ ] [-i ТИП_ОБРАЗА ] [-o СМЕЩЕНИЕ_СЕКТОРА ] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] ОБРАЗ [ОБРАЗЫ] [НАЧАЛО-КОНЕЦ]
ils [-aAlLvVzZ] [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [-s СЕКУНДЫ ] [-i ТИП_ОБРАЗА ] [-o СМЕЩЕНИЕ_СЕКТОРА ] ОБРАЗ [ОБРАЗЫ] [НАЧАЛО-КОНЕЦ]

Опции:

-e

Перечислите все inode в файловой системе.

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-s СЕКУНДЫ

Временной сдвиг исходной системы в секундах. Например, если исходная система была медленнее на 100 секунд, это значение будет -100. Используется, только если указаны -l или -m.

-m

Отображение подробностей inode в формате, который читает программа mactime (заменяет скрипт ils2mac из TCT)

-O

Список только индексных дескрипторов удалённых файлов, которые все ещё открыты или выполняются. Этот параметр является сокращённым обозначением -aL "(смотрите раздел о точных элементах управления ниже). (Раньше это было -o).

-p

Отображать осиротевшие inodes (нераспределенные без имени файла)

-r

(по умолчанию) Список только индексных дескрипторов удалённых файлов. Этот параметр является сокращённым обозначением -LZ (смотрите аздел о точных элементах управления ниже).

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-v

Подробный вывод в stderr

-V

Показать версию

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

НАЧАЛО-КОНЕЦ

Исследовать указанный номер индекса или диапазон номеров.

Точный контроль:

-a

Перечислить только выделенные inodes: они принадлежат файлам с хотя бы одной записью в каталоге в файловой системе и удаленным файлам, которые все ещё открыты или выполняются.

-A

Перечислить только нераспределенные inodes: они принадлежат файлам, которые больше не существуют.

-l

Список только индексных дескрипторов с хотя бы одной жесткой ссылкой. Они принадлежат файлам с хотя бы одной записью каталога в файловой системе.

-L

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

-z

Перечислить только inode, которые, скорее всего, не использовались.

-Z

Перечислить только inodes, которые могут быть использованы.

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

st_ino

Номер inode.

st_alloc

Статус распределения: «a» для выделенного inode, «f» для свободного inode.

st_uid

ID пользователя-владельца.

st_gid

ID группы владельцев.

st_mtime

UNIX-время (секунды) последнего изменения файла.

st_atime

UNIX-время (секунды) последнего обращения к файлу.

st_ctime

UNIX-время (секунды) последнего изменения статуса inode.

st_dtime

UNIX-время (секунды) удаления файла (только для LINUX).

st_mode

Тип файла и разрешения (восьмеричное).

st_nlink

Количество жёстких ссылок.

st_size

Размер файла в байтах.

st_block0,st_block1

Первые две записи в списке адресов прямого блока.

Справка по istat

istat — показывает подробности структуры метаданных (т.е. индексного дескриптора).

istat отображает uid, gid, режим, размер, номер ссылки, время модификации, доступа, изменения, а также все дисковые единицы имеющих распределённую структуру.

Использование:

istat [-B num ] [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [-i ТИП_ОБРАЗА] [-o СМЕЩЕНИЕ_СЕКТОРА] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] [-vV] [-z ЗОНА ] [-s СЕКУНДЫ ] ОБРАЗ [ОБРАЗЫ] inode

Опции:

-B ЧИСЛО

Отображение адресов ЧИСЛА единиц дисков. Полезно, когда индексный дескриптор не распределён с размером 0, но всё ещё имеет указатели на блоки.

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-s СЕКУНДЫ

Временной сдвиг исходной системы в секундах. Например, если исходная система была медленнее на 100 секунд, это значение будет -100.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-v

Подробный вывод в stderr

-V

Показать версию

-z ЗОНА

Строка ASCII оригинального системного часового пояса. Например, EST5EDT или GMT. Эти строки определяются операционной системой и могут различаться. ПРИМЕЧАНИЕ. Это изменилось с момента TCTUTIL.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

inode

Номер метаданных для отображения статистики.

Справка по blkcat

blkcat отображает содержимое блока данных файловой системы в образе диска.

blkcat отображает ЧИСЛО блоков данных (по умолчанию — один), начиная с адреса блока АДРЕС_БЛОКА на образе в стандартный вывод в разных форматах (по умолчанию — raw). blkcat назывался dcat в версиях TSK до 3.0.0.

Использование:

blkcat [-ahswvV] [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ] [-u РАЗМЕР_БЛОКА] [-i ТИП_ОБРАЗА] [-o СМЕЩЕНИЕ_СЕКТОРА] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] ОБРАЗ [ОБРАЗЫ] АДРЕС_БЛОКА [ЧИСЛО]

Опции:

-a

Показать содержимое в ASCII.

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Указывает тип файловой системы. Если здесь указано «swap», образ будет отображаться на страницах размером 4096 байт. Если задано «raw», то размер по умолчанию составляет 512 байт. Флаг '-u' может изменить размер по умолчанию. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-h

Показать содержимое в шестнадцатеричном виде.

-s

Вывести статистику образа (размер блока, размер блока файла и количество фрагментов).

-u РАЗМЕР_БЛОКА

Укажите размер блока данных по умолчанию для образов raw, blkls и swap.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-v

Подробный вывод отладочных операторов на stderr.

-V

Показать версию.

-w

Показать содержимое в формате таблицы HTML.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

АДРЕС_БЛОКА

Адрес блока диска для показа. Размер блока в этой файловой системе можно определить с помощью опции -s.

ЧИСЛО

Количество отображаемых блоков данных.

Базовые функции blkcat также могут быть реализованы с помощью dd. Чтобы определить, какой индексный дескриптор выделил данный блок, можно использовать команду ifind.

Справка по blkls

blkls составляет список или выводит блоки данных файловой системы.

blkls открывает указанные образы и копирует блоки данных файловой системы. По умолчанию blkls копирует содержимое нераспределенных блоков данных. blkls назывался dls в версиях TSK до 3.0.0. blkls в TCT назывался unrm.

Использование:

blkls [-aAelsvV] [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [-i ТИП_ОБРАЗА ] [-o СМЕЩЕНИЕ_СЕКТОРА ] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] ОБРАЗ [ОБРАЗЫ] [НАЧАЛО-КОНЕЦ]

Опции:

-e

Скопируйте каждый блок, включая блоки метаданных файловой системы. На выходе получается вся файловая система.

-a

Показать все выделенные блоки (то же самое, что и -e, если также задано -A).

-A

Показать все нераспределенные блоки (то же самое, что и -e, если также задано -a). Это поведение по умолчанию.

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-l

Перечислит информацию о данных в формате машины времени.

-s

Скопирует только свободное пространство образа.

-v

Включит подробный режим, вывод в stderr.

-V

Покажет версию.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

НАЧАЛО-КОНЕЦ …

Проанализировать указанный номер блока или диапазон номеров.

Справка по blkstat

blkstat отображает подробную информацию о единице данных файловой системы (т. е. о блоке или секторе)

blkstat отображает статус распределения данного блока данных. blkstat назывался dstat в версиях TSK до 3.0.0.

Использование:

blkstat [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [-i ТИП_ОБРАЗА] [-o СМЕЩЕНИЕ_СЕКТОРА] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] [-vV] ОБРАЗ [ОБРАЗЫ] АДРЕС

Опции:

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-v

Подробный вывод отладочных операторов на stderr.

-V

Показать версию.

образ [образы]


Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

АДРЕС

Адрес для отображения статистики. Это фрагмент для файловых систем UNIX или сектор для FAT.

Справка по blkcalc

blkcalc конвертирует между номерами нераспределённых дисковых единиц и номерами обычных дисковых единиц.

blkcalc создаёт сопоставление номеров дисковых блоков между двумя образами, одним нормальным и другим, который содержит только нераспределённые блоки первого (поведение программы blkls по умолчанию). Необходимо указать одну из опций -d, -s или -u. Если задана опция -d, то значение АДРЕС_БЛОКА — это адрес юнита диска в обычном образе (то есть из dd). Если юнит нераспределён, даётся его адрес в нераспределенном образе. Если задана опция -u, то значение АДРЕС_БЛОКА — это адрес юнита диска в нераспределенном юните образа (то есть из blkls). Определяется его адрес блока диска в оригинальном образе. Если задана опция -s, то значение АДРЕС_БЛОКА — это адрес юнита диска в slack образе (то есть из blkls -s). Образ является полным исходным образом (то есть из dd). blkcalc назывался dcalc в версиях TSK до 3.0.0.

Использование:

blkcalc [-dsu АДРЕС_БЛОКА] [-vV] [-i ТИП_ОБРАЗА] [-o СМЕЩЕНИЕ_СЕКТОРА] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ] ОБРАЗ [ОБРАЗЫ]

Опции:

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-v

Подробный вывод отладочных операторов на stderr.

-V

Показать версию.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

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

Справка по jcat

jcat показывает содержимое блока в журнале файловой системы.

jcat показывает содержимое блока журнала в журнале файловой системы. Можно указать адрес inode журнала или использовать местоположение по умолчанию. Обратите внимание, что адрес блока — это адрес блока журнала, а не блока файловой системы. Необработанный вывод передаётся в STDOUT.

Использование:

jcat [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [-vV] [-i ТИП_ОБРАЗА] [-o СМЕЩЕНИЕ_СЕКТОРА] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] ОБРАЗ [ОБРАЗЫ] ] [ inode ] jblk

Опции:

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-v

Подробный вывод отладочных операторов на stderr.

-V

Показать версию.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

[inode]

Inode, где находится журнал файловой системы.

jblk

Блок журнала для отображения.

Справка по jls

jls выводит список содержимого журнала файловой системы

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

Использование:

jls [-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ ] [-vV] [-i ТИП_ОБРАЗА] [-o СМЕЩЕНИЕ_СЕКТОРА] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] ОБРАЗ [ОБРАЗЫ] [inode]

Опции:

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы. Используйте '-f list' для вывода списка поддерживаемых типов файловых систем. Если не указан, используются методы автоопределения.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-v

Подробный вывод отладочных операторов на stderr.

-V

Показать версию.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

[inode]

Inode, где находится журнал файловой системы.

Справка по mmls

mmls отображает разметку разделов томов системы, включая таблицы разделов и метки дисков.

Использование:

mmls [-t mmtype ] [-o offset ] [ -i ТИП_ОБРАЗА ] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] [-BrvV] [-aAmM] ОБРАЗ [ОБРАЗЫ]

Опции:

-t mmtype

Укажите тип управления мультимедиа. Используйте '-t list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

Поддерживаемые типы разделов:

  • dos (Таблица разделов DOS)
  • mac (Карта разделов MAC)
  • bsd (Метка диска BSD)
  • sun (Содержание Sun Volume (Solaris))
  • gpt (Таблица разделов GUID (EFI))

-o СМЕЩЕНИЕ

Укажите смещение в образе, где начинается том, содержащий систему разделов. Относительное смещение системы разделов будет добавлено к этому значению.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-B

Включите столбец с размерами разделов в байтах.

-r

Рекурсия в разделах DOS и поиск других таблиц разделов. Такое часто происходит, когда Unix установлен в системах x86.

-v

Подробный вывод отладочных операторов на stderr.

-V

Показать версию.

-a

Показать выделенные тома

-A

Показать нераспределенные тома

-m

Показать метаданных томов

-M

Спрятать метаданные томов

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

'mmls' похож на 'fdisk -lu' в Linux с некоторыми отличиями. А именно, он покажет, какие сектора не используются, чтобы в них можно было искать скрытые данные. Он также даёт значение длины, чтобы его можно было легко подключить к 'dd' для извлечения разделов. Он также покажет метки дисков BSD для Free, Open и NetBSD и отобразит вывод в секторах, а не в цилиндрах. Наконец, он работает в системах, отличных от Linux.

Если ни один из параметров -a, -A, -m или -M не задан, будут перечислены все типы томов. Если любой из них указан, то будут перечислены только типы, указанные в командной строке.

Выделенные (распределённые) тома — это те, которые перечислены в таблице разделов в системе томов И могут хранить данные. Нераспределенные тома виртуально создаются mmls, чтобы показать вам, какие секторы не были выделены тому. Тома метаданных перекрывают выделенные и нераспределенные тома и описывают, где расположены таблицы разделов и другие структуры метаданных. В некоторых системах томов эти структуры находятся в выделенном пространстве, а в других — в нераспределенном пространстве. В некоторых системах томов их расположение явно указывается в таблицах разделов, а в других — нет.

Справка по mmstat

mmstat отображает общие сведения о системе томов, включая таблицы разделов и метки дисков. Обычно удаётся определить тип, другие данные могут быть пропущены.

Использование:

mmstat [-t mmtype ] [-o СМЕЩЕНИЕ ] [ -i ТИП_ОБРАЗА ] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] [-vV] ОБРАЗ [ОБРАЗЫ]

Опции:

-t mmtype

Укажите тип управления мультимедиа. Используйте '-t list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ

Укажите смещение в образе, где начинается том, содержащий систему разделов. Относительное смещение системы разделов будет добавлено к этому значению.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-v

Подробный вывод отладочных операторов в stderr.

-V

Показать версию.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

Справка по mmcat

mmcat выводит содержимое определённого тома на стандартный вывод. Это позволяет вам извлечь содержимое раздела в отдельный файл.

Использование:

mmcat [-t mmtype ] [-o СМЕЩЕНИЕ ] [ -i ТИП_ОБРАЗА ] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] [-vV] ОБРАЗ [ОБРАЗЫ] НОМЕР_РАЗДЕЛА

Опции:

-t mmtype

Укажите тип управления мультимедиа. Используйте '-t list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-o СМЕЩЕНИЕ

Укажите смещение в образе, где начинается том, содержащий систему разделов. Относительное смещение системы разделов будет добавлено к этому значению.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-v

Подробный вывод отладочных операторов на stderr.

-V

Показать версию.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

НОМЕР_РАЗДЕЛА

Адрес обрабатываемого раздела. Смотрите вывод mmls, чтобы определить адреса разделов.

Справка по img_stat

img_stat отображает подробности, связанные с файлом образа. Вывод этой команды зависит от формата образа. Как минимум, будет указан размер и диапазон байтов каждого файла для форматов разделённых образов.

Использование:

img_stat [-i ТИП_ОБРАЗА] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] [-tvV] ОБРАЗ [ОБРАЗЫ]

Опции:

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-t

Показать только тип образа.

-v

Подробный вывод отладочных операторов в stderr.

-V

Показать версию.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

Справка по img_cat

img_cat выводит содержимое файла образа. Файлы образов, которые не являются raw, будут иметь встроенные данные и метаданные. img_cat выведет только данные. Это позволяет преобразовать встроенный формат в raw или вычислить хеш MD5 данных, направив вывод в соответствующий инструмент.

Использование:

img_cat [-i ТИП_ОБРАЗА] [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА] [-s start_sector] [-e stop_sector] [-vV] ОБРАЗ [ОБРАЗЫ]

Опции:

-i ТИП_ОБРАЗА

Формат файла образа, например raw. Используйте '-i list' для вывода списка поддерживаемых типов. Если не указан, используются методы автоопределения.

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-s НАЧАЛЬНЫЙ_СЕКТОР

Номер сектора с которого начать.

-e КОНЕЧНЫЙ_СЕКТОР

Номер сектора на котором остановиться.

-v

Подробный вывод отладочных операторов в stderr.

-V

Показать версию.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

Справка по hfind

hfind ищет хеш-значение в хеш-базе данных.

hfind ищет хеш-значения в базе данных, используя алгоритм двоичного поиска. Это позволяет легко создать базу данных с хешами и определить, известен файл или нет. Он работает с Национальной справочной библиотекой программного обеспечения NIST (NSRL) и выводом md5sum.

Прежде чем базу данных можно будет использовать с помощью «hfind», необходимо создать индексный файл с параметром «-i».

Этот инструмент нужен для эффективности. Большинство текстовых баз данных не имеют записей фиксированной длины и иногда не сортируются. Инструмент hfind создаст индексный файл, который будет отсортирован и содержит записи фиксированной длины. Это позволяет выполнять быстрый поиск с использованием алгоритма двоичного поиска вместо линейного поиска, такого как «grep».

Использование:

hfind [-i ТИП_БД ] [-f ФАЙЛ_ПОИСКА ] [-eq] ФАЙЛ_БД [ХЕШИ]

Опции:

-i ТИП_БД

Создаёт индексный файл для базы данных. Этот шаг необходимо выполнить до того, как можно будет выполнить поиск. Аргумент ТИП_БД указывает тип базы данных (например, nsrl-md5 или md5sum). Смотрите раздел ниже.

-f ФАЙЛ_ПОИСКА

Указывает расположение файла, который содержит по одному хеш-значению в каждой строке. Эти хеши будут найдены в базе данных.

-e

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

-q

Быстрый режим. Вместо отображения соответствующей информации с хешем просто показывает 0, если хеш не был найден, и 1, если он был найдён. Если этот флаг используется, то единовременно может быть задан только один хеш.

-V

Показать версию.

ФАЙЛ_БД

Расположение файла базы данных хешей.

[ХЕШИ]

Хэши для поиска. Если они не указаны в командной строке, используется STDIN. Если индексные файлы существуют как для хешей SHA-1, так и для хешей MD5, тогда оба типа хешей могут быть предоставлены во время выполнения.

ИНДЕКСНЫЙ ФАЙЛ

hfind использует индексный файл для выполнения двоичного поиска хеш-значения. Это намного быстрее, чем использование grep, которое будет выполнять линейный поиск. Перед использованием базы данных хешей необходимо создать соответствующий индексный файл. Это делается с помощью опции '-i' команды hfind.

Результирующий индексный файл будет назван на основе имени файла базы данных. Имя будет иметь таким же, за которым следует тип хеша (sha1 или md5), за которым следует '.idx'. Например, создание хеш-индекса MD5 для NIST NSRL приводит к «NSRLFile.txt-md5.idx», а индекс SHA-1 — к «NSRLFile.txt-sha1.idx».

В файле две колонки. Каждая запись сортируется по первому столбцу, который представляет собой хеш-значение. Во втором столбце указано байтовое смещение соответствующей записи в исходном файле. Итак, когда в индексе обнаруживается хеш, записывается смещение, а затем «hfind» ищет запись в исходной базе данных.

Допустимы следующие типы ввода. Для NSRL можно использовать nsrl-md5 и nsrl-sha1. Разница в том, по какому хэш-значению сортируется индекс. Значение 'md5sum' также можно использовать для сортировки и индексации «домашних» баз данных. 'hfind' может принимать данные в обоих распространённых форматах:

            MD5 (test.txt) = 76b1f4de1522c20b67acc132937cf82e

и

            76b1f4de1522c20b67acc132937cf82e        test.txt

Справка по mactime

mactime создаёт шкалу времени в формате ASCII для файловой активности на основе основного файла, указанного параметром -b или из STDIN. Шкала времени записывается в STDOUT. Основной файл должен быть в формате машины времени, который создаётся с помощью 'ils -m', 'fls -m' или утилитой mac-robber.

Использование:

mactime [-b тело ] [-g файл группы ] [-p файл паролей ] [-i (day|hour) index file ] [-dhmVy] [-z ЧАСОВОЙ_ПОЯС ] [ДИАПАЗОН_ДАТ]

Опции:

-b тело

Укажите расположение основного файла. Этот файл должен быть создан с помощью такого инструмента, как «fls -m» или «ils -m». Для создания файла также можно использовать инструменты «mac-robber» и «grave-robber».

-g файл группы

Укажите расположение файла группы. mactime отобразит имя группы вместо GID, если он указан.

-p файл паролей

Укажите расположение файла passwd. mactime будет отображать имя пользователя вместо указанного UID.

-i day|hour index file

Укажите расположение индексного файла для записи. Первый аргумент указывает степень детализации: почасовая или ежедневная сводка. Если указан флаг «-d», то сводка будет разделена «,» для импорта в электронную таблицу.

-d

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

-h

Отображение информации заголовка о сеансе, включая временной диапазон, источник ввода и файлы passwd или group.

-V

Показать версию в STDOUT.

-m

Месяц указывается в виде числа вместо имени (не работает с -y).

-y

Дата отображается в формате ISO8601.

-z ЧАСОВОЙ_ПОЯС

Часовой пояс, из которого были собраны данные. Имя этого аргумента зависит от системы (примеры включают EST5EDT, GMT+1). Не работает с -y.

-z list

Выводит список действительных часовых поясов.

ДИАПАЗОН_ДАТ

Диапазон дат, для которого будет построена шкала времени. Стандартный формат — гггг-мм-дд для начальной даты и без даты окончания. В качестве даты окончания используйте гггг-мм-дд..гггг-мм-дд.

Дата может содержать время, используйте формат гггг-мм-ддТчч:мм:сс для начальной и/или конечной даты.

Справка по sorter

sorter сортирует файлы в образе по категориям в зависимости от типа файла.

sorter — это скрипт на Perl, который анализирует файловую систему, чтобы организовать распределенные и нераспределенные файлы по типам файлов. Он запускает команду file для каждого файла и организует файлы в соответствии с правилами в файлах конфигурации. Несоответствие расширений также выполняется для выявления «скрытых» файлов. Можно также предоставить базы данных хешей для файлов, которые заведомо являются хорошими и которые можно игнорировать, и файлов, которые заведомо считаются плохими и о которых следует предупреждать.

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

Использование:

sorter [-b size] [-E] [-e] [-h] [-l] [-md5] [-s] [-sha1] [-U] [-v] [-V] [-a hash_alert] [-c config] [-C config] [-d dir] [-m mnt] [-n nsrl_db] [-x hash_exclude] [-o imgoffset] [-f fstype] [-i imgtype] image [images] [dir_meta_addr]

Опции:

Необходимые опции следующие. Программа проанализирует один или несколько образов и либо сохранит результаты в каталоге '-d', либо выведет результаты в STDOUT (если задано '-l').

-d ДИРЕКТОРИЯ

Укажите место, куда должны быть записаны все файлы. Сюда входят индексные файлы и подкаталоги, если указан флаг '-s'. Эта опция ДОЛЖНА быть указана, если не указан флаг списка '-l'.

-l

Перечислить информацию в STDOUT (файлы никогда не записываются). Это полезно для реагирования на инциденты с использованием netcat. Эта опция не может использоваться, если используется '-d'.

образ [образы]

Выбранный для чтения образ диска или раздела, формат которого задаётся с помощью '-i'. Если образ разделён на несколько сегментов, можно указать несколько имён файлов образов. Если указан только один файл образа, и его имя является первым в последовательности (например, как указано окончанием на '.001'), последующие сегменты образа будут включены автоматически.

Необязательные опции следующие:

-f ТИП_ФАЙЛОВОЙ_СИСТЕМЫ

Укажите тип файловой системы образа. Это тот же тип, что и в The Sleuth Kit.

-i ТИП_ОБРАЗА

Укажите тип образа, в котором находится файловая система. Это тот же тип, что и в The Sleuth Kit.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-b РАЗМЕР

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

-c ФАЙЛ_КОНФИГУРАЦИИ

Укажите расположение дополнительного файла конфигурации. Этот файл будет загружен помимо стандартных в каталог установки. Эти настройки будут иметь приоритет над стандартными файлами.

-C ФАЙЛ_КОНФИГУРАЦИИ

Укажите местоположение ЕДИНСТВЕННОГО файла конфигурации. Если задана эта опция, стандартные файлы конфигурации не загружаются. Например, в каталоге share/sort есть файл с именем images.sort. Этот файл содержит правила только для графических изображений. Если он указан с опцией -C, то с исследуемого образа будут сохранены только изображения.

-m ТОЧКА_МОНТИРОВАНИЯ

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

-a ОПОВЕСТИТЬ_О_ХЕШАХ

Укажите расположение базы данных хешей с записями известных «плохих» файлов. Если в этой базе данных будет обнаружен какой-либо файл с хеш-значением MD5, он будет помещён в специальный файл предупреждений. Эта база данных должна быть проиндексирована для MD5 с использованием hfind в The Sleuth Kit, прежде чем она будет использована sorter.

-n БД_NSRL

Укажите расположение базы данных Национальной справочной библиотеки по программному обеспечению (NSRL) NIST (www.nsrl.nist.org). Любой файл, найденный в NSRL, будет проигнорирован и не помещён в категорию. База данных должна быть проиндексирована для MD5 с помощью 'hfind' в The Sleuth Kit, прежде чем она будет использована sorter. В настоящее время файл базы данных называется NSRLFile.txt.

-x ИСКЛЮЧИТЬ_ХЕШИ

Укажите расположение хеш-базы данных с записями заведомо «хороших» файлов. Если в этой базе данных будет обнаружен какой-либо файл с хеш-значением MD5, он будет проигнорирован, не обработан и не сохранен в файлах категорий. Эта база данных должна быть проиндексирована для MD5 с использованием hfind в The Sleuth Kit, прежде чем она будет использована sorter.

-e

Выполнить проверку несоответствия расширений (файлы индекса категорий не создаются)

-U

Не сохранять данные о неизвестных типах файлов. По умолчанию «неизвестный» файл создаётся для файлов, которые программа file обозначает как неизвестные. Это позволяет уточнить их конфигурацию. Если это нежелательно, используйте этот флаг.

-h

Создание файлов категорий в HTML

-md5

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

-sha1

Вычислить значение SHA-1 для каждого файла и сохранить его в файле категории.

-s

Сохранить фактическое содержимое файла в подкаталогах в каталоге, указанном параметром '-d'. Например, все файлы JPG и GIF будут фактически сохранены в каталоге 'images' .

Если также указан «-h», то ещё создаются эскизы графических изображений.

-v

Показывать подробную информацию.

-V

Показать версию.

[meta_addr]

Адрес метаданных каталога, с которого нужно начать. По умолчанию используется корневой каталог. Если это дано, то для анализа можно указать только один образ.

ОБЗОР ПРОЦЕССА НА ВЫСОКОМ УРОВНЕ

sorter — это Perl-скрипт, который взаимодействует с другими инструментами The Sleuth Kit. Он начинает с чтения файлов конфигурации из каталога установки. В каждой операционной системе существует общий файл конфигурации и специфичный файл. Специфичный файл определяется флагом '-f'. Каждый файл конфигурации содержит правила обработки вывода команды file. Строка одного типа определяет, к какой категории (к примеру 'images') относится вывод команды file (к примеру 'image data') (с использованием регулярных выражений). Другое правило показывает расширения файлов (например, .txt), которые принадлежат выводу file (например, текст ASCII(.*?)text). Смотрите раздел «Правила» ниже.

Затем программа запускает инструмент «fls» в The Sleuth Kit для идентификации файлов в образе файловой системы. Каждый идентифицированный файл просматривается с помощью инструмента icat. Если дана база данных хешей, вычисляется и просматривается хеш файла. Если он находится в базе данных «alert», то он добавляется в специальный файл «alert.txt». Если он найден в NSRL или базе данных «exclude», то он игнорируется как заведомо неинтересный файл. Исключённые файлы записываются в файл "exclude" для дальнейшего использования, но он не сохраняется в файлах категорий.

Затем запускается команда 'file' для определения типа файла (на основе информации из заголовка). Правила файла конфигурации используются для определения, к какой категории он принадлежит. Запись добавляется в соответствующий файл категории (в каталоге '-d ДИРЕКТОРИЯ'). Если указан флаг '-s', то копия файла сохраняется в подкаталоге с тем же именем, что и категория. Если используется формат HTML, то гиперссылки позволят легко просматривать сохранённые файлы и просматривать содержимое каждой категории.

Файлы, не имеющие категории, записываются в категорию 'unknown' и категорию 'data'. Категория 'data' предназначена для файлов со структурой, которую 'file' не знает, а 'unknown' — для файлов со структурой, о которой 'file' знает. Они сохраняются для использования в будущем, но категорию unknown можно игнорировать с помощью флага '-U'.

Копию файлов можно сохранить с помощью флага «-s». Если это так, то файлы сохраняются в подкаталоге с именем категории. Каждый файл назван с использованием имени образа файловой системы, за которым следует адрес метаданных и исходное расширение файла. Индексный файл категории можно использовать для перевода фактического имени в сохранённое имя.

Формат HTML упрощает просмотр, поскольку есть ссылки на каждый файл из файла индекса категории.

Программа также проконсультируется с правилами о расширении файла. Если в конце файла есть расширение (что-либо после «.»), Оно будет сравнено с правилами. Если расширение не найдено в правилах как допустимое расширение для типа файла, оно будет добавлено в файл 'mismatch'. Если файл не имеет расширения, он не будет введён, даже если тип файла имеет допустимые расширения. Эта проверка выполняется, даже если файл найден в одной из известных баз данных хешей хороших файлов. Если он будет найден в одной из них, он будет добавлен в специальный файл. Файлы типа 'data' по умолчанию не проверяются на расширение (поскольку они имеют неизвестную структуру).

Программа повторяет описанные выше процедуры, используя также вывод команды 'ils'. Это позволяет 'sorter' проверять содержимое нераспределенных файлов, которые все ещё имеют указатели на блоки данных (не все файловые системы будут давать данные на этом этапе).

КОНФИГУРАЦИОННЫЕ ФАЙЛЫ

Файлы конфигурации используются для определения того, какие типы файлов относятся к каким категориям и какие расширения относятся к каким типам файлов. Файлы конфигурации поставляются с 'sorter' и находятся в каталоге установки по пути 'share/sorter'.

Файл default.sort используется файловыми системами любого типа. Он содержит записи для общих типов файлов. Также существует специализированные файлы под определённую операционную систему, которые полезны для расширений, специфичных для данной ОС. По умолчанию будут использоваться файл default.sort и файл для конкретной ОС. Используя флаг '-c', можно задействовать дополнительный файл. Если используется флаг '-C', то используется только указанный файл конфигурации.

В файлах конфигурации есть два типа правил. Каждое правило начинается с заголовка, который указывает, к какому типу оно относится (category или ext). У обоих типов правил есть два дополнительных столбца, которые можно разделить любым пробелом.

Правило категории имеет имя категории во втором столбце и регулярное выражение Perl в третьем столбце. Название категории не может содержать пробелов и может состоять только из букв и цифр. Регулярное выражение используется для проверки вывода программы 'file'. Регулярное выражение будет использоваться без учёта регистра. Для категории может существовать несколько правил, но для данного выходного файла может существовать только одна категория. Например:

Это правило сохраняет весь выходной файл с «данными изображения» в любом месте в категории «изображения»:

Это правило сохраняет все файлы, в информации о которых в любом месте присутствует строка 'image data' в категорию 'images':

           category        images          image data

Это правило сохраняет все файлы, в информации о которых присутствует строка 'ASCII', а затем следует что угодно и затем строка 'text' в категорию 'text':

           category        text            ASCII(.*?)text

Это правило сохраняет все файлы, в информации о которых присутствует строка 'data' в категорию 'data' (символы ^ и $ задают границы в Perl). Значение 'data' распространено в выводе для файлов с неизвестными двоичными данными.

           category        data            ^data?

Существует специальная категория 'ignore', которая используется для пропуска файлов указанного типа. Это применяется в основном для экономии времени и места.

Правило расширения аналогично, за исключением того, что во втором столбце указывается расширение для которое ищется в выводе команды file. Для одного и того же типа файла может существовать несколько правил. Сравнение будет производиться без учёта регистра. Если для типа файла нет допустимого расширения, создавать правило не нужно. Это уже предполагается.

Например, ASCII используется для нескольких расширений файлов, поэтому могут существовать следующие правила:

           ext             txt,log         ASCII(.*?)text
           ext             c,cpp,h,js      ASCII(.*?)text

ТРЕБОВАНИЯ

Национальную справочную библиотеку программного обеспечения NIST (NSRL) можно найти на сайте www.nsrl.nist.gov.

Справка по sigfind

sigfind для поиска шестнадцатеричной сигнатуры в файле.

sigfind просматривает файл и ищет определённую последовательность байт по заданному смещению. Это можно использовать для поиска потерянных загрузочных секторов, суперблоков и таблиц разделов.

Использование:

sigfind [-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА ] [-o СМЕЩЕНИЕ_СЕКТОРА ] [-t ШАБЛОН ] [-lV] [ ШЕСТНАДЦАТЕРИЧНАЯ_СИГНАТУРА ] ФАЙЛ

Опции:

-b РАЗМЕР_СЕКТОРА_РАЗДЕЛА

Размер в байтах секторов нижележащего устройства. Если не указан, используется значение в формате образа (если оно существует) или предполагается 512 байтов.

-o СМЕЩЕНИЕ_СЕКТОРА

Смещение сектора, в котором начинается файловая система в образе.

-t ШАБЛОН

Укажите имя шаблона, определяющее значение и смещение сигнатуры. Поддерживаемые шаблоны: dospart, ext2, ext3, ext4, fat, hfs, hfs+, ntfs, ufs1, ufs2

-l

Сигнатура хранится в порядке little-endian (от младшего к старшему) и поэтому должна быть записана в обратном порядке.

-V

Показать версию.

[ШЕСТНАДЦАТЕРИЧНАЯ_СИГНАТУРА]

Бинарная сигнатура, которую вы ищете. Она должна быть указана в шестнадцатеричном формате. Этот аргумент должен существовать, если не используется -t.

ФАЙЛ

Любые сырые данные.

Примеры запуска Sleuth

Чтобы сравнить каталоги в image.dd с каталогами в directory:

tsk_comparedir ./image.dd ./directory

Чтобы собрать данные об образе image.dd:

tsk_gettimes ./image.dd > body.txt

Чтобы загрузить данные образа из image.dd в image.dd.db:

tsk_loaddb ./image.dd

Чтобы восстановить только нераспределенные файлы из image.dd в каталог recovered:

tsk_recover ./image.dd ./recovered

Чтобы получить список всех файлов и каталогов в образе, используйте:

fls -r image 2

или просто (если inode не указан, используется inode корневого каталога):

fls -r image

Чтобы получить полный путь к удаленным файлам в данном каталоге:

fls -d -p image 29

Чтобы получить вывод mactime, выполните:

fls -m /usr/local image 2

Если у вас есть образ диска и файловая система начинается в секторе 63, используйте:

fls -o 63 disk-img.dd

Если у вас разделённый образ диска, используйте:

fls -i "split" -o 63 disk-1.dd disk-2.dd disk-3.dd

Чтобы просмотреть таблицу разделов системы Windows с помощью автоопределения:

mmls disk_image.dd

Чтобы перечислить содержимое системы BSD, которая начинается в секторе 12345 разделённого образа:

mmls -t bsd -o 12345 -i split disk-1.dd disk-2.dd

Чтобы создать индексный файл MD5 для NIST NSRL:

hfind -i nsrl-md5 /usr/local/hash/nsrl/NSRLFile.txt

Чтобы найти значение в NSRL:

hfind /usr/local/hash/nsrl/NSRLFile.txt 76b1f4de1522c20b67acc132937cf82e

            76b1f4de1522c20b67acc132937cf82e  Hash Not Found

Вы даже можете использовать оба SHA-1 и MD5, если хотите:

hfind -i nsrl-sha1 /usr/local/hash/nsrl/NSRLFile.txt

hfind /usr/local/hash/nsrl/NSRLFile.txt 76b1f4de1522c20b67acc132937cf82e  80001A80B3F1B80076B297CEE8805AAA04E1B5BA

            76b1f4de1522c20b67acc132937cf82e  Hash Not Found
            80001A80B3F1B80076B297CEE8805AAA04E1B5BA  thrdcore.cpp

Чтобы создать базу данных критических двоичных файлов доверенной системы, используйте md5sum:

md5sum /bin/* /sbin/* /usr/bin/* /usr/bin/* /usr/local/bin/* /usr/local/sbin/* > system.md5
hfind -i md5sum system.md5

Для поиска записей будет работать следующее:

hfind system.md5 76b1f4de1522c20b67acc132937cf82e

76b1f4de1522c20b67acc132937cf82e  Hash Not Found

или

md5sum -q /bin/* | hfind system.md5
928682269cd3edb1acdf9a7f7e606ff2  /bin/bash
<...>

или

md5sum -q /bin/* > bin.md5
hfind -f bin.md5 system.md5
928682269cd3edb1acdf9a7f7e606ff2  /bin/bash
<...>

Чтобы запустить sorter без хеш-баз данных, можно использовать следующее:

sorter -f ntfs -d data/sorter images/hda1.dd
sorter -d data/sorter images/hda1.dd
sorter -i raw -f ntfs -o 63 -d data/sorter images/hda.dd

Чтобы включить NSRL и базы данных exclude и alert:

sorter -f ntfs -d data/sorter -a /usr/hash/rootkit.db -x /usr/hash/win2k.db -n /usr/hash/nsrl/NSRLFile.txt images/hda1.dd

Чтобы просто идентифицировать образ с помощью прилагаемого файла images.sort:

sorter -f ntfs -C /usr/local/sleuthkit/share/sort/images.sort -d data/sorter -h -s images/hda1.dd

Поиск сигнатуры файловой системы FAT32:

sigfind -t fat disk.dd

Поиск сигнатуры AA55 со сдвигом от начала каждого сектора 510:

sigfind -o 510 -l AA55 disk.dd

Временные линии

Отображает содержимое указанного блока журнала (5035) для образа диска images/c_drive.dd:

icat images/c_drive.dd 5035 | less

ПРИМЕЧАНИЕ: Для упорядочивания отображения передавайте весь вывод по трубе в программу вроде "less".

Поиск

В этом сценарии мы будем искать в нераспределённой области образа "wd0e.dd" строку "abcdefg". Первый шаг — это извлечение не распределённых блоков диска используя инструмент blkls (поскольку это FFS образ, адресные блоки фрагментированы).

blkls images/wd0e.dd > output/wd0e.blkls

Далее, используйте утилиту UNIX strings для извлечения всех ASCII строк в файле не распределённых данных. Если мы собираемся искать только одну строку, может быть, нам не нужно делать это. Если мы собираемся искать много строк, тогда это быстрее. Используйте флаги '-t d' с командой "strings" для вывода байтового сдвига, на котором была найдена строка.

strings -t d output/wd0e.blkls > output/wd0e.blkls.str

Использование утилиты UNIX grep для поиска строки в файле.

grep "abcdefg" output/wd0e.blkls.str | less
10389739: abcdefg

Мы заметили, что строка размещена на байте 10389739. Далее определяем, что за фрагмент. Чтобы сделать это используйте инструмент fsstat:

fsstat -t ufs images/wd0e.dd
	<...>
    CONTENT-DATA INFORMATION
    --------------------------------------------
    Fragment Range: 0 - 266079
    Block Size: 8192
    Fragment Size: 1024

Это показывает нам, что каждый фрагмент имеет длину в 1024 байта. Используя калькулятор, мы находим, что 10389739 байт поделить на 1024 — это 10146 (с остатком). Это означает, что строка "abcdefg" размещена во фрагменте 10146 сгенерированного в blkls файла. На самом деле, это не особо нам помогло, т. к. образ blkls это не настоящая файловая система. Для просмотра полного фрагмента из образа blkls мы можем использовать dd:

dd if=images/wd0e.dd bs=1024 skip=10146 count=1 | less

Далее мы найдём где этот фрагмент в оригинальном образе. Для этого будет использоваться инструмент blkcalc. "blkcalc" вернёт "адрес" в оригинальном образе, где данный "адрес" в сгенерированном образе blkls. (ПОМНИТЕ, в настоящее время это довольно медленно). Использование флага '-u' покажет, что мы передаём программе адрес blkls. Если указан флаг '-d', это значит что мы передаём программе dd адрес и это будет идентифицировать адрес blkls.

blkcalc -u 10146 images/wd0e.dd
59382

Следовательно, строка "abcdefg" размещена во фрагменте 59382. Для просмотра контекста этого фрагмента, мы можем использовать "blkcat".

blkcat images/wd0e.dd 59382 | less

Чтобы придать этому больше смысла, давайте выясним, есть ли структура метаданных, которая всё ещё указывает на этот фрагмент. Это достигается использованием ifind. Аргумент '-a' означает найти все вхождения.

ifind -a images/wd0e.dd 59382
493

Индексный дескриптор файла 493 имеет указатель на фрагмент 59382. Давайте получим больше информации о 493 используя istat.

istat images/wd0e.dd 493
	inode: 493
	Not Allocated
	uid / gid: 1000 / 1000
	mode: rw-------
	size: 92
	num of links: 1
	Modified:       08.10.2001 17:09:49     (GMT+0)
	Accessed:       08.10.2001 17:09:58     (GMT+0)
	Changed:        08.10.2001 17:09:49     (GMT+0)
	Direct Blocks:
	  59382

Далее давайте узнаем, имеется ли файл, который всё ещё ассоциирован с этим (не распределённым) индексным дескриптором файла. Это делается с использованием ffind.

ffind -a images/wd0e.dd 493
	* /dev/.123456

'*' в начале говорит о том, что файл удалён. Следовательно, с одной стороны, файл '/dev/.123456' выделил индексный дескриптор файлов 493, который выделил фрагмент 59382, содержащий строку "abcdefg".

If "ffind" вернулась с более чем одним файлом, который выделил индексный дескриптор файла 493, это означает, что, либо оба имели жёсткие ссылки к одному файлу, или что один файл (курица), выделивший индексный дескриптор файлов, был удалён, второй файл (яйцо), выделило его, а затем он был удалён. Строка принадлежит второму файлу, но трудно выяснить, который пришёл первым. С другой стороны, если "ffind" вернулась с двумя записями, где одна удалена, а одна — нет, то строка принадлежит не удалённому файлу.

Как упоминалось ранее, Autopsy сделает это всё для вас, когда вы выполняете поиск по колючевым словам по незанятому пространству.

Удалённое содержимое

Для просмотра всех удалённых файлов в образе, используйте инструмент fls. Чтобы найти все удалённые файлы используйте флаг '-r' для рекурсии и флаг '-d' для удалённых.

fls -rd images/hda9.dd | less
    d/d * 232: 	/TEMP-823450
    r/d * 293: 	/TEMP-131100

Это показывает нам полный путь, по которым были размещены удалённые файлы. На некоторых системах, таких как Windows NTFS, файл ещё может быть восстановлен (зависит от системной активности после удаления файла). На других системах, таких как Solaris UFS and Linux Ext3, удалённые файлы не могут быть легко восстановлены. Номер в начале строк — это номер индексного дескриптора файлов. Символ '*' показывает, что это удалённый, а 'd' и 'r' показывают тип (директория и файл). Первая буква показывает значение типа записи директории (который не существует во всех типах файловой системы), а вторая буква — это тип в соответствии с индексным дескриптором файла. В большинстве случаев они должны быть одинаковыми, но могут быть разными для удалённых файлов, если индексный дескриптор файлов был переназначен файл другого типа. Если мы делаем "istat" на директорию (232) мы заметим, что её размер равен 0.

istat images/hda9.dd 232
	inode: 232
	Not Allocated
	uid / gid: 0 / 0
	mode: rwxr-xr-x
	size: 0
	num of links: 0
	Modified:       08.23.2001 21:52:33     (GMT+0)
	Accessed:       08.23.2001 23:05:39     (GMT+0)
	Changed:        08.23.2001 21:52:33     (GMT+0)
	Deleted:        08.23.2001 23:05:39     (GMT+0)
	Direct Blocks:

Linux делает это со всеми удалёнными директориями. Также следует обратить внимание, что в выводе "istat" не показаны блоки адресов. Это от того, что размер равен нулю 0, и программа думает, что является фиктивным. Используя опцию '-b' для "istat", мы можем принудить программу вывести адрес блока. С Linux Ext3, указатели должны быть 0, но Linux Ext2 хранит старый адрес.

istat -b 2 images/hda9.dd 232
	inode: 232
	Not Allocated
	uid / gid: 0 / 0
	mode: rwxr-xr-x
	size: 0
	num of links: 0
	Modified:       08.23.2001 21:52:33     (GMT+0)
	Accessed:       08.23.2001 23:05:39     (GMT+0)
	Changed:        08.23.2001 21:52:33     (GMT+0)
	Deleted:        08.23.2001 23:05:39     (GMT+0)
	Direct Blocks:
	  388 0

Мы можем исследовать содержимое блока 388 и увидеть имена файлов, которые были в этой директории:

blkcat -h images/hda9.dd 388 | less

Инструкция по восстановлению удалённых файлов

Файловые системы UFS/FFS или EXT2FS/EXT3FS организованы в группы. Каждая группа имеет её собственные индексы файловых дескрипторов для хранимых в них данных. При создании нового файла, ему даётся индексный дескриптор файлов в той же группе, в какой индексный дескриптор файлов родительской директории (если там ещё доступны индексные дескрипторы файлов). При создании новой директории, ей даётся индексный дескриптор файлов новой группы. Индексный дескриптор файлов выделяет блоки из той же группы, в которой сам.

При восстановлении файлов из UFS или EXTxFS, может использоваться разметка группы. Когда удалённый файл найден с 'fls', обратите внимание на индексный дескриптор файлов родительской директории:

fls -r images/hda1.dd
	d/d 30789:      doc
    + r/r * 0:    doc/.a/ssh.tar
    + r/r 30792:    doc/.a/install
	<...>

Мы хотим восстановить файл 'ssh.tar' и обратили внимание, что родительская директория это 30789, а удалённый файл имеет очищенный указатель индексного дескриптора файлов. Для идентификации группы, в которой он, используется инструмент 'fsstat':

fsstat images/hda1.dd
    FILE SYSTEM INFORMATION
    --------------------------------------------
    File System Type: EXT3FS
	<...>

    Group: 0:
      Inode Range: 1 - 15392
      Block Range: 0 - 32767
        Super Block: 0 - 0
        Group Descriptor Table: 1 - 1
        Data bitmap: 2 - 2
        Inode bitmap: 3 - 3
        Inode Table: 4 - 484
        Data Blocks: 485 - 32767

    Group: 1:
      Inode Range: 15393 - 30784
      Block Range: 32768 - 65535
        Super Block: 32768 - 32768
        Group Descriptor Table: 32769 - 32769
        Data bitmap: 32770 - 32770
        Inode bitmap: 32771 - 32771
        Inode Table: 32772 - 33252
        Data Blocks: 33253 - 65535

    Group: 2:
      Inode Range: 30785 - 46176
      Block Range: 65536 - 98303
        Data bitmap: 65536 - 65536
        Inode bitmap: 65537 - 65537
        Inode Table: 65540 - 66020
        Data Blocks: 65538 - 65539, 66021 - 98303

    <...>

Этот индексный дескриптор файлов — это диапазон адресов индексных дескрипторов файлы для группы 1. Для поиска удалённого файла мы извлекаем не распределённое пространство используя 'blkls':

blkls images/hda1.dd 32768-65535 > output/hda1-grp1.blkls

Если мы хотим извлечь все данные из этой группы, мы можем использовать 'dd':

dd if=images/hda1.dd of=output/hda1-grp1.dd bs=4096 skip=32768 \
count=32767

Где размер фрагмента 4096 (который также можно найти в выводе 'fsstat'). Любой из этих образов может быть проанализирован на ключевые слова или с использованием других инструментов по вырезанию данных, таких как 'foremost'. Этот процесс позволяет уменьшить количество данных, которые должны быть проанализированы.

Установка Sleuth

Программа предустановлена в Kali Linux.

Для версий с минимальным набором программ выполните:

sudo apt update
sudo apt install sleuthkit

Установка в BlackArch

Программа предустановлена в BlackArch.

sudo pacman -S sleuthkit

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты Sleuth

Инструкции по Sleuth

Ссылки на инструкции будут добавлены позже.


Рекомендуется Вам:

Comments are Closed