Новая 0-day уязвимость во Flash Player (CVE-2014-0515) используется в атаках типа watering hole

В середине апреля мы обнаружили два новых SWF эксплойта, при детальном анализе которых выяснилось, что они не используют ни одну из известных нам уязвимостей. Мы послали эти эксплойты в Adobe и через несколько дней получили подтверждение – эксплойты эксплуатируют 0-day уязвимость, которой был присвоен номер CVE-2014-0515. Уязвимость находится в компоненте Pixel Bender, предназначенном для обработки видео и изображений.

Сампл первого эксплойта мы получили 14 апреля, а второго 16 апреля. Срабатывание на первый эксплойт мы зафиксировали в KSN 9 апреля, когда он задетектировался общей эвристической сигнатурой. Затем множество срабатываний было отмечено 14 и 16 апреля. Таким образом, с помощью эвристик нам удалось задетектировать неизвестную ранее угрозу.

По данным KSN, на зараженном сайте эксплойты лежали под именами movie.swf и include.swf. Оба эксплойта различаются только шелл-кодами. Стоит отметить, что второй обнаруженный эксплойт (include.swf) уже не детектировался первоначальной эвристической сигнатурой, поскольку содержал уникальный шелл-код.

Каждый эксплойт представляет собой незапакованное Flash видео. Action Script код внутри не обфусцирован и не зашифрован.

Как это обычно бывает в подобных эксплойтах, вначале выполняется HeapSpray подготовка динамической памяти для эксплуатации уязвимости. Причём в эксплойтах есть проверка версии операционной системы если обнаружена Windows 8, то применяется слегка модифицированный байт-код компонента Pixel Bender.


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


Фрагмент декомпилированного кода эксплойта

Затем происходит непосредственно эксплуатация уязвимости. А именно изменяется один из указателей таблицы методов/виртуальных функций.

Любопытно, что в обоих эксплойтах присутствуют по два шелл-кода. Первый шелл-код одинаковый в обоих эксплойтах. Он достаточно короткий и подготавливает память для успешной работы второго шелл-кода.


Фрагмент первого шелл-кода при отладке из WinDBG

Вначале текущая память помечается доступной на чтение, исполнение и запись с помощью API-функции VirtualProtect, а затем с помощью VirtualAlloc выделяется дополнительная память. В эту память копируется второй шелл-код и на него передаётся управление. Вызовы API-функций и передача управления на второй шелл-код отмечены на скриншоте красными прямоугольниками.

Вторые шелл-коды у эксплойтов значительно отличаются.

У обнаруженного первым эксплойта (movie.swf) шелл-код типичный он выполняет поиск системных библиотек в памяти, а затем скачивает и запускает полезную нагрузку. К сожалению, на время нашего исследования ссылка оказалась неактивной.


Фрагмент второго шелл-кода эксплойта movie.swf, выполняющего загрузку и запуск полезной нагрузки

В другом эксплойте include.swf второй шелл-код оказался необычным. Он получает базовый адрес библиотеки flash10p.ocx, проводит в ней поиск определённых фрагментов и взаимодействует с плагином ‘ciscompeaddin5x0’- Cisco MeetingPlace Express Add-In версии 5×0. Этот плагин используется для совместного просмотра участниками веб-конференции документов/изображений на мониторе докладчика. Стоит отметить, что если на компьютере отсутствует хотя бы одна из этих программ (Adobe Flash Player ActiveX и Cisco MPE) нужной версии, экплойт не отработает.


Фрагмент второго шелл-кода эксплойта include.swf

Судя по всему, часть информации для эксплойта include.swf передаётся извне. По данным KSN referrer перехода на include.swf указывал на другой SWF файл stream.swf. В то же время referrer первого эксплойта movie.swf указывал на index.php, лежащий в той же папке, что и эксплойты (см. ниже). Нам не удалось точно установить полезную нагрузку эксплойта include.swf, так как не хватало данных, передаваемых с лендинга и/или другим эксплойтом.

Мы уверены, что все эти ухищрения были сделаны для того, чтобы выполнять вредоносную активность только у весьма определённой группы пользователей максимально незаметно для защитных средств. Мы предполагаем, что вышеупомянутый плагин Cisco может использоваться как для скачивания/исполнения полезной нагрузки, так и для прямого шпионажа за компьютером жертвы.

Оба найденных нами эксплойта распространялись с сайта, расположенного на http://jpic.gov.sy. Этот сайт был запущен в 2011 году Министерством юстиции Сирии и представляет собой онлайн-форму для отправки жалоб граждан на нарушение правопорядка. Мы полагаем, что целью атаки были сирийские диссиденты, выступающие против правительства.

Сайт уже был взломан в сентябре 2013 года, о чем сообщил предположительно сам хакер в своем твиттере.

Ссылка на эксплойты выглядит следующим образом: http://jpic.gov.sy/css/images/_css/***********. Когда мы заходили на сайт, обращений к папке «_css» не было. Мы предполагаем, что злоумышленники создали папку, имя которой, скорее всего, не выглядит подозрительно для администратора ресурса, и загрузили туда эксплойты. Вероятно, жертв перенаправляли на эксплойты с помощью фрейма или скрипта, расположенного на сайте. На 24 апреля число срабатываний наших продуктов на эти эксплойты превысило 30. Срабатывания зафиксированы у 7 уникальных пользователей, и все они из Сирии, что неудивительно, учитывая специфику сайта. Любопытно, что все атакованные пользователи ходили на заражённый сайт с помощью Mozilla Firefox разных версий.

Вероятно, атака была тщательно спланированной, и за ней стоят профессионалы достаточно высокого уровня. Об этом свидетельствует использование профессионально написанных 0-day эксплойтов, которыми был заражен единственный ресурс.

Кроме того, если первый эксплойт вполне стандартный и может заразить практически любой незащищенный компьютер, то второй эксплойт (include.swf) корректно отработает только у тех пользователей, у которых установлены Adobe Flash Player 10 ActiveX и Cisco MeetingPlace Express Add-In. В качестве вектора атаки был выбран компонент Flash Player Pixel Bender, который уже не поддерживается Adobe. Вирусописатели рассчитывали на то, что уязвимость в таком компоненте не будет найдена разработчиками, и это позволит эксплойтам дольше оставаться «рабочими». Все это говорит о том, что злоумышленники ориентировались не на массового пользователя.

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

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

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