Набор CLI-инструментов для анализа файловых систем и образов дисков: восстановление удалённых файлов, временная шкала, анализ MFT, поиск по хешам. Поддерживает NTFS, FAT, ext2/3/4, HFS+, ISO9660. Основа для Autopsy и многих других форензик-платформ.
# Ubuntu/Debian: sudo apt install sleuthkit # Из исходников: git clone https://github.com/sleuthkit/sleuthkit cd sleuthkit ./bootstrap && ./configure && make && sudo make install # Список файлов в образе: fls -r disk.dd # Извлечение удалённого файла (по inode): icat disk.dd 12345 > recovered_file # Временная шкала событий: fls -r -m "/" disk.dd | mactime -b - 2020-01-01
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 или аналогичного приложения, которое создает сырой образ. Эти инструменты являются низкоуровневыми, и каждый выполняет одну задачу. Вместе они могут выполнить полный анализ. Для более детального описания этих инструментов обратитесь к wiki/filesystem. Инструменты кратко описаны в рамках подхода уровней файловой системы. Название каждого инструмента начинается с буквы, присвоенной уровню.
Диск содержит одну или несколько разделов (или сегментов). Каждый из этих разделов содержит файловую систему. Примерами файловых систем являются Berkeley Fast File System (FFS), расширенная файловая система 2 (EXT2FS), файловая таблица (FAT) и новая технология файловой системы (NTFS).
Инструмент fsstat выводит подробную информацию о файловой системе в формате ASCII. Примеры данных в этом выводе включают имя тома, время последнего монтирования и подробности о каждой "группе" в файловых системах UNIX.
Уровень содержимого файловой системы содержит фактическое содержимое файла или данные. Данные хранятся в больших блоках, именуемых блоками, фрагментами и кластерами. Все инструменты этого уровня начинаются с букв blk.
Инструмент blkcat можно использовать для отображения содержимого конкретной единицы файловой системы (аналогично тому, что может сделать dd с несколькими аргументами). Размер единицы зависит от файловой системы. Инструмент blkls отображает содержимое всех неallocated единиц файловой системы, создавая поток байтов удаленного содержимого. Выходные данные можно искать на предмет содержимого удаленных файлов. Программа blkcalc позволяет определить расположение единицы в исходном образе для единицы, сгенерированной blkls.
Новой функцией The Sleuth Kit по сравнению с TCT является аргумент -l для blkls (или unrm в TCT). Этот аргумент перечисляет подробности для единиц данных, аналогично команде ils. Инструмент blkstat отображает статистику конкретной единицы данных (включая статус выделения и номер группы).
Уровень метаданных описывает файл или каталог. Этот уровень содержит описательные данные, такие как даты и размер, а также адреса единиц данных. Этот уровень описывает файл в понятных компьютеру терминах. Структуры, в которых хранятся данные, называются inode и записями каталога. Все инструменты этого уровня начинаются с буквы i.
Программа ils перечисляет некоторые значения структур метаданных. По умолчанию она перечисляет только не выделенные. Инструмент istat отображает информацию о метаданных в формате ASCII для конкретной структуры. В The Sleuth Kit появилась новая возможность: istat отображает назначение символических ссылок. Функция icat отображает содержимое единиц данных, выделенных для структуры метаданных (аналогично команде UNIX cat(1)). Инструмент ifind определит, какая структура метаданных выделила заданную единицу содержимого или имя файла.
Обратитесь к ntfs wiki для получения информации об адресации атрибутов метаданных в NTFS.
Уровень человеко-машинного интерфейса позволяет взаимодействовать с файлами более удобным способом, чем напрямую с уровнем метаданных. В некоторых операционных системах существуют отдельные структуры для уровней метаданных и человеко-машинного интерфейса, в других они объединены. Все инструменты этого уровня начинаются с буквы f.
Программа fls перечисляет имена файлов и каталогов. Этот инструмент также отобразит имена удаленных файлов. Программа ffind определит имя файла, который выделил заданную структуру метаданных. В некоторых файловых системах будут определены удаленные файлы.
Временные шкалы полезны для быстрого получения картины активности файлов. С помощью The Sleuth Kit можно легко создать временную шкалу времен MAC файлов. Программа 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 используется множество лицензий в зависимости от того, где они были впервые разработаны. Лицензии находятся в каталоге лицензий.
srch_strings и fiwalk выпущены под лицензией GNU Public Licensemactime из оригинального 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