Question Pourquoi diable NTFS autorise-t-il les exécutables invisibles?


Vous pouvez masquer n'importe quel fichier à l'intérieur d'un autre fichier en tapant simplement:

type sol.exe > container.txt:sol.exe

et pour exécuter le fichier fichier caché, utilisez simplement:

start c:\hide\container.txt:sol.exe

Mais le plus fou à ce sujet, c’est qu’il n’augmente pas la taille du fichier (il est donc totalement caché).

Et si vous supprimez le fichier avec les trucs cachés à l'intérieur, les trucs cachés ne seront pas supprimés. Utilisez simplement:

more <  container.txt:sol.exe > sol.exe

Pourquoi NTFS autorise-t-il cela? Cela semble être le meilleur moyen de cacher un virus.


103
2017-07-23 23:44


origine


sympa, semble comme mac resourcesforks. - Stefano Borini
pire, lorsque vous démarrez sol.exe comme cela, le gestionnaire de tâches affiche le nom du processus sous le nom container.txt - hasen
Nous devrions bombarder Google pour que "effrayant" mène à cette question - hasen
Tant que cela a été fait, il est toujours étonnant de rencontrer des développeurs AV / autres personnes qui travaillent avec le système de fichiers et qui ne le savent PAS. Je ne m'attends pas à ce que le développeur d'applications moyen sache à ce sujet car il n'y a pas besoin, mais si vous êtes lourd en matière de système de fichiers ... :-) - Brian Knoblauch
Soi-disant, vous pouvez également joindre un ADS à un dossier. Vous pouvez supprimer l'ADS en supprimant le dossier, mais lorsque le dossier est la racine de votre lecteur, vous ne pouvez pas supprimer votre lecteur C:, par exemple, sans reformater le lecteur. Semble comme un mécanisme pour créer un virus de rootkit caché pour moi (?). - HighTechGeek


Réponses:


Il y a deux côtés à cette question. La première est la raison pour laquelle cette fonctionnalité existe et la seconde est la raison pour laquelle l'interface graphique (ou l'invite de commande) ne facilite pas la visualisation et la gestion de la fonctionnalité.

Il existe parce que c'est utile. Plusieurs autres plates-formes prennent en charge plusieurs flux de données par fichier. Sur le Mac, ils s'appelaient fourchettes, par exemple. Je suis raisonnablement sûr que des choses similaires existaient dans le monde des ordinateurs centraux, mais je ne peux pas mettre les doigts sur des exemples explicites aujourd'hui.

Sous Windows moderne, il est utilisé pour contenir des attributs supplémentaires pour un fichier. Vous remarquerez peut-être que la boîte de dialogue Propriétés de l’Explorateur Windows comporte un onglet Résumé qui, dans la vue Simple (sous Windows XP, votre kilométrage diffère sur les autres versions) comprend un ensemble de champs utiles tels que Titre, Sujet, Auteur et ainsi de suite Ces données sont stockées dans un flux alternatif, plutôt que de créer une sorte de base de données latérale pour contenir tout ce qui serait trop facilement séparé du fichier.

Un autre flux est également utilisé pour contenir le marqueur indiquant que le fichier provient d'une source réseau non approuvée appliquée à la fois par Internet Explorer et Firefox sur les téléchargements.

La question difficile est de savoir pourquoi il n’ya pas une meilleure interface utilisateur pour remarquer que les flux existent, et pourquoi il est possible d’y insérer du contenu exécutable et, pire encore, de l’exécuter plus tard. S'il y a un risque de bogue et de sécurité ici, c'est tout.

Modifier: 

Inspiré par un commentaire sur une autre réponse, voici une façon de savoir si votre protection antivirus et / ou anti-malware est compatible avec d’autres flux.

Obtenez une copie du Fichier de test EICAR. Il s'agit de 68 octets de texte ASCII qui se trouve être également un exécutable x86 valide. Bien que totalement inoffensif, le secteur de l'antivirus a accepté d'être détecté comme s'il s'agissait d'un véritable virus. Les concepteurs pensaient que tester un logiciel AV avec un vrai virus serait un peu trop comme tester l'alarme incendie en allumant la corbeille en feu ...

Le fichier EICAR est:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Enregistrez-le avec l'extension .COM et il s'exécutera (sauf si votre AV prête attention) et imprime un message d'accueil.

Il serait intéressant de l'enregistrer dans un autre flux de données et de lancer une analyse ...


97
2017-07-23 23:59



De par leur conception, la taille du fichier affiché ne montre que la taille du flux $ DATA principal. C'est aussi ce que vous voulez habituellement. Vous n'incluez pas non plus la longueur du nom de fichier (qui correspond à un type de métadonnées) dans la taille du fichier. Quant à être un risque de sécurité. Les ADS ne sont pas plus risqués que n'importe quel fichier individuel. Je n'ai entendu parler d'aucun logiciel malveillant qui a réussi à se propager / se cacher avec ces mécanismes. - Joey
Vous ne pouvez pas exécuter accidentellement un exécutable stocké dans un ADS d'un fichier texte. Il est bien caché, trop bien caché pour qu'un utilisateur commun puisse l'exécuter accidentellement. Vous devez d'abord être compromis. - R. Martinho Fernandes
@ashh: Martinho le claque - l’obscurité qui rend difficile la recherche d’un exécutable sur un tel flux rend difficile l’exécution de celui-ci sans essayer activement. Comparez cela avec, disons, tout le fiasco des "extensions de fichiers cachés", où les fichiers exécutables peuvent sembler être, par exemple, des fichiers texte dans l'interface graphique (GUI) ... et s'exécuter très facilement. - Shog9♦
En supposant que vous ayez un AV qui accorde au moins une attention en temps réel au fichier .COM, vous ne pourrez pas le joindre en tant qu'ADS, car l'AV vous empêcherait d'accéder au fichier .COM. fichier). Vous devez cependant pouvoir joindre un fichier texte avec la chaîne EICAR et le nommer avec une extension .COM à l'intérieur de l'ADS. c'est-à-dire, tapez EICAR.txt> test.txt: EICAR.COM - KTC
Fait intéressant sur le fichier EICAR.COM: il ne fonctionnera pas sur les versions 64 bits de Windows, donc je suppose que cette astuce ne fonctionnera plus une fois que tout le monde sera sur des machines 64 bits encore probablement un moment). - Kredns


Cette fonctionnalité est requise pour une fonctionnalité multi-plateforme de Windows Server: services pour mac.

Cela permet à un serveur Windows s'exécutant sur NTFS de partager des macs via AFP. Pour que cette fonctionnalité fonctionne, le système de fichiers NTFS doit prendre en charge les forks, et ce dès le premier jour.

Et avant de vous demander, cette fonctionnalité est-elle toujours utilisée? Oui, je l'ai en cours d'exécution et d'utilisation quotidienne sur un serveur dans un client que je supporte.

Le principal problème de sécurité survient lorsque des personnes et des applications oublient ou ne réalisent pas que cela existe.

Il devrait probablement y avoir une option pour inclure les fourches dans la taille totale du fichier ou les afficher dans l'explorateur Windows.


15
2017-07-24 00:05



Si vous allez voter, veuillez laisser un commentaire pour savoir pourquoi. - Bruce McLeod
Cela semble être une raison tout à fait plausible pour que la fonctionnalité existe en premier lieu. - RBerteig
L'ajout de cette fonctionnalité simplement pour permettre le partage de fichiers pour les macs ne semble pas être une raison plausible. Le partage sur le réseau n'exige pas que le fichier soit stocké intact du côté du serveur. J'ai vu plusieurs serveurs de partage Apple * nix qui divisent le fichier en informations de données et de ressources. Ceci est transparent pour le client. Changer le format du lecteur pour autoriser AFP ne semble pas réaliste. Peut-être un bon avantage mais pas comme la raison de cette fonctionnalité. - Simurr
Ouais, je pense [la citation nécessaire] si vous allez affirmer que SfM est le raison principale que MS a implémenté les ADS dans NTFS. - afrazier
Citation found: ... capacités ADS où conçu à l'origine pour permettre la compatibilité avec le système de fichiers hiérarchique Macintosh, HFS; où les informations sur les fichiers sont parfois divisées en ressources distinctes. Les flux de données alternatifs ont été utilisés légitimement par divers programmes, y compris le système d'exploitation Windows natif pour stocker des informations sur les fichiers, tels que les attributs et le stockage temporaire. la source: windowsecurity.com/articles/Alternate_Data_Streams.html - JamesBarnett


J'imagine que l'une des utilisations principales (peut-être même l'utilisation prévue) consisterait à permettre l'ajout transparent de n'importe quel type de métadonnées à un fichier. La raison pour laquelle la taille du fichier ne change pas est que, dans ce scénario, vous ne souhaitez pas que le fichier ait un aspect ou un comportement différent, à moins que l'application d'origine ne se fonde sur certains aspects de l'aspect du fichier.

Je pourrais imaginer des utilisations intéressantes dans les IDE par exemple, où parfois plusieurs fichiers sont impliqués pour former une seule unité (fichier de code / fichier de formulaire, etc.), qui pourraient être attachés au fichier original de manière à ne pas être séparés accidentellement.

Je crois également qu'il existe une commande pour trouver tous ces «attachements» dans une arborescence de répertoires donnée, afin qu'ils ne soient pas complètement masqués. Cela m'étonnerait également si les meilleurs analyseurs de virus ne sont pas conscients de cela et vérifient ces zones «cachées», mais vous pouvez vérifier cela en joignant délibérément un fichier exécutable infecté à un fichier texte et voir s'il est capté.


5
2017-07-23 23:53



Pourriez-vous s'il vous plaît poster un lien vers un tel exécutable pour que je puisse essayer? ;) - R. Martinho Fernandes
Je vous suggère d'exécuter AVG sur votre ordinateur, puis de récupérer l'un des exécutables du dossier de quarantaine pour essayer;) - jerryjvl
@martinho, vous voulez le fichier de test EICAR: X5O! P% @ AP [4 \ PZX54 (P ^) 7CC) 7} $ EICAR-STANDARD-ANTIVIRUS-TEST-FILE! 68 octets de texte ASCII, voir eicar.org/anti_virus_test_file.htm pour toute l'histoire) dans un fichier nommé avec l'extension .COM. Il s'exécutera et imprimera un message. À moins que votre AV ne fonctionne, bien sûr. Déposez-le dans un autre flux de données et vérifiez-le également. - RBerteig
@RBerteig: Hey cool ... je ne savais pas qu'il y avait une telle chose. - jerryjvl
@jerryjvl, comme on dit, il vaut mieux tester l'alarme incendie en allumant la poubelle en feu ... - RBerteig


Voici un bon article sur le potentiel vulnérabilité de sécurité posé par Flux de données alternatifs.


5
2017-07-23 23:52



<nitpick> C'est une vulnérabilité, pas une menace </ nitpick>. Et ce n'est pas aussi gros que ça en a l'air. Vous devez déjà avoir des informations d'identification pour l'utiliser. - romandas
Correction, merci! :) - JP Alioto
Pas de problème. Btw, vérifiez votre orthographe. Et n'oubliez jamais: les menaces exploitent les vulnérabilités. Les menaces sont généralement les personnes, mais les catastrophes naturelles et artificielles comptent également. - romandas
@romandas, quelles sont les références dont vous avez déjà besoin? À la maison, la plupart des utilisateurs de Windows (XP en particulier) utilisent des privilèges d'administrateur, alors pourquoi n'est-ce pas un problème? - Ash
@ashh, "avec une méthode pour cacher ... sur un système violé". Le système doit déjà être compromis en premier lieu pour cacher quoi que ce soit, et de même pour exécuter tout ce qui est caché comme ça. - KTC


Bonne question, je n'étais pas bien au courant de l'ADS jusqu'à l'année dernière et j'ai été développeur Windows pendant de nombreuses années. Je peux garantir que je ne suis pas seul sur ce point.

En ce qui concerne la possibilité de vérifier les autres données sur les fichiers, j'ai trouvé le petit outil utile appelé Les gars disponible auprès du logiciel Frank Heyne. Il peut répertorier les ADS sur tous les fichiers d'un répertoire donné, même sur les fichiers cryptés (ainsi que dans les sous-répertoires).


5
2017-07-24 02:44