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é.
| Approche | Installation requise | Idéal pour |
|---|---|---|
| Analyseur navigateur | Aucune | Analyse ponctuelle, fichiers sensibles (sans envoi), démos |
| RBCmd | Runtime .NET | Sortie CSV en lot sur un poste DFIR Windows |
| Lecture hex manuelle | Éditeur hex | Vé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
$Iv2 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.