
Guía y código teórico para CVE-2023-35674
Guía y código teórico para CVE-2023-35674
Debido a que Android está fuera de mi liga, por favor usa esto como una visión general desde mi punto de vista sobre cómo explotaría este CVE. Los fragmentos de código son solo esqueletos, por favor ayuda :) Así que, antes que nada, no puedes explotar solo el CVE-2023-35674. ¿Por qué? Porque el CVE-2023-35674 solo te permite lanzar una actividad en segundo plano debido a un error lógico. Entonces, en esencia, usarías este CVE para lanzar una aplicación en segundo plano y usarías algo como CVE-2021-0307 para la escalada de privilegios. Un consejo: la única forma en que puedes explotar completamente estas 2 vulnerabilidades (es decir, en esencia usar la cadena) es solo si tu Android es Android 11.
Ahora, sobre CVE-2023-35674. La causa raíz es, en esencia, que a las presentaciones virtuales se les enseñó que solo pueden mostrarse en pantallas virtuales privadas y que eso no debería hacer que una aplicación se considere en primer plano. Así que incluí Presentation.java, el código de Google Docs para iniciar una presentación virtual y dentro de ella iniciar una instancia de una clase (que debería reemplazarse con una forma de iniciar una aplicación). Esto iniciará la aplicación en segundo plano por defecto.[1]
Ahora pasemos a la parte de eop... Para CVE-2021-0307 usé esto (https://blog.thalium.re/posts/leveraging-android-permissions/) como referencia... Entonces, ¿qué más precisamente? esto

Así que naturalmente pensé en codificar un esqueleto porque, de nuevo, Android está fuera de mi liga y soy perezoso. Así nació MainActivity.java. Ahora, con un poco más de comprensión, creo que el flujo del exploit debería ser un poco diferente. ¿Cómo?
Bueno, para iniciar la aplicación en segundo plano [1] aún se debe respetar. Sin embargo, para eop debería ser algo como la imagen de abajo

Como puedes ver, el flujo del exploit es idéntico, solo que en lugar de terminar el exploit como el de eop, terminamos con la aplicación con la que iniciamos el exploit en segundo plano.
Así que, en términos generales, creo que describí 2 formas de obtener eop, aunque creo que solo con CVE-2023-35674 puedes llegar a ejecutar código en segundo plano. Pero divagando, creo que hay 2 formas de explotar este CVE-2023-35674:
Por favor, toma todo lo que escribo aquí con un grano de sal, hasta nuevo aviso (hasta que encuentre a alguien con quien colaborar en esto que sepa de explotación de Android...).