Скрытая угроза: альтернативные потоки данных

Опубликовано: 14 Апреля, 2023

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


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


Одним из популярных методов, используемых в системах Windows, является использование альтернативных потоков данных (ADS). Относительно неизвестная функция совместимости NTFS, ADS — это возможность разветвления файловых данных в существующие файлы, не влияя на их функциональность, размер или отображение в традиционных утилитах просмотра файлов, таких как dir или проводник Windows. Возможности ADS, присутствующие во всех версиях NTFS, изначально были задуманы для обеспечения совместимости с иерархической файловой системой Macintosh, HFS; где информация о файле иногда разветвляется на отдельные ресурсы. Альтернативные потоки данных стали законно использоваться различными программами, включая родную операционную систему Windows, для хранения файловой информации, такой как атрибуты и временное хранилище.


Удивительно, но альтернативные потоки данных чрезвычайно просты в создании и не требуют от хакера практически никаких навыков. Общие команды DOS, такие как «тип», используются для создания ADS. Эти команды используются в сочетании с перенаправлением [>] и двоеточием [:] для разветвления одного файла в другой.


Например: команда


«введите c:anyfile.exe > c:winntsystem32calc.exe:anyfile.exe»


разветвит обычную программу калькулятора Windows с помощью ADS «anyfile.exe».


Тревожно, что файлы с ADS практически невозможно обнаружить с помощью собственных методов просмотра файлов, таких как командная строка или проводник Windows. В нашем примере размер файла calc.exe будет отображаться как исходный размер 90k независимо от размера ADS anyfile.exe. Единственным признаком того, что файл был изменен, является отметка времени модификации, которая может быть относительно безобидной.


После внедрения ADS может выполняться с использованием традиционных команд, таких как type, или запускаться, или быть написанным на типичных языках сценариев, таких как VB или Perl. При запуске исполняемый файл ADS будет выглядеть как исходный файл, который не будет обнаруживаться для программ просмотра, таких как диспетчер задач Windows. С помощью этого метода можно не только скрыть файл, но и скрыть выполнение нелегитимного процесса.


К сожалению, при использовании NTFS практически невозможно изначально защитить вашу систему от скрытых файлов ADS. Использование альтернативных потоков данных не является функцией, которую можно отключить, и в настоящее время нет способа ограничить эту возможность файлами, к которым у пользователя уже есть доступ. Бесплатные программы, такие как lads.exe от Frank Heyne (www.heysoft.de) иcriticalADS от CrucialSecurity, можно использовать для ручного аудита ваших файлов на наличие альтернативных потоков данных. В качестве альтернативы действие по перемещению файла в другую файловую систему, не поддерживающую ADS, автоматически уничтожит все альтернативные потоки данных.


В конечном счете, только стороннее приложение контрольной суммы файлов может эффективно поддерживать целостность раздела NTFS от несанкционированных альтернативных потоков данных. Недавно получившие название «системы предотвращения вторжений» или «системы обнаружения вторжений», сторонние приложения безопасности, такие как eTrust Access Control от Computer Associates, годами использовались в высокопроизводительных государственных сетях для проверки целостности файлов, используемых в самых безопасных среды. В дополнение к повышенному уровню аудита и контроля доступа эти приложения обычно создают хэшированную базу данных контрольных сумм файлов с помощью MD5, которая используется для проверки достоверности файла. Методы внедрения файлов, такие как альтернативные потоки данных, запускают действие, в результате которого файл считается ненадежным и, следовательно, предотвращается от выполнения или, что еще лучше, предотвращается изменение в первую очередь.


Еще одним хорошим приложением для обеспечения целостности файлов является Tripwire for Servers от Tripwire Inc. Компания Tripwire уделяет особое внимание управлению целостностью файлов с начала 90-х годов и выполняет огромную работу по обеспечению строгих мер безопасности против несанкционированных изменений файлов.


Пример объявления


Чтобы полностью понять последствия альтернативных потоков данных, в следующем пошаговом руководстве показано создание и выполнение ADS с использованием стандартных программ Windows 2000 в разделе NTFS 5.0.


На рис. 1 показан исполняемый файл калькулятора стандартной программы Windows, calc.exe, исходный размер которого составляет 90 КБ, а дата изменения — 26 июля 2000 года.



Изображение 26144
фигура 1


Затем мы добавляем альтернативный поток данных к calc.exe с помощью другой стандартной программы Windows, notepad.exe, как показано на рис. 2.



Изображение 26145
фигура 2


На рис. 3 показано, что хотя размер файла notepad.exe составляет 50 КБ, размер файла calc.exe не изменился по сравнению с исходными 90 КБ. Однако мы видим, что отметка времени изменения даты изменилась.



Изображение 26146
Рисунок 3


На рис. 4 мы запускаем новый ADS notepad.exe с помощью стандартной команды start.



Изображение 26147
Рисунок 4


На нашем рабочем столе программа блокнота выполняется, однако проверка диспетчера задач Windows показывает исходное имя файла calc.exe. ( Рисунок 5 ).



Изображение 26148
Рисунок 5


Резюме


В конечном счете, сама доступность альтернативных потоков данных в NTFS смущает, а их полезность сомнительна, но, в конце концов, функции безопасности NTFS намного перевешивают эту потенциально опасную уязвимость. Обладая знаниями и должной осмотрительностью, администраторы могут предпринимать действия для предотвращения и обнаружения несанкционированного использования ADS и, в конечном итоге, должным образом защищать себя.