
Руководство и теоретический код для CVE-2023-35674
Руководство и теоретический код для CVE-2023-35674
Поскольку Android выходит за пределы моих навыков, пожалуйста, используйте это как общий обзор с моей точки зрения о том, как я бы эксплуатировал эту CVE. Фрагменты кода — всего лишь скелеты, пожалуйста, помогите :) Итак, во-первых, вы не можете эксплуатировать только CVE-2023-35674. Почему? Потому что CVE-2023-35674 позволяет только запустить фоновое действие из-за логической ошибки. По сути, вы бы использовали эту CVE для запуска приложения в фоне и использовали что-то вроде CVE-2021-0307 для повышения привилегий. Совет: единственный способ полностью использовать обе эти уязвимости (т.е. использовать связку) — это если ваш Android — Android 11.
Итак, теперь о CVE-2023-35674. Коренная причина в том, что виртуальные презентации считались отображаемыми только на приватных виртуальных дисплеях, и это не должно было быть причиной того, что приложение считается находящимся на переднем плане. Поэтому я включил код Presentation.java из документации Google для запуска виртуальной презентации, и внутри неё запускается экземпляр класса (который следует заменить способом запуска приложения). По умолчанию это запустит приложение в фоне.[1]
Теперь о части повышения привилегий... Для CVE-2021-0307 я использовал это (https://blog.thalium.re/posts/leveraging-android-permissions/) в качестве справки... Итак, что именно? Вот это:

Естественно, я подумал написать скелет, так как Android снова не в моей компетенции, и мне лень. Так родился MainActivity.java. Теперь, с немного лучшим пониманием, я думаю, что поток эксплуатации должен быть немного другим. Как?
Ну, для запуска приложения в фоне [1] это всё ещё должно соблюдаться. Однако для повышения привилегий это должно быть примерно так, как на изображении ниже:

Как видите, поток эксплуатации идентичен, только вместо завершения эксплуатации, как в случае с повышением привилегий, мы заканчиваем тем приложением, с которого начали эксплуатацию в фоне.
В общем, я думаю, что описал два способа получения повышения привилегий, хотя, насколько я понимаю, только с помощью CVE-2023-35674 можно выполнять код в фоне. Но отходя от темы, я считаю, что есть два способа эксплуатации этой CVE-2023-35674:
Пожалуйста, относитесь ко всему, что я здесь пишу, с недоверием, до дальнейших уведомлений (пока я не найду кого-то для сотрудничества, кто разбирается в эксплуатации Android...).