← Tous les documents

Comment analyser les fichiers $I de la Corbeille (sans installation)

3 min de lecture

Un fichier $I est suffisamment petit pour que n'importe laquelle de trois approches donne une lecture propre. Le choix est une question de flux de travail, pas de capacité.

ApprocheInstallation requiseIdéal pour
Analyseur navigateurAucuneAnalyse ponctuelle, fichiers sensibles (sans envoi), démos
RBCmdRuntime .NETSortie CSV en lot sur un poste DFIR Windows
Lecture hex manuelleÉditeur hexVérifier un outil, apprendre le format, carver des fragments

RBCmd, ce que la plupart des équipes DFIR utilisent réellement

RBCmd d'Eric Zimmerman est le standard de fait. Sur un poste d'analyse Windows :

RBCmd.exe -d "C:\$Recycle.Bin" --csv . --csvf recyclebin.csv

-d parcourt récursivement chaque sous-dossier SID utilisateur. La sortie s'intègre directement à Timeline Explorer ou Excel. Ajoutez --mp pour traiter aussi les fichiers $R et faire ressortir les écarts entre la taille enregistrée et la taille $R réelle, un contrôle rapide d'altération.

Pour une image complète, pointez -d sur la racine du volume monté. RBCmd gère les fichiers $I* dans tous les sous-dossiers SID en un seul passage.

Analyseur dans le navigateur

Déposez un ou plusieurs fichiers $I sur la page. Chaque ligne affiche le nom de fichier d'origine, le chemin complet, la taille originale en octets, le FILETIME de suppression affiché dans votre langue locale, et la version de format détectée. L'export CSV utilise ISO-8601 UTC strict pour s'intégrer aux pipelines Timeline Explorer existants.

Tout tourne localement via WebAssembly. Utile lorsque le $I source contient lui-même des chemins révélant des informations sensibles à l'affaire et que vous ne voulez pas les transmettre à un tiers.

La lecture à la main

Version sur huit octets, taille sur huit octets, FILETIME sur huit octets, puis le chemin. C'est tout. Voir le format de fichier $I pour les différences v1/v2 dans l'encodage du chemin.

Un $I v1 fait exactement 544 octets. Un $I v2 est de longueur variable ; sa longueur de chemin se trouve au décalage 0x18 sur un uint32. Si un outil accepte un $I v1 qui ne fait pas 544 octets, méfiez-vous.

Échecs d'analyse courants

  • C'est en fait un $R, pas un $I. Facile à faire en filtrant négligemment par préfixe.
  • v1 tronqué. Souvent 16 octets (juste l'en-tête). Les carvers en produisent occasionnellement.
  • Octet de version différent de 1 ou 2. Détritus issus du carving. Vérifiez les sept octets supérieurs du champ version : ils doivent être à zéro.
  • Longueur de chemin mensongère. Un $I v2 dont la longueur de chemin implique un fichier plus grand que la taille sur disque. Les outils qui ne vérifient pas les bornes lisent au-delà du tampon.

Corroboration croisée

Associez les entrées $I au MFT pour les horodatages $STANDARD_INFORMATION sur le chemin d'origine, et au journal USN pour les enregistrements correspondants RENAME_OLD_NAME / FILE_DELETE. Trois artefacts qui s'accordent sur une séquence de suppression constituent une conclusion défendable.

Pour aller plus loin

Questions fréquentes

Faut-il installer quelque chose pour lire un fichier $I ?
Non. Ce site analyse les fichiers $I dans votre navigateur via WebAssembly. Déposez le fichier sur la page d'accueil et le chemin d'origine, la taille et l'heure de suppression apparaissent instantanément. Rien n'est envoyé.
Quel est l'outil en ligne de commande standard pour les fichiers $I ?
RBCmd d'Eric Zimmerman. Lancez 'RBCmd.exe -d C:\$Recycle.Bin --csv .' pour analyser récursivement chaque fichier $I dans un CSV prêt pour Timeline Explorer.
Peut-on analyser tout un dossier $Recycle.Bin en une fois ?
Oui. Déposez plusieurs fichiers $I sur l'analyseur en même temps, ou pointez RBCmd vers le dossier avec -d. Chaque ligne correspond à un élément supprimé.
Pourquoi mon fichier $I échoue-t-il à l'analyse ?
Causes fréquentes : c'est en fait un fichier de contenu $R (et non $I), il est tronqué, ou la version d'en-tête n'est ni 1 ni 2. L'analyseur indique la raison exacte du rejet.