← retour aux outils back to tools

# The Sleuth Kit

Collection d'outils forensiques en ligne de commande pour analyser des images disque et des systèmes de fichiers. Le moteur derrière Autopsy : utilisé pour la récupération de fichiers, les métadonnées et l'analyse de timeline. Collection of command-line forensic tools for analyzing disk images and filesystems. The backend behind Autopsy — used for file recovery, metadata, and timeline analysis.

↗ https://www.sleuthkit.org

## Overview

The Sleuth Kit (TSK) is a collection of Unix-based command-line digital forensics tools. It analyzes volume systems, filesystems, and individual files from raw disk images. `Autopsy` is the GUI frontend built on top of TSK.

## Image & Volume Tools

List partition layout of a disk image

    mmls disk.dd

    # Example output:
    # DOS Partition Table
    # Offset Sectors  Description
    # 000000 000063   Unallocated
    # 000063 2056320  NTFS (0x07)

Show volume system details

    mmstat disk.dd

Show filesystem stats at a partition offset

    fsstat disk.dd -o 63

Show filesystem stats for a specific filesystem type

    fsstat -f ntfs disk.dd -o 63

## File System Enumeration

List all files (including deleted, marked with *)

    fls disk.dd -o 63

Recursive listing

    fls -r disk.dd -o 63

List with full metadata

    fls -l disk.dd -o 63

List only directories

    fls -D disk.dd -o 63

List only files

    fls -F disk.dd -o 63

Show deleted files only

    fls -u disk.dd -o 63

## File Extraction

Extract file by inode number (from fls output)

    icat disk.dd -o 63 INODE > recovered_file.txt

Extract to stdout, pipe to file

    icat disk.dd -o 63 128 > mft_entry.bin

Extract deleted file (if inode still exists)

    icat disk.dd -o 63 INODE_OF_DELETED_FILE > deleted.doc

## Metadata Analysis

Show file metadata by inode

    istat disk.dd -o 63 INODE

Show metadata for specific file

    istat disk.dd -o 63 128   # MFT entry 128 (NTFS)

Show MFT entries for NTFS

    ifind -n "Documents/secret.txt" disk.dd -o 63

## Timeline Generation

Generate MAC times from filesystem (bodyfile format)

    fls -r -m / disk.dd -o 63 > bodyfile.txt

Convert bodyfile to human-readable timeline

    mactime -b bodyfile.txt -d > timeline.csv

Filter by date range

    mactime -b bodyfile.txt -d 2024-01-01 2024-12-31 > timeline_2024.csv

Sort by time

    mactime -b bodyfile.txt -d | sort > sorted_timeline.txt

## String Searching

Search for string in unallocated space

    blkls disk.dd -o 63 | strings | grep -i "password"

Search for string in entire image

    strings disk.dd | grep -i "admin"

Get block containing a string

    sigfind -b 512 -t ntfs disk.dd   # Find NTFS signatures

## Carving Deleted Files

Extract unallocated (deleted) space

    blkls disk.dd -o 63 > unallocated.dd

Carve files from unallocated space (use foremost or scalpel)

    foremost -t all -i unallocated.dd -o carved/

## Tips

- `mmls` first to get partition offset, then pass it with `-o` to all subsequent commands
- `fls` with `*` prefix indicates deleted files — use `icat` to recover them
- Combine `fls -m` bodyfile output with `mactime` for timeline analysis
- TSK supports NTFS, FAT, ext2/3/4, HFS+, ISO9660, YAFFS2

Key commands reference

    Volume tools:
      mmls        List partition table
      mmstat      Volume system stats
      mmcat       Output raw partition data

    Filesystem tools:
      fsstat      Filesystem statistics
      fls         File/directory listing
      ffind       Find file by inode

    File tools:
      icat        Extract file by inode
      istat       Inode metadata
      ifind       Find inode by name

    Block tools:
      blkcat      Output data block content
      blkls       Extract unallocated blocks
      blkstat     Block metadata

    Timeline:
      mactime     Generate timeline from bodyfile

## Vue d’ensemble

The Sleuth Kit (TSK) est une collection d’outils forensiques numériques Unix en ligne de commande. Il analyse les systèmes de volumes, les systèmes de fichiers et les fichiers individuels à partir d’images disque brutes. `Autopsy` est l’interface graphique construite au-dessus de TSK.

## Outils d’image et de volume

    # Lister la table de partitions d'une image disque
    mmls disk.dd

    # Exemple de sortie :
    # DOS Partition Table
    # Offset Sectors  Description
    # 000000 000063   Unallocated
    # 000063 2056320  NTFS (0x07)

    # Afficher les détails du système de volumes
    mmstat disk.dd

    # Afficher les stats du système de fichiers à un offset de partition
    fsstat disk.dd -o 63

    # Afficher les stats pour un type de système de fichiers spécifique
    fsstat -f ntfs disk.dd -o 63

## Énumération du système de fichiers

    # Lister tous les fichiers (y compris supprimés, marqués d'un *)
    fls disk.dd -o 63

    # Listing récursif
    fls -r disk.dd -o 63

    # Listing avec métadonnées complètes
    fls -l disk.dd -o 63

    # Ne lister que les répertoires
    fls -D disk.dd -o 63

    # Ne lister que les fichiers
    fls -F disk.dd -o 63

    # N'afficher que les fichiers supprimés
    fls -u disk.dd -o 63

## Extraction de fichiers

    # Extraire un fichier par numéro d'inode (depuis la sortie de fls)
    icat disk.dd -o 63 INODE > recovered_file.txt

    # Extraire vers stdout, rediriger vers un fichier
    icat disk.dd -o 63 128 > mft_entry.bin

    # Extraire un fichier supprimé (si l'inode existe encore)
    icat disk.dd -o 63 INODE_OF_DELETED_FILE > deleted.doc

## Analyse des métadonnées

    # Afficher les métadonnées d'un fichier par inode
    istat disk.dd -o 63 INODE

    # Afficher les métadonnées d'un fichier spécifique
    istat disk.dd -o 63 128   # Entrée MFT 128 (NTFS)

    # Afficher les entrées MFT pour NTFS
    ifind -n "Documents/secret.txt" disk.dd -o 63

## Génération de timeline

    # Générer les horodatages MAC depuis le système de fichiers (format bodyfile)
    fls -r -m / disk.dd -o 63 > bodyfile.txt

    # Convertir le bodyfile en timeline lisible
    mactime -b bodyfile.txt -d > timeline.csv

    # Filtrer par plage de dates
    mactime -b bodyfile.txt -d 2024-01-01 2024-12-31 > timeline_2024.csv

    # Trier par heure
    mactime -b bodyfile.txt -d | sort > sorted_timeline.txt

## Recherche de chaînes

    # Rechercher une chaîne dans l'espace non alloué
    blkls disk.dd -o 63 | strings | grep -i "password"

    # Rechercher une chaîne dans l'image entière
    strings disk.dd | grep -i "admin"

    # Obtenir le bloc contenant une chaîne
    sigfind -b 512 -t ntfs disk.dd   # Trouver les signatures NTFS

## Carving de fichiers supprimés

    # Extraire l'espace non alloué (supprimé)
    blkls disk.dd -o 63 > unallocated.dd

    # Carver des fichiers depuis l'espace non alloué (utiliser foremost ou scalpel)
    foremost -t all -i unallocated.dd -o carved/

## Conseils

- `mmls` en premier pour obtenir l’offset de partition, puis le passer avec `-o` à toutes les commandes suivantes
- `fls` avec le préfixe `*` indique les fichiers supprimés : utiliser `icat` pour les récupérer
- Combiner la sortie bodyfile de `fls -m` avec `mactime` pour l’analyse de timeline
- TSK supporte NTFS, FAT, ext2/3/4, HFS+, ISO9660, YAFFS2

Référence des commandes clés

    Volume tools:
      mmls        List partition table
      mmstat      Volume system stats
      mmcat       Output raw partition data

    Filesystem tools:
      fsstat      Filesystem statistics
      fls         File/directory listing
      ffind       Find file by inode

    File tools:
      icat        Extract file by inode
      istat       Inode metadata
      ifind       Find inode by name

    Block tools:
      blkcat      Output data block content
      blkls       Extract unallocated blocks
      blkstat     Block metadata

    Timeline:
      mactime     Generate timeline from bodyfile