Aller au contenu

Glossaire

Flux de données alternatif (ADS)

Un flux $DATA nommé supplémentaire attaché à un fichier NTFS, invisible dans l'Explorateur, utilisé pour la Mark of the Web ou pour cacher des données.

Un flux de données alternatif (Alternate Data Stream, ADS) est un attribut $DATA nommé supplémentaire, attaché à un fichier ou à un répertoire sur NTFS. Le contenu normal d'un fichier réside dans son flux sans nom ; un nombre quelconque de flux nommés peuvent coexister à côté, désignés par la syntaxe fichier.txt:nomduflux. L'Explorateur et un simple dir ne les affichent pas, et la taille indiquée par Windows n'en tient pas compte.

Windows utilise lui-même les ADS de manière légitime. L'exemple le plus connu est le flux Zone.Identifier qui porte la Mark of the Web des fichiers téléchargés (voir Zone.Identifier). Un attaquant peut toutefois s'en servir pour cacher une charge utile, un script ou des données volées derrière un fichier d'apparence anodine.

Sur un système actif, les flux se listent facilement :

dir /r C:\Users\Public\Downloads
Get-Item .\invoice.pdf -Stream *

Hors ligne, chaque flux apparaît comme un attribut $DATA distinct dans l'enregistrement du fichier au sein de la $MFT : les analyseurs de MFT peuvent donc lister le nom et la taille de chaque flux, et les petits flux se lisent même directement comme données résidentes. Attention : les flux sont perdus lorsqu'un fichier est copié vers un système de fichiers qui ne les prend pas en charge, comme FAT32, ou transféré par de nombreux circuits d'archivage ou de téléversement. Collectez donc les preuves depuis le volume NTFS d'origine.

Artefacts concernés