
Guia e código teórico para CVE-2023-35674
Guia e código teórico para CVE-2023-35674
Como o Android está fora do meu nível de habilidade, use isto como uma visão geral do meu ponto de vista sobre como eu exploraria esta CVE. Os trechos de código são apenas esqueletos, por favor ajude :) Então, antes de tudo, você não pode explorar somente a CVE-2023-35674. Por quê? Porque a CVE-2023-35674 só permite que você inicie uma atividade em segundo plano devido a um erro de lógica. Então, em essência, você usaria esta CVE para iniciar um app em segundo plano e usaria algo como a CVE-2021-0307 para escalonamento de privilégios. Um conselho: a única maneira de explorar totalmente essas 2 vulnerabilidades (ou seja, em essência, usar a cadeia) é somente se o seu Android for Android 11.
Então, agora, sobre a CVE-2023-35674. A causa raiz é, em essência, que as apresentações virtuais foram ensinadas a só poderem ser exibidas em displays virtuais privados e que isso não deveria ser o motivo de um app ser considerado em primeiro plano. Então incluí Presentation.java, o código do Google Docs, para iniciar uma apresentação virtual e, dentro dela, iniciar uma instância de uma classe (que deve ser substituída por uma forma de iniciar um app). Isso iniciará, por padrão, o app em segundo plano.[1]
Agora, para a parte do eop... Para a CVE-2021-0307, usei isto(https://blog.thalium.re/posts/leveraging-android-permissions/) como referência.... Então, o que mais precisamente? Isto

Então, naturalmente, pensei em codificar um esqueleto, porque, de novo, o Android está fora do meu alcance e sou preguiçoso. Assim nasceu MainActivity.java. Agora, com um pouco mais de entendimento, acho que o fluxo do exploit deveria ser um pouco diferente. Como?
Bem, para iniciar o app em segundo plano [1] ainda deve ser respeitado. Porém, para o eop, deveria ser algo como na imagem abaixo

Como você pode ver, o fluxo do exploit é idêntico, só que, em vez de terminar o exploit como o do eop, terminamos com o app com o qual iniciamos o exploit em segundo plano.
Então, de modo geral, acho que descrevi 2 maneiras de obter eop, embora eu ache que, para a CVE-2023-35674, você só consiga executar código em segundo plano. Mas, divagando, acho que há 2 maneiras de explorar esta CVE-2023-35674:
Por favor, leve tudo o que escrevo aqui com um grão de sal, até novo aviso (até eu encontrar alguém para colaborar nisso que entenda de exploração no Android....)