104

Вы можете скрыть любой файл внутри другого файла, просто набрав:

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

и для запуска файла скрытый файл просто используйте:

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

Но сумасшедшая часть этого в том, что он не увеличивает размер файла (поэтому он полностью скрыт).

И если вы удалите файл со скрытым содержимым внутри, скрытый материал не будет удален. Просто используйте:

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

Почему NTFS позволяет это? Кажется, это лучший способ скрыть вирус.

5 ответов5

98

У этого вопроса есть две стороны. Во-первых, почему эта функция вообще существует, а во-вторых, почему графический интерфейс (или командная строка) не облегчает просмотр и управление этой функцией.

Это существует, потому что это полезно. Несколько других платформ поддерживают несколько потоков данных на файл. Например, на Mac их называли вилками . Я достаточно уверен, что подобные вещи существовали в мире мэйнфреймов, но сегодня я не могу указать на какие-либо явные примеры.

В современных Windows он используется для хранения дополнительных атрибутов файла. Вы можете заметить, что в окне «Свойства», доступном из проводника Windows, есть вкладка «Сводка», которая в простом представлении (у меня Windows XP ваш пробег будет отличаться от других вариантов) включает в себя множество полезных полей, таких как заголовок, тема, автор и так далее. Эти данные хранятся в альтернативном потоке, вместо того, чтобы создавать какую-то базу данных вспомогательной машины для хранения всего, что слишком легко отделить от файла.

Альтернативный поток также используется для хранения маркера, который говорит, что файл получен из ненадежного сетевого источника, который применяется как Internet Explorer, так и Firefox при загрузке.

Сложный вопрос: почему нет лучшего пользовательского интерфейса для того, чтобы замечать, что потоки вообще существуют, и почему в них можно поместить исполняемый контент и, что еще хуже, выполнить его позже. Если здесь есть ошибка и угроза безопасности, вот оно.

Редактировать:

Вдохновленный комментариями к другому ответу, вот один из способов выяснить, знает ли ваша антивирусная и / или антивирусная защита об альтернативных потоках.

Получить копию тестового файла EICAR. Это 68 байтов текста ASCII, который также является допустимым исполняемым файлом x86. Несмотря на то, что антивирусная индустрия совершенно безвредна, было решено, что она будет обнаружена как настоящий вирус. Создатели думали, что тестирование программного обеспечения AV с реальным вирусом было бы слишком похоже на тестирование пожарной сигнализации, зажигая мусорную корзину в огне ...

Файл EICAR:

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

Сохраните это с расширением .COM и он будет выполняться (если ваш AV не обращает внимания) и распечатает приветствие.

Было бы полезно сохранить его в альтернативном потоке данных и запустить сканирование ...

15

Эта функция требуется для кроссплатформенной функции Windows Server: службы для Mac.

Это позволяет Windows-серверу, работающему на общем ресурсе NTFS, обращаться к macs через AFP. Чтобы эта функция работала, файловая система NTFS должна поддерживать вилки, и она имеет с первого дня.

И прежде чем спросить, эта функция все еще используется? Да, он у меня работает и ежедневно используется на сервере в клиенте, который я поддерживаю.

Основная проблема безопасности возникает, когда люди и приложения забывают или не осознают, что это там.

Вероятно, должен быть вариант, чтобы включить вилки в общий размер файла или показать их в проводнике Windows.

5

Вот хорошая статья о потенциальной уязвимости безопасности, создаваемой альтернативными потоками данных.

5

Я полагаю, что одно из основных применений (возможно, даже предполагаемое использование) будет прозрачно разрешать добавление метаданных любого типа в файл. Причина, по которой размер файла не изменяется, заключается в том, что в этом сценарии вы не хотите, чтобы файл выглядел или вел себя по-другому, иначе исходное приложение полагается на некоторые аспекты внешнего вида файла.

Я мог бы представить интересное использование, например, в IDE, где иногда для создания единого блока (файла кода / файла формы и т.д.) Используется несколько файлов, которые можно прикрепить к исходному файлу таким образом, чтобы они не могли случайно отделиться.

Я также считаю, что есть команда для поиска всех таких «вложений» в данном дереве каталогов, поэтому они на самом деле не полностью скрыты. Меня также удивило бы, если бы лучшие антивирусные сканеры не знали об этом и не проверяли эти «скрытые» области, но вы могли бы проверить это, целенаправленно прикрепив зараженный исполняемый файл к текстовому файлу и посмотрев, поднялся ли он.

5

Хороший вопрос, я не знал должным образом об ADS до прошлого года, и я был разработчиком Windows много лет. Я могу гарантировать, что я не одинок в этом.

Что касается возможности проверять наличие альтернативных данных в файлах, я нашел полезный маленький инструмент под названием Lads, доступный в программном обеспечении Фрэнка Хейна. Он может перечислять ADS для всех файлов в данном каталоге, даже для зашифрованных файлов (а также в подкаталогах).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .