Documentation : NTFS, l'outil magique
Date de publication : 6.12.2004
Date de modification : 9.11.2005
|
Contributeur : Frédérik ISTACE |
Comment utiliser le système NTFS de manière non conventionnelle
? Comment cacher des fichiers de toute nature (textes, exécutables, scripts)
par l'ensemble des outils fournis par Microsoft ? Explication des possibilités
magiques du NTFS.
Contexte
Les plates-formes Windows font légion aujourd'hui. On les trouve dans
les entreprises, chez les particuliers sous plusieurs variantes : Windows NT
4, Windows XP, Windows 2000
Pourtant, bien que ces systèmes soient
omniprésents, il subsiste toujours des fonctionnalités qui ne
s'ébruitent guère. Ces subtilités peuvent pourtant s'avérer
importantes, voire dangereuses.
NTFS, Kesako ?
NTFS est l'abréviation de New Technologie File System. C'est le système
de fichiers de Windows NT. La plupart des particuliers utilisent ce système
de fichiers ; c'est le cas également des administrateurs réseaux.
Les précédents systèmes de fichiers présentaient
trop de désavantages ; de plus la NTFS propose un niveau de sécurité
non présent dans les systèmes précédents. Il existe
une fonctionnalité de la NTFS qui peut surprendre : les ADS.
Qu'est-ce que les ADS ?
Ce n'est guère étonnant si peu de monde connaisse cette fonctionnalité
car elle sert à assurer une compatibilité avec le système
HFS (Macintosh File System). Assurer une compatibilité est un atout me
direz-vous. Le problème est que Microsoft a implémenté
cette fonctionnalité au niveau du système, mais pas au niveau
de l'explorateur qui ne propose pas d'outils pour se servir ou détecter
la présence de tels fichiers. Bien que Windows ne propose pas d'outils
pour se servir de manière " transparente " cette fonctionnalité,
il est tout à fait possible pour un utilisateur de créer et d'utiliser
ce système.

Comment ça marche ?
De manière très simple. Ouvrez une console DOS (exécutez/cmd.exe).
Au niveau utilisateur, ADS est très efficace pour cacher ses fichiers.
Nous allons créer un répertoire pour faire l'ensemble des tests.
Pour ce faire, faites :
· Mkdir c:\tests
Ceci créera un répertoire tests à la racine du C:\. Allez
dans ce répertoire (cd c:\tests). A l'intérieur de celui-ci, nous
allons créer un fichier. C'est dans ce fichier que l'on pourra cacher
nos données. Pour la création, il est possible d'utiliser la commande
echo. Dans notre cas on utilise un fichier texte, mais cela pourrait être
un fichier de n'importe qu'elle nature.
· Echo Ceci est un texte visible > fichier_visible.txt
Utilisez la commande 'dir' du système et regardez la taille du fichier
généré. Celui-ci pèse quelques octets. Notez quelque
part la place disque disponible au total. Cela sera utile pour vérifier
l'un des problèmes engendré par cette fonctionnalité de
la NTFS. Maintenant, à l'intérieur de ce fichier, nous allons
cacher un texte qui ne sera pas visible par le système. Pour accéder
à ADS, il suffit de mettre ' :' après le nom de fichier, le reste
des commandes restants inchangés.
· Echo Ce texte sera invisible>fichier_visible.txt:cache.txt
Avec la commande 'dir /a' regardez si le fichier apparaît et regardez
que l'espace disque n'a pas changé. Tout laisse paraître que le
système n'a pas crée de fichier.
Comme ADS n'est pas réellement supporté par les outils standards
de Windows, lire le fichier est une tâche plus ardue car la commande 'type'
renvoie une erreur de syntaxe lorsque l'on spécifie : dans la ligne de
commandes. Pour lire le fichier, faites ceci :
· Notepad fichier_visible.txt:cache.txt
Le notepad s'ouvre et le contenu du fichier caché apparaît.
Avec ce système, il est possible de caché plusieurs fichiers dans
un seul. Il est également possible de caché des fichiers de grosse
taille, la limite étant la place disponible sur le disque. Mais je vous
arrête tout de suite : si vous caché 3 gigas de fichiers et que
Windows vous annonce un espace libre de 4 gigas, il ne vous reste en fait qu'un
seul giga. D'où la corollaire : si Windows me dit que je n'est pas assez
d'espace disque durant une copie et que pourtant l'explorateur voit une place
suffisante, des fichiers peuvent être cachés sur votre système
!
Il est également possible de crée des ADS autre que sur des fichiers
: par exemple sur des répertories.
· Echo invisible> :cache.txt
Exécuter un ADS
ADS ne doit pas être considéré comme des données
textes. En fait c'est tout simplement un fichier. Il est donc possible de cacher
n'importe quel type de fichier : textes, binaires, exécutables, scripts
windows. La faiblesse de ce système réside là dedans. Prenons
l'exemple d'un exécutable en camouflant le solitaire de Windows dans
un fichier.
· Type c:\windows\system32\sol.exe >fichier_visible.txt :hidden.exe
· Start fichier_visible.txt:hidden.exe
· Sous certains systèmes, faites comme ceci : start .\fichier_visible.txt
:hidden.txt
Et le solitaire se lance. Comme ADS est un fichier, tous les fichiers exécutables
par le système peuvent être lancés, même les scripts
en .wsh. Or tout le monde sait que beaucoup de virus sont des scripts
De plus il est possible de faire exécuter un fichier ADS dès le
démarrage de Windows, et ce via la base de registres grâce à
cette clé : HKEY_LOCAL_MACHINES\Software\Microsoft\Windows\CurrentVersion\Run
Pour exécuter un ADS d'une page web ou via le menu exécuter :
· File:///c:/tests/fichier_visible.txt:hidden.exe
Quels sont les dangers réels des ADS ?
Le fait que Microsoft ait implémenté cette fonctionnalité
était nécessaire pour des raisons de compatibilité. La
point noir est le manque de transparence face à cette technologie. Elle
peut être mise en uvre de manière simple à des fins
malicieuses (virii) ou pour cacher des fichiers sensibles.
Les API Windows de notification d'accès remontent un code pour tous
les accès vers les ADS. Il est plus difficile par contre de traiter le
fichier. Par exemple un anti-virus doit connaître ce système pour
pouvoir être efficace. Si il ne prend pas en compte cette fonctionnalité,
il détectera l'accès disque (donc analyser un fichier) mais ne
trouvera pas le fichier à scanné. Enfin, ça pourrait être
pire. Des petits malins auraient pût écrire un service serveur
FTP gérant cette fonctionnalité de manière transparente
pour les clients.
Logiciel de sécurité
Nous vous proposons un logiciel, unique en son genre, qui va permettre "d'espionner"
votre ordinateurs. Ce logiciel permet de traquer tous les accès disques
via les API Windows. Par défaut tous les accès sont loggés,
mais vous pouvez ne définir que les accès d'écriture, de
modification, de renommage ou d'ajout, selon vos besoins. Il peut être
utilisé si vous soupçonnez des accès frauduleux sur votre
machine. Vous pouvez télécharger ce logiciel exclusif E-Genia/ZATAZ