Новый старый 0day для Microsoft Office — CVE-2013-3906

5 ноября Microsoft сообщила о новой уязвимости CVE-2013-3906, которая срабатывает при обработке TIFF изображений. Эксплуатация этой уязвимости дает возможность атаковать ПО, использующее уязвимую библиотеку обработки TIFF изображений, в том числе Microsoft Office и Lync. В этот же день была опубликована  информация о том, что Microsoft зафиксировала атаки с использованием эксплойтов к  CVE-2013-3906.

В наших руках оказалось несколько эксплойтов к CVE-2013-3906, которые мы подробно разобрали. Во всех осуществляется heap-spray, запись своего кода по адресу 0x08080808 и исполнение оттуда же. Генерация исключения и перезапись памяти осуществляется в уязвимой ogl.dll.


Фрагмент исполнения шелл-кода из WinDbg

По используемым шелл-кодам имеющиеся у нас эксплойты можно разделить на две группы.

Эксплойты в первой группе используют примитивный и незашифрованный шелл-код, который осуществляет только загрузку и запуск вредоносного ПО.


Шелл-код эксплойта из первой группы

Загруженный пейлоад дропает чистый doc-файл, который будет показан пользователю, чтобы у последнего не возникло подозрений, и вредоносную программу, ранее замеченную в атаке HangOver. Это бэкдор, который написан на C++ и даже не зашифрован.


Фрагмент содержимого чистого docx-файла

Эксплойты из второй группы значительно сложнее. Для начала используемый ими шелл-код уже зашифрован простым xor’ом. После его расшифровки стало ясно, что он не осуществляет загрузку и запуск вредоносного кода, в отличие от большинства эксплойтов, в том числе эксплойтов к CVE-2013-3906 из первой группы.


Расшифрованный шелл-код эксплойта из второй группы

В шелл-коде осуществляется чтение встроенного в оригинальный docx документ OLE2-объекта. В этом объекте содержится поток данных, в котором в 6 байтах, расположенных перед зашифрованными данными, указывается исходный ключ расшифровки, динамический ключ расшифровки и длина расшифровываемого потока. Сам же алгоритм расшифровки представляет собой обычный XOR, в котором ключ XOR’а изменяется с помощью байтовой инструкции ADD.


Фрагмент упакованных данных и заголовок (выделен красным прямоугольником), содержащий ключи и размер

После расшифровки эти данные превращаются в динамическую библиотеку под названием a.l, которая подгружается в контексте процесса winword.exe. Эта библиотека дропает a.exe, который представляет собой бэкдор Citadel.


Фрагмент распакованного сампла Citadel

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

Любопытно, что TIFF файлы, содержащиеся во второй категории эксплойтов, датируются мартом 2013 года, а появление первых таких эксплойтов мы зафиксировали 31 июля этого года. В них использовалась описанная выше техника хранения, расшифровки и запуска пейлоада. Но сам пейлоад в более ранних эксплойтах отличается. В новых самплах дропается динамическая библиотека, которая дропает и запускает исполняемый файл и чистый docx. В более ранних самплах библиотека другая, и дропает она другой чистый docx и vbe скрипт. Этот же vbe скрипт использовался в кроссплатформенной вредоносной программе Janicab.


Фрагмент дропнутого docx из июльского сампла эксплойта

Таким образом, либо в распространении Citadel и Janicab — от эксплойта до пейлода — принимали участие одни и те же люди, либо одна группа людей продаёт услуги по распространению вредоносных программ с помощью 0day эксплойтов.

Наша технология AEP (Advanced Exploit Protection) защищает пользователей от запуска вредоносного ПО приложениями, атакованными эксплойтами к CVE-2013-3906, со времени появления таких эксплойтов. AEP реагирует на аномальное поведение процессов популярных программ, позволяя, таким образом, блокировать запуск эксплойтов.

Статичными сигнатурами эти эксплойтов детектируются как Exploit.Win32.CVE-2013-3906.a.

Публикации на схожие темы

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *