LocalHOST
Заглянувший
Заглянувший
L
LocalHOST
Заглянувший
Заглянувший
- Сообщения
- 2
- Реакции
- 2
Для начала немного теории
Начать стоит с того, что эта особенность касается файловой системы NTFS. Сегодня она прочно заняла первое место среди пользователей операционных систем семейства Windows. Итак, откуда же пошли эти альтернативные потоки.
Ключевым термином NTFS является MFT – Master File Table. Каждая запись MFT описывает конкретный файл и состоит из набора фиксированных атрибутов. Каждый атрибут содержит список полей, содержащих определённые значения.
Атрибуты бывают:
$10 – $STANDART_INFORMATION – стандартная информация. В этом атрибуте указываются временные метки файла и атрибуты DOS.
Атрибут $80 – $DATA - содержимое файла.
Атрибут $30 – $FILE_NAME – содержит имя файла. Если длина имени больше 8 символов, то создаётся дополнительный атрибут $30 как для длинного имени, так и для короткого. Получается, что если имя длинное, то у файла два атрибута $30, для каждого из имён.
Это ключевой момент. Вообще у файла может быть несколько однотипных атрибутов, никто не запрещает. Так вот, а что будет, если у файла будет несколько атрибутов $DATA? То есть непосредственно содержимого. Да, такое возможно
Это и называется альтернативным потоком данных. Единственная особенность – должен быть атрибут $DATA по умолчанию (он задаётся без имени), остальные атрибуты $DATA должны быть поименованы, чтобы к ним можно было обратиться.
Практика
Давайте попробуем использовать альтернативные потоки на практике.
Прячем текст
Создадим текстовый документ, к которому и будем прикреплять альтернативные потоки. Он будет содержать слово "Planet".
Его можно было и не создавать, а взять абсолютно любой файл на компьютере и работать с ним дальше
Далее спрячем текст "secret" в альтернативный поток secret.txt
Итак, у нас есть файл test.txt. Если его открыть обычным методом (двойным кликом), то мы увидим слово "Planet". Чтобы посмотреть наше скрытое содержимое нужно прописать:
В результате, мы получили слово "secret". Выходит, что мы можем спрятать нашу секретную информацию в любой файл на компьютере.
Кстати, альтернативные потоки не влияют на размер данного файла. Это будет очень полезно далее, когда мы будем прятать программы и файлы.
Прячем архив с файлами
Допустим у Вас есть архив с файлами, который также вы хотите спрятать в текстовом документе. Спрячем его в том же test.txt
Для начала поместите архив в ту же папку, где хранится test.txt, затем пропишите:
Вместо myfile можете написать любое название
Можете проверить и убедиться, что размер test.txt не изменился. Это очень хорошо, так как не выдает наше потаенное место.
Теперь удаляем архив, который спрятали, чтобы замести следы.
Чтобы открыть наш архив и посмотреть содержимое, поместите исполняемый файл программы WinRAR.exe туда же, где хранится и test.txt (либо наоборот).
Если вы не сделаете этого, то получите такое сообщение:
Затем в командной строке пропишите:
Прячем программу
Чаще всего подобным образом злоумышленники прячут вредоносное ПО
Для примера я спрячу калькулятор в том же текстовике. В той же командной строке пишем:
В вашей системе скорее всего используется огромное количество файлов со скрытыми потоками. Наиболее популярные варианты использования – это пометки файлов, скачанных с недоверенных источников, пометки файлов, проверенных антивирусами, иные метки, позволяющие каким-то способом “подписать” файл. Замечали, что иногда, при открытии файла, скачанного с Интернета, появляется окно с предупреждением, что файл получен из Интернета и относиться к нему нужно осторожно? Как думаете, каким способом помечен файл?
Начать стоит с того, что эта особенность касается файловой системы NTFS. Сегодня она прочно заняла первое место среди пользователей операционных систем семейства Windows. Итак, откуда же пошли эти альтернативные потоки.
Ключевым термином NTFS является MFT – Master File Table. Каждая запись MFT описывает конкретный файл и состоит из набора фиксированных атрибутов. Каждый атрибут содержит список полей, содержащих определённые значения.
Атрибуты бывают:
- $10 – $STANDART_INFORMATION
- $30 – $FILE_NAME
- $80 – $DATA
- …
$10 – $STANDART_INFORMATION – стандартная информация. В этом атрибуте указываются временные метки файла и атрибуты DOS.
Атрибут $80 – $DATA - содержимое файла.
Атрибут $30 – $FILE_NAME – содержит имя файла. Если длина имени больше 8 символов, то создаётся дополнительный атрибут $30 как для длинного имени, так и для короткого. Получается, что если имя длинное, то у файла два атрибута $30, для каждого из имён.
Это ключевой момент. Вообще у файла может быть несколько однотипных атрибутов, никто не запрещает. Так вот, а что будет, если у файла будет несколько атрибутов $DATA? То есть непосредственно содержимого. Да, такое возможно
Это и называется альтернативным потоком данных. Единственная особенность – должен быть атрибут $DATA по умолчанию (он задаётся без имени), остальные атрибуты $DATA должны быть поименованы, чтобы к ним можно было обратиться.
Практика
Давайте попробуем использовать альтернативные потоки на практике.
Прячем текст
Создадим текстовый документ, к которому и будем прикреплять альтернативные потоки. Он будет содержать слово "Planet".
echo Planet>test.txt
Его можно было и не создавать, а взять абсолютно любой файл на компьютере и работать с ним дальше
Далее спрячем текст "secret" в альтернативный поток secret.txt
echo наш_секретный_текст>файл_в_котором_прячем:название
Например: echo secret>test.txt:secret.txt
Итак, у нас есть файл test.txt. Если его открыть обычным методом (двойным кликом), то мы увидим слово "Planet". Чтобы посмотреть наше скрытое содержимое нужно прописать:
more < test.txt:secret.txt
В результате, мы получили слово "secret". Выходит, что мы можем спрятать нашу секретную информацию в любой файл на компьютере.
Кстати, альтернативные потоки не влияют на размер данного файла. Это будет очень полезно далее, когда мы будем прятать программы и файлы.
Прячем архив с файлами
Допустим у Вас есть архив с файлами, который также вы хотите спрятать в текстовом документе. Спрячем его в том же test.txt
Для начала поместите архив в ту же папку, где хранится test.txt, затем пропишите:
type имя_архива > test.txt:название_потока
Например, я прячу архив file.rar, тогда команда будет выглядеть
type file.rar > test.txt:myfile
Вместо myfile можете написать любое название
Можете проверить и убедиться, что размер test.txt не изменился. Это очень хорошо, так как не выдает наше потаенное место.
Теперь удаляем архив, который спрятали, чтобы замести следы.
Чтобы открыть наш архив и посмотреть содержимое, поместите исполняемый файл программы WinRAR.exe туда же, где хранится и test.txt (либо наоборот).
Если вы не сделаете этого, то получите такое сообщение:
Затем в командной строке пропишите:
Откроется Ваш секретный архив.WinRAR test.txt:myfile
Прячем программу
Чаще всего подобным образом злоумышленники прячут вредоносное ПО
Для примера я спрячу калькулятор в том же текстовике. В той же командной строке пишем:
type путь_к_программе > test.txt:calc.exe
В моем случае:
Чтобы запустить данную программу, нужно прописатьtype C:\windows\system32\calc.exe > test.txt:calc.exe
Если получаете ошибку, тогда запускаете такstart .\test.txt:calc.exe
Для чего еще используют скрытые потоки?wmic process call create \\.\C:\Users\user\test.txt:calc.exe
В вашей системе скорее всего используется огромное количество файлов со скрытыми потоками. Наиболее популярные варианты использования – это пометки файлов, скачанных с недоверенных источников, пометки файлов, проверенных антивирусами, иные метки, позволяющие каким-то способом “подписать” файл. Замечали, что иногда, при открытии файла, скачанного с Интернета, появляется окно с предупреждением, что файл получен из Интернета и относиться к нему нужно осторожно? Как думаете, каким способом помечен файл?