Запись вложений на диск без участия пользователя
Вложения с принудительной загрузкой
Для описанного на Web-узле http://4-ww.malware.com способа загрузки файла на диск пользователя без его разрешения на этом же узле было предложено название принудительная загрузка (force feeding). Сущность данного подхода состоит в том, что, как утверждают специалисты, Outlook/OE игнорирует ответ пользователя на вопрос о том, что делать с файлом вложения электронного сообщения. Обычно, когда присоединенный файл запускается из почтовой программы, пользователю предоставляется три варианта действий: Open, Save To Disk или Cancel. Согласно утверждению, приведенному на узле malware.com, независимо от выбора пользователя вложение будет записано в каталог Windows %temp% (С: \Windows\temp – в WIN 9x и С: \temp – в NT). Временные каталоги в WIN 2000 настраиваются по усмотрению пользователя, поэтому, если эта система устанавливалась "с нуля", а не поверх предыдущих версий, определить их местоположение сложнее. Поместив требуемые файлы в систему пользователя, их можно запустить с помощью специального дескриптора HTTP. При этом браузеру скрытно и автоматически будет передана страница, указанная в дескрипторе. Например:
<МЕТА HTTP-EQUIV="refresh" content="2;URL=http://www.othersite.com">
Этот код, помещенный на Web-страницу, перенаправит браузер на Web-узел www.othersite.com. Параметр context= задает интервал ожидания, по истечении которого браузером будет выполнен заданный переход. Для принудительной загрузки операторы узла malware.com выбрали один из их локальных файлов и поместили его адрес в дескриптор.
<meta http-equiv="refresh" content="5; url=mhtml:file://С:\WINDOWS\TEMP\lunar.mhtml">
В файле lunar.mhtml, который был вложен в сообщение и загружен без согласия пользователя, содержится ссылка на элемент управления ActiveX, помеченный флагом "safe for scripting", который запускает второй присоединенный файл. Он представляет собой исполняемый файл с именем mars.exe. В обход, но достаточно эффективно.
Во время возникшей в бюллетене Bugtraq дискуссии по поводу этой находки по крайней мере два авторитетных специалиста по вопросам безопасности высказались против того, что описанный подход будет работать именно так, как предполагается. Тестирование, предпринятое авторами данной книги, проходило с переменным успехом. Даже при условии, что для соответствующих зон IE (см. предыдущие разделы), используемых также для чтения почтовых сообщений в программах Outlook/OE, был установлен уровень безопасности Low, положительного эффекта удавалось добиться не всегда. Успешная принудительная загрузка вложений происходила во временный каталог систем WIN 98 SE и NT4 Workstation, в которых для зон был установлен уровень безопасности Low, но это происходило не всегда. Тайна принудительной загрузки по рецепту malware.com пока остается неразгаданной.
Это обстоятельство слегка утешает. Пугает сама мысль о тех неприятностях, к которым мог бы привести такой подход в случае его применения совместно с методом Георгия Гунински, позволяющим запускать документы MS Office. Взломщики смогли бы посылать документы Office, содержащие в виде вложений злонамеренный код. Затем они могли бы послать второе сообщение, заключающее в своем теле соответствующие дескрипторы, которые указывали бы на каталог %temp%, где уже находилось бы принудительно загруженное вложение. (По существу, Георгий добивался того же результата, но с использованием одного сообщения. См. описание следующей атаки.)
Конечно же, как уже упоминалось, доступность служб, предоставляющих возможность бесплатного и анонимного хранения файлов в Internet, избавляет от необходимости загрузки кода на локальный диск. Указав в своих сообщениях адрес одного из таких хранилищ, хакер сразу же обеспечивает доступность второго компонента. При этом самого взломщика выследить практически невозможно.
Запись вложения в каталог TEMP с помощью дескриптора I FRAME
Данный метод, который в 2000 году был опубликован Георгием в девятом номере его информационного бюллетеня, продемонстрировал дальновидность его автора, которому удалось умело воспользоваться, казалось бы, незначительными проблемами. Предложенный подход основан на том, что программы Outlook и Outlook Express создают в каталоге TEMP файлы с известным именем и произвольным содержимым, что очень похоже на механизм, созданный на узле malware.com. Однако, использовав другие свои разработки, в число которых входит использование изъяна, позволяющего запускать ярлыки файлов справочной системы Windows, и дескрипторы IFRAME, Георгий разработал, по-видимому, непревзойденный непротиворечивый механизм доставки кода и его последующего запуска. Поэтому авторы присвоили этому методу степень риска, равную восьми, т.е. наивысшую среди рассматриваемых. Он гораздо ближе других алгоритмов подошел к тому, чтобы стать целостным пакетом, предоставляя возможность записи файла на диск и запуска этого файла без необходимости какого-либо вмешательства пользователя.
Фокус состоит в использовании в теле почтового сообщения дескриптора I FRAME, в котором содержится ссылка на вложение этого же сообщения. По какой-то причине, возможно, известной лишь Георгию, когда i FRAME "прикасается" к вложенному файлу, он сохраняется на диске. Затем этот файл легко вызвать из сценария, помешенного в тело этого же сообщения. В своей реализации Георгий записывает файл.СНМ, который элегантно сконфигурирован для запуска редактора Wordpad.exe с помощью команды "shortcut".