Pull to refresh
0

Security-ресерчеры продемонстрировали полнофункциональный эксплойт для Android

Reading time 3 min
Views 12K
Исследователи израильской компании NorthBit продемонстрировали один из первых экспериментальных полнофункциональных эксплойтов для Android всех версий до 5.1. Эксплойт основан на уже закрытой обновлением Nexus Security Bulletin — September 2015 уязвимости с идентификатором CVE-2015-3864 (Stagefright), которая наделала в прошлом году много шума. Уязвимость присутствовала в библиотеке Android под названием Stagefright, которая используется в системном компоненте mediaserver. Она позволяла атакующим получать полный доступ к устройству через отправку специальным образом сформированного MMS-сообщения пользователю.



Эксплойт NorthBit получил название Metaphor. Кроме детального описания механизма эксплуатации уязвимости, исследователи представили уязвимые места в Android для обхода защитных механизмов DEP & ASLR, которые используются для защиты от эксплойтов, полагающихся на размещении шелл-кода в области данных, а также опираются на фиксированные адреса в памяти Android для стабильной эксплуатации уязвимости. Как и в Windows, обход выполняется за счет известных методов ROP и heap-spray.

Атака с использованием эксплойта разделяется на несколько шагов.

  1. На первом этапе выбирается вектор атаки, например, вредоносное перенеправление MitM или XSS, вредоносная ссылка в сообщении, вредоносное содержимое HTTP.
  2. Часть эксплойта на веб-странице в виде кода JavaScript создает т. н. сессию атаки и получает идентификатор устройства Device ID, после чего отправляет эту информацию на сервер злоумышленников. Этот код специализируется на дирижировании всего последующего процесса эксплуатации с привлечением нескольких вредоносных файлов MPEG4.
  3. В случае необходимого злоумышленникам ID, жертве посылается специальным образом сформированный видео-файл формата MPEG4 (crash.mp4).
  4. Android привлекает процесс mediaserver для воспроизведения этого видео-файла, который вызывает аварийное завершение системного процесса mediaserver. Такой шаг необходим для установки процесса в начальное состояние, что позволит корректно выполнить эксплуатацию уязвимости. После аварийного завершения, процесс автоматически запустится еще раз.
  5. Далее код эксплойта отправляет запрос на удаленный сервер злоумышленников для получения еще одного файла MPEG4 под названием leak.mp4. Он необходим для раскрытия системных указателей памяти Android и обхода ASLR.
  6. Удаленный сервер, на основе отправленной ему информации Device ID эксплойтом на предыдущем шаге, возвращает ему leak.mp4, а также относительное смещение в системном файле libc.so для формирования гаджетов ROP и обхода DEP.
  7. Для воспроизведения leak.mp4 Android опять привлекает процесс mediaserver, который выполняет разбор фальшивых метаданных файла и используется эксплойтом для обхода ASLR. Для обхода ASLR используется универсальный метод рассчета дельты через уязвимое место его начального формирования на используемом в Android Linux-алгоритме для ARM 32-бита. Результатом обхода ASLR становится успешное обнаружение в памяти заголовка исполняемого ELF-файла, на основе чего формируется дельта для вычисления абсолютных адресов в процессе.
  8. На этом этапе все подготовительные действия завершены и код JavaScript запрашивает у удаленного сервера сам RCE-эксплойт для уязвимости CVE-2015-3864, предоставляя ему упоминавшийся ID устройства и некоторую дополнительную информацию о расположении модулей Android в памяти.
  9. Удаленный сервер отправляет вредоносному коду JavaScript файл rce.mp4, а также всю информацию об адресах в памяти, необходимых для успешной эксплуатации уязвимости. Адреса были заранее рассчитаны с привлечением leak.mp4.
  10. На последнем этапе вредоносный код JavaScript запускает на исполнение rce.mp4, что приводит к срабатыванию уязвимости и удаленному исполнению кода. Так как эксплойт выполняется в контексте системного процесса mediaserver, он получает расширенные привилегии в Android.


Рис. Демонстрация работы эксплойта Metaphor. Жертва проходит по ссылке на веб-страницу с изображением животных, где находится вредоносный видео-контент с эксплойтом.

По подсчетам аналитиков рынка, сотни миллионов устройств под управлением Android работают на уязвимых для Metaphor версиях этой мобильной ОС. Установка обновлений Android для своих устройств является наилучшей мерой защиты от подобного рода уязвимостей, но что делать пользователям смартфонов, производители которых не адаптируют для них выпущенные Google новые прошивки. Что же, на этот вопрос пока нет окончательно ответа… Мы рекомендуем пользователям не переходить по фишинговым ссылкам (как это было продемонстрировано на видео) и использовать антивирусное ПО в качестве одной из основных мер защиты своего устройства.

Полное описание функционирования Metaphor можно найти по этой ссылке.
Описываемая уязвимость была закрыта Google в сентябре прошлого года обновлением Nexus Security Bulletin — September 2015.

Tags:
Hubs:
+6
Comments 5
Comments Comments 5

Articles

Information

Website
www.esetnod32.ru
Registered
Founded
Employees
1,001–5,000 employees
Location
Словакия