Перейти к содержанию

Alternate Data Streams


Alternate Data Streams (ADS) - альтернативные потоки данных. Фишка файловой системы NTFS, которая позволяет записывать несколько потоков данных в один файл.

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

Каждый файл в NTFS имеет как минимум один поток данных - $DATA. Стандартным виндовым проводником, виден только он. Один лишь этот факт позволяет использовать ADS в нехороших целях. Это же фактически легальная стеганография в чистом виде! А учитывая то, что в альтернативный поток можно записать бинарники, ADS становится must have штукой к изучению.

Для просмотра всех имеющихся потоков файла есть различные утилиты/командлеты в powershell. Для просмотра потоков файла:

Get-Item  -path %PATH_TO_FILE% -stream *
Для просмотра конкретного потока:
Get-Item  -path %PATH_TO_FILE% -stream %STREAM_NAME%
Записать в альтернативный поток:
set-content - path {path to the file} - stream {name of the stream}

Также, работать с ADS можно через streams - утилиту из семейства Sysinternals

Подробнее: гугли NTFS ADS, или смотри здесь: Introduction to ADS