← Tous les documents

Utiliser la Corbeille dans une investigation forensique

4 min de lecture

De tous les artefacts Windows qui prouvent l'intention, la Corbeille est la plus propre. Un fichier dans $Recycle.Bin y est arrivé par une action délibérée : un Supprimer par clic droit, une touche Suppr dans l'Explorateur, un script invoquant le verbe shell de suppression. Ce n'est pas un écrasement, ce n'est pas un nettoyage de fond, c'est un utilisateur (ou quelque chose s'exécutant avec son jeton) envoyant le fichier à la Corbeille. Chaque $I répond à trois questions d'investigation à la fois : quoi, quand, qui.

Ce qu'elle prouve

  • Intention. Un $I existe parce que quelqu'un ou quelque chose a délibérément effectué une suppression shell sur le fichier. Le distinguer des processus de fond est la propriété la plus forte de cet artefact.
  • Chronologie. Les FILETIME triés à travers les fichiers $I d'un SID reconstruisent l'ordre et le rythme des suppressions. Des rafales dans la dernière semaine d'une démission racontent presque toute l'histoire.
  • Existence après effacement. Si seul le $R a été effacé, un $I survivant prouve encore que le fichier a existé, où, quand et de quelle taille.

Un exemple traité : destruction de données par employé partant

Le schéma se répète chaque trimestre quelque part. Le flux qui tient :

  1. Acquérir toute l'arborescence $Recycle.Bin de chaque volume NTFS. Les disques USB attachés pendant la fenêtre comptent aussi, voir où se trouve la Corbeille.
  2. Analyser chaque $I. Lancez RBCmd sur l'arborescence acquise ou déposez les fichiers dans l'analyseur navigateur. Voir comment analyser les fichiers $I.
  3. Attribuer par SID. Résolvez chaque S-1-5-21-… contre ProfileList dans le registre. Voir sous-dossiers SID.
  4. Trier par heure de suppression pour la fenêtre de suspicion (les deux dernières semaines d'emploi sont la portée habituelle). Une rafale de suppressions de code source, listes clients, fichiers de design ou archives *.pst dans les dernières heures d'emploi est un signal fort.
  5. Recouper les chemins d'origine. Les suppressions depuis un dossier cloud synchronisé (OneDrive, Dropbox), un disque amovible, ou un partage projet précisent l'histoire. Croisez avec le MFT pour l'historique du fichier avant suppression, et le journal USN pour les événements de renommage.
  6. Corroborer l'exécution avec Prefetch sur les archiveurs (7z.exe, WinRAR.exe) et les extensions shell, plus les traces LNK et jump list pour les fichiers accédés par l'utilisateur peu avant la rafale.

Un exemple traité : staging ransomware

Les adversaires utilisent parfois la Corbeille comme zone de stockage pour leurs outils avant exécution. Les enregistrements $I de mimikatz.exe, PsExec.exe ou d'un loader renommé, avec des chemins comme C:\Users\<svc>\AppData\Local\Temp\, valent de l'or. Ils prouvent que le binaire était présent et nommé comme suspecté, même si le système de fichiers actuel ne le contient plus.

Pivoter vers :

  • AmCache pour le SHA-1 du binaire.
  • Shimcache pour les preuves d'exécution.
  • EVTX 4688 / Sysmon 1 pour la création de processus réelle.

Vraies ruses de suppression d'adversaires

Un opérateur compétent n'utilise pas la Corbeille pour son propre nettoyage, car chaque $I est un aveu. Par ordre approximatif de sophistication, il choisit :

  1. Maj+Suppr. Contourne la Corbeille. Aucune ligne $I. L'absence d'un $I pour un fichier dont vous savez qu'il existait est en soi un indicateur. Associez à la preuve du journal USN du motif FILE_DELETE.
  2. sdelete -p 3 -z ou similaire. Écrase puis supprime. Laisse souvent des traces Prefetch de sdelete.exe lui-même.
  3. fsutil sur le journal. Supprimer le journal USN avec fsutil usn deletejournal. Détectable : le journal se réinitialise brusquement, $UsnJrnl:$J rétrécit, et EVTX peut porter l'événement d'élévation.
  4. Vidange complète + écrasement des clusters. Vider la Corbeille, puis générer une activité disque intense pour écraser les clusters libérés. Vainc la récupération de contenu ; ne vainc pas les entrées MFT ni les clichés instantanés.

Mises en garde pour le rapport

  • Le FILETIME est l'heure d'entrée de l'élément dans la Corbeille. Pas la création, pas la dernière modification, pas la dernière ouverture. Associez aux horodatages MFT pour le reste du cycle de vie du fichier.
  • Un utilisateur qui vide la Corbeille retire à la fois $I et $R. Récupérez depuis les clichés instantanés, le journal USN, ou par carving de clusters.
  • Les comptes de service et SYSTEM génèrent occasionnellement des entrées $I depuis des installateurs et tâches planifiées. Les suppressions en contexte SYSTEM ne sont pas toujours intéressantes ; vérifiez avec EVTX 4688 / Sysmon 1 avant de les traiter comme adversariales.

Pour aller plus loin

Questions fréquentes

Que peut prouver la Corbeille dans une investigation ?
Qu'un fichier spécifique (par nom, taille et chemin d'origine) a été supprimé intentionnellement, et l'horodatage UTC exact de l'événement. Cette chronologie est souvent la preuve la plus solide d'une destruction de données intentionnelle.
Les preuves issues de la Corbeille sont-elles recevables en justice ?
Oui. Comme pour tout artefact numérique, documentez la chaîne de possession de l'acquisition et la méthodologie d'analyse. La structure $I est bien documentée et reproductible, ce qui soutient la recevabilité.
Un enregistrement $I peut-il exister sans son fichier $R ?
Oui. Si le contenu $R a été effacé ou récupéré mais que le $I a survécu, vous avez toujours la preuve qu'un fichier a existé et de son moment de suppression : un angle mort anti-forensique fréquent.
Comment attribuer une suppression à un utilisateur spécifique ?
Chaque fichier $I se trouve dans un sous-dossier de SID utilisateur de $Recycle.Bin. Résolvez le SID vers un compte pour attribuer la suppression à ce profil utilisateur.