Informatique
NTFS, l’outil magique
PAGE ANIMEE PAR NACER AOUADI
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. 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 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. 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. 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: ests
Ceci créera un répertoire tests à la racine du C:. Allez dans ce répertoire (cd c: ests). 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 quelle nature. 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 demeurant inchangées. Avec la commande ‘dir /a’ regardez si le fichier apparaît et si l’espace disque n’a pas changé. Tout laisse paraître que le système n’a pas créé 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 cacher plusieurs fichiers dans un seul. Il est également possible de cacher des fichiers de grosse taille, la limite étant la place disponible sur le disque. Mais je vous arrête tout de suite : si vous cachez 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ù le 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éer des ADS autres que sur des fichiers : par exemple sur des répertories.
- Echo invisible> :cache.txt
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:windowssystem32sol.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_MACHINESSoftwareMi crosoftWindowsCurrentVersionRun Pour exécuter un ADS d’une page web ou via le menu exécuter :
-File:///c:/tests/fichier_visible. txt:hidden.exe
Le fait que Microsoft ait implémenté cette fonctionnalité était nécessaire pour des raisons de compatibilité. Le point noir est le manque de transparence face à cette technologie. Elle peut être mise en œuvre de manière simple à des fins malicieuses 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. S’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 à scanner. Enfin, cela pourrait être pire. Des petits malins auraient pu écrire un service serveur FTP gérant cette fonctionnalité de manière transparente pour les clients.
Source de cet article :
http://www.lesoirdalgerie.com/articles/2005/03/14/article.php?sid=20503&cid=20
11 juin 2010
Non classé