понедельник, 13 сентября 2010 г.

Опять Adobe накосячил (CVE-2010-2883)

На прошлой неделе был обнародован очередной 0-day для Adobe Reader (CVE-2010-2883). На этот раз повинна оказалась CoolType.dll, которая отвечает за парсинг True Type Font. Уязвимость проявляется при обработке шрифта с неправильной SING таблицей. В функции обработки есть вызов небезопасной синшной функции strcat(), которая при определенных условиях приводит к переполнению на стеке.

Первым человеком, кто обратил внимание на вредоносный сэмпл (9c5cd8f4a5988acae6c2e2dce563446a) эксплуатирующий эту уязвимость была Mila Parkour. Благодаря ее усилиям правильные люди обратили внимание на вредоносный сэмпл и разобрались в чем дело.
А сэмпл на самом деле попался интересным и судя по всему он уже с конца августа находился, что называется ITW. Непонятно почему в Adobe до сих пор используются небезопасные функции, видимо была надежда на опции компилятора /GS и /SAFESEH, с которыми была скомпилирована библиотека CoolType.dll. Для обхода всех этих неприятностей связанных с DEP и прочего SAFESEH используется техника ROP, а вот чтобы обойти ASLR был найден модуль icucnv36.dl, так же за авторством Adobe и не скомпилированный с опцией /DYNAMICBASE. Именно в этот модуль мы попадаем при выполнении ROP цепочки, размещенной в памяти по средством проведенной атаки heap-spray:
Далее используется цепочка вызовов WinAPI функций, при помощи которых выполняется вредоносная программа.
 
Интересно, что дропнутый из pdf-файла исполняемый файл имеет легальную цифровую подпись:
Сертификат является действующим до конца октября и вероятно поэтотму злоумышленники решили его использовать именно сейчас. Дропнутый модуль представляет собой динамическую библиотеку, маскирующуюся под cpl и имеет следующие импортируемые функции:

StartUP - скачивает с http://academyhouse.us/from/wincrng.exe и запускает этот файл
IsAdmin - проверяет наличие административных привилегий в системе
DeleteMyself - создает bat-файл, который удаляет этот исполняемый модуль из системы
MakeAndShowEgg - перезапускает Adobe Reader

Для этой уязвимости достаточно оперативно появился эксплойт для Metasploit, который так же использует heap-spray для размещения ROP и последующей эксплуатации.

Update: Сертификат уже отозван, но осадочек остался :)

4 комментария:

  1. когда же они уже сгорят в печах в аду ?
    у меня кстати нету adobe reader - foxit стоит уже года три :-)

    ОтветитьУдалить
  2. Foxit далеко не безупречен, так что я бы на него сильно не уповал.

    ОтветитьУдалить
  3. >>так что я бы на него сильно не уповал.
    но у него дела по-лучше ;)

    ОтветитьУдалить
  4. Судя по этой картинке (http://j.mp/aDfhkA), у них все не очень хорошо (DEP:off, ASLR:no). Видимо интереса пока к ним меньше проявляют. Так, что я бы не радовался так :)

    ОтветитьУдалить