Альтернативные потоки данных NTFS

521

Альтернативные потоки данных (ADS) – альтернативные потоки данных NTFS

Каждый файл и каталог в формате NTFS имеет несколько потоков данных:

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

Основной, безымянный поток – единственный, видимый из-под Проводника и командной строки. Когда файл открывается приложением по умолчанию, безымянный поток фактически открывается. Чтобы указать альтернативный поток, мы добавляем к имени файла двоеточие и имя потока.
пример:
filename.extension (например, traxter.txt) указывает неназванный файловый поток, а filename.extension: stream_name (например, traxter.txt: page www.txt) указывает имя ADS.

Основной файл: видимый файл
Основной файл с потоком: видимый файл : скрытый файл

Количество потоков может быть любым. Характерной особенностью является то, что такие потоки имеют имя, они не видны, все функции / атрибуты скрыты. Вы можете хранить в них данные любого типа, как в обычных файлах.

Подводя итог, потоки NTFS – это скрытые файлы на диске «под» обычным видимым файлом / папкой. Они не обнаруживают никаких следов своей деятельности, не изменяют размер файла, даже его контрольную сумму, но в то же время занимают место на диске – вы можете иметь один маленький файл на диске, содержащий потоки весом весь диск!

пример:

  Основной файл: инструкция.doc (1 МБ)
Поток: manual.doc: holiday-movie-FullHD.avi (699 МБ)
Поток: инструкция.doc: windows7-install.iso (3500 МБ) 

В примере на диске у нас есть файл инструкция.doc с двумя прикрепленными потоками. Виден только основной файл, а потоки скрыты. Анализ диска показывает, что используется 1 МБ пространства, хотя на самом деле оно близко к 4200 МБ >>> ~ 4.2 ГБ. Хорошая вещь, не правда ли?

преимущества
Потоки позволяют хранить файлы на диске таким образом, что никто не узнает об их существовании. Кстати, вы можете обойти ограничение дискового пространства для нашей учетной записи, установленное администратором. Даже гость может создать такой поток в любом файле, к которому у него есть доступ. В потоке мы можем хранить столько данных, сколько поместится на диске :). Однако администратор с полными привилегиями может удалить файл и поток, но как он узнает, что есть поток?

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

Примеры потоков
Не все потоки вредны. Некоторые из них также автоматически генерируются самой системой, например потоки Zone.Identifier.
C: Downloadssetup.zip: Zone.Identifier

Потоки этого типа указывают на принадлежность к одной из 5 зон безопасности: 0 – Мой компьютер; 1 – локальная интранет; 2 – Доверенные сайты; 3 – интернет; 4 – Запрещенные сайты. Эти зоны отображаются в Internet Explorer в окне «Свойства обозревателя» на вкладке «Безопасность», но зона «Мой компьютер» по умолчанию скрыта. Эти потоки генерируются, когда файлы, загруженные из Интернета, сохраняются на диске компьютера через Internet Explorer / Firefox начиная с версии 3. Загруженные файлы получают членство в зоне Интернета, то есть номер 3 и запись в потоке:
[ZoneTransfer]
ZoneId = 3
При открытии файла система проверяет Zone.Identifier и отображает сообщение Предупреждение о безопасности: Файл открыт (это сообщение не будет получено из командной строки):

Альтернативные потоки данных NTFS

Дополнительные сведения о типах потоков см. В разделе « Потоки NTFS».

Пример потока руткитов Pe386:
C: WINDOWSsystem32: lzx32.sys

Потоковая операция
Чтобы проиллюстрировать работу скрытых потоков, мы создаем пример:
в командной строке введите одну из команд, в зависимости от того, где вы создаете – на системном разделе или другом диске

  echo 12345> file.txt: numbers
echo 12345> x: file.txt: numbers 

Альтернативные потоки данных NTFS

Будет создан файл .txt, содержащий поток цифр. Для чтения данных мы можем использовать команду:

  больше 

Альтернативные потоки данных NTFS

или открыть в записной книжке, но нам нужно добавить расширение .txt

  echo 12345> file.txt: digits.txt
Блокнот file.txt: figure.txt
echo 12345> x: file.txt: digits.txt
блокнот x: file.txt: digits.txt 

Альтернативные потоки данных NTFS

Мы также можем создавать потоки в каталогах

  каталог mkdir или каталог md
echo 12345> каталог: file.txt
каталог блокнота: file.txt 

Поток будет создан в каталоге. Это поток, а не файл, поэтому при входе в этот каталог мы ничего не увидим.

Копирование файлов в потоки

В командной строке введите команду:

  введите «путь к скопированному файлу»> «путь к созданному файлу: имя потока» 

Я приведу пример, как скрыть mp3-файлы в потоках:

  введите f: atb.mp3> f: readme.txt: atb.mp3 

В этом примере музыкальный файл atb.mp3 был скопирован в поток readme.txt: atb.mp3 в файле readme.txt. Файл readme.txt занимает 0 байт на диске, но содержит поток в несколько МБ.

Теперь, чтобы воспроизвести такой файл, введите команду:

  «Путь к файлу плеера» «Путь к файлу: имя потока»
например, «C: Program FilesAIMP2aimp2.exe» f: readme.txt: atb.mp3 

В примере файл был открыт в проигрывателе AIMP.
На основании приведенных выше инструкций мы можем использовать любые другие файлы вместо mp3, включая даже исполняемые файлы EXE, которые также используются вредоносными программами.

strumienie-ads

Копировать текстовые данные из потоков в обычные файлы

Для текстовых файлов вы можете использовать команду «more»:

копирование потока цифр из файла file.txt в файл second_file.txt

  больше  second_file.txt
больше  x: second_file.txt 

скопируйте second_file.txt в поток цифр в файле file.txt.

  больше  file.txt: числа
больше  x: file.txt: numbers 

Копировать двоичные данные из потоков в обычные файлы

Файлы не могут быть скопированы в поток или наоборот с помощью команды «копировать» Windows. Однако это позволяет использовать эквивалент Unix - команду «cp», которая также может использоваться в Windows.

Использование команды "cp" в АЦП

Команда "cp" позволяет вам копировать двоичный файл в поток и наоборот. Таким способом вы можете скрывать и хранить файлы на дисках.

Чтобы использовать эту функцию, вам нужна команда cp Unix Windows.
Для удобства вы можете загрузить только те файлы, которые вам нужны, из каждого пакета: command_cp_na_Windows.zip

Набор CoreUtils

из набора инструментов Linux для пакетов Windows GnuWin32

скачать: последняя версия (набор coreutils)

Мы можем скачать:

  • - установочный пакет (может быть извлечен в Universal Extractor, после извлечения пакета coreutils-xxxexe из каталога bin {app}, скопируйте 3 файла: cp.exe, libiconv2.dll, libintl3.dll)
  • - двоичные файлы (но затем дополнительно загрузите зависимости, зависимости, zip, файл - coreutils-xxx-dep.zip); из архива binaria coreutils-xxx-bin.zip мы копируем файл .bincp.exe, а из coreutils-xxx-dep.zip две перечисленные библиотеки. Набор "grep" предлагает более новые библиотеки - архив grep-xxx-dep.zip.

Мы копируем эти файлы в каталог C: WINDOWS. Затем запустите командную строку и введите соответствующие команды.

Альтернативные потоки данных NTFS

------------------------

UnxUtils установлен

скачать: последняя версия

Скачайте архив, после распаковки скопируйте файлы:

.binsh.exe

.usrlocalwbincp.exe

Скопируйте файл cp.exe в каталог C: WINDOWS. Затем запустите sh.exe (любое место), который содержит собственный интерпретатор командной строки, в который мы вводим команды. Иногда вам нужно нажать Enter дважды, чтобы выполнить команды.

Альтернативные потоки данных NTFS

------------------------

порт cp (неофициальный)

скачать: https://gnthexfiles.republika.pl/cp.zip

после распаковки мы копируем файлы в каталог C: WINDOWS. Затем запустите системную командную строку и введите соответствующие команды.

Этот порт был скомпилирован в среде cygwin, поэтому библиотека cygwin1.dll включена. Эта среда позволяет запускать программы Linux под Windows. Он преобразует ссылки на системные функции Linux в функции Windows.

Альтернативные потоки данных NTFS

Команда "cp" на практике

Пример - пример копирования файла в поток:

  cp film.avi file.txt: фильм
или
cp x: film.avi x: file.txt: film 

Пример - пример копирования потока в файл:

  cp file.txt: фильм film.avi
или
cp x: file.txt: film x: film.avi 

пример:

Файл "cp.zip" был скопирован в поток "arch.zip" (расширение не требуется, в качестве альтернативы можно назвать поток "arch") в файле "file.txt" (если файл "file.txt" не существует создано). Таким образом, был создан пустой файл "file.txt", содержащий поток "arch.zip", который невидим.

В следующей команде поток «arch.zip» был скопирован в файл «arch2.zip». Результатом является ситуация с диском:

Просмотр и удаление потоков
Опции для просмотра и удаления потоков описаны в записи: Просмотр и удаление потоков NTFS.