Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/canyie/transitionplayer
أمان أندرويدتصعيد الامتيازاتالاستغلالالتحقيق الجنائي الرقميأمن الجوالالتعلم والتعليماستغلال الملفات الثنائية
GitHubcanyie/transitionplayer

TransitionPlayer

CVE-2026-0091، استغل ثغرة في إدارة النوافذ في أندرويد لتنفيذ كود عشوائي في عملية Launcher من adb

عرض المستودع
3242منذ 9 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

تم إصلاح هذه المشكلة لنظام Android 14+ في نشرة أمان Android لشهر يونيو 2026. اضغط هنا لرؤية التصحيح

شرح

TODO

سأكمل الشرح عندما أحصل على القليل من وقت الفراغ

ولكن قبل ذلك، يجب أن أحارب الأعمال المدرسية والامتحانات

قررت إكمال القسم قبل انتهاء الامتحانات

حظاً موفقاً لي 😇

مقدمة إلى IApplicationThread

IApplicationThread هو رد اتصال خاص يُقدم من التطبيقات للنظام، بحيث يمكن للنظام استخدامه لإرسال الأوامر (تحميل تطبيق معين، إخطار بتغييرات دورة حياة المكون، إلخ) إلى التطبيق

من المفترض أن يكون قابلاً للاستخدام فقط من قبل النظام، لذلك لا توجد فحوصات أذونات، ويتم ضمان الأمان فقط من خلال حقيقة أن الكائن لا يتم الحصول عليه بواسطة عملية ضارة. هذا يشبه إلى حد ما مفهوم "الكوكيز" أو "الرموز" في الويب. يسمى نموذج التحكم في الوصول هذا الأمان القائم على الإمكانيات

إذا تمكن شخص آخر من الحصول على IApplicationThread من عمليات أخرى، فيمكنه إرسال أوامر عشوائية وسيقوم التطبيق الضحية بمعالجتها كما لو كانت صادرة عن النظام. في استغلال سابق لـ CVE-2022-20452 تم استخدام الحيلة لتنفيذ تعليمات برمجية عشوائية

RemoteTransition

بينما يجب تمرير IApplicationThread فقط إلى عملية النظام، يمكن إرساله بشكل غير متوقع خارج system_server

لن يقوم أحد بتنفيذ واجهة برمجة تطبيقات getIApplicationThreadForApp(String packageName) معروضة لأي شخص، فهذا انتهاك أمني واضح

ولكن إذا تم تغليف IApplicationThread داخل كائن آخر وتم إرسال كائن الغلاف الخارجي، فهذا سيناريو أكثر احتمالية

RemoteTransition هو مثل هذا الغلاف الذي يحتوي على IApplicationThread من أجل رفع أولوية التطبيق الذي يقوم بتشغيل رسم متحرك

أحد مستخدمي هذه الواجهة هو Launcher3، تطبيق الشاشة الرئيسية الافتراضي على AOSP وأجهزة Pixel، والذي ينشئ ActivityOptions باستخدام RemoteTransition ثم يمرره إلى startActivity()

بينما لا يعرض Launcher3 نفسه الكائن لعوامل غير موثوقة، فإن system_server يفعل ذلك أحيانًا

حدث CVE-2022-20419 لأن system_server أعاد توجيه ActivityOptions التي مررها المتصل إلى التطبيق الذي تم إطلاقه لكنه نسي إزالة RemoteTransition، مما سمح للتطبيق الذي تم إطلاقه باستلامه وتحميل تعليمات برمجية عشوائية داخل عملية المشغل

TransitionPlayer

أثناء الرسوم المتحركة لانتقال العناصر المشتركة، يجب القيام بالكثير من العمل ويجب أن تحدث اتصالات بين WMCore وWMShell، حيث يعني WM مدير النوافذ

يمكنك قراءة هذه المقالة لفهم WMShell

نظرًا لأن WMCore وWMShell يعملان في عمليات مختلفة (WMCore يعمل في system_server وWMShell يعمل في SystemUI)، فإنهما يستخدمان آلية Binder للتواصل مع بعضهما البعض

كشف WMCore عن واجهة برمجة تطبيقات Binder registerTransitionPlayer ويستخدمها WMShell لتسجيل Binder الخاص به

عند بدء الرسم المتحرك، يستدعي WMCore requestStartTransition ويتم تمرير TransitionRequestInfo إلى البعيد، والذي يتضمن RemoteTransition الأولي

لذا إذا تمكنا من استبدال مشغل الانتقال، سنتمكن من استرداد IApplicationThread الخاص بـ Launcher وتحقيق تنفيذ تعليمات برمجية عشوائية داخل عملية متميزة

ومع ذلك، فإن registerTransitionPlayer محمي بإذن MANAGE_ACTIVITY_TASKS الذي لا يمكن لتطبيق طرف ثالث الحصول عليه

ولكن يمكن لـ adb shell أيضًا تشغيل كود مستخدم غير موثوق، ويتم منح shell إذن MANAGE_ACTIVITY_TASKS، لذا لحسن الحظ يمكننا شن هجوم من adb shell

التأثير

إنه سؤال مضحك حول ما يمكن للمهاجمين فعله من خلال هذه الثغرة

نظرًا لأن معظم الأذونات الممنوحة لـ Launcher يمتلكها أيضًا adb shell، فإن المهاجمين الذين يمكنهم بالفعل تنفيذ تعليمات برمجية تحت هوية shell لا يحتاجون إلى استغلال هذه الثغرة لاختراق الجهاز

هذا更像 مثال تعليمي لتعلم IApplicationThread بدلاً من استغلال يمكن استخدامه بواسطة تطبيق ضار

ومع ذلك، قد يظل شخص ما مهتمًا بهذا

على سبيل المثال، يمكن استخدام هذا لاستخراج الملفات الخاصة لـ Launcher، والتي يمكن أن تكون مفيدة في التحليل الجنائي لتطبيقات Launcher الضارة دون تجذير الجهاز. سابقًا تم تحقيق ذلك عن طريق استغلال CVE-2024-31317، ويكشف اكتشافي طريقة أخرى بعد إصلاح الطريقة السابقة

يسمح هذا أيضًا للمستخدمين باستخدام تراكب موارد وقت التشغيل المُصنّع (FRRO) دون تجذير أجهزتهم أولاً، لذا تعود السمات المخصصة بدون جذر بعد إصلاح CVE-2021-39630. أثبت استغلالي ذلك عن طريق تعيين android:integer/config_multiuserMaximumUsers إلى 100

بالإضافة إلى ذلك، يستضيف Launcher أيضًا مكون شاشة الأخيرة بشكل افتراضي وبالتالي فهو مدرج في القائمة البيضاء لبعض الإجراءات المميزة. أعتقد أن Launcher مسموح له ببدء أي نشاط في مهمة موجودة بغض النظر عن إعدادات التصدير/الأذونات للأنشطة التي تم إطلاقها والتي قد تكون مرغوبة من قبل بعض تطبيقات أدوات إدارة الأجهزة، على الرغم من أنني لم أختبرها بنفسي

اختبار

قم ببناء المشروع، وقم بتثبيت ملف apk المُنشأ (إذا كنت تستخدم زر التشغيل داخل Android Studio، فقم بتشغيل "Always install with package manager")

قم بتشغيل الأمر التالي على الكمبيوتر

root@kitploit:~
adb shell app_process '-Djava.class.path=$(pm path top.canyie.transitionplayer | cut -c9-) /system/bin top.canyie.transitionplayer.Main'

ثم قم بتشغيل أي تطبيق عن طريق النقر على أيقونته من المشغل

يجب إرسال إشعار من تطبيق المشغل، وإذا كنت على Android 14+، فسيتم حقن تراكب مصنّع في النظام، لذا يجب أن يعيد adb shell cmd overlay lookup android android:integer/config_multiuserMaximumUsers القيمة 100

الإصلاحات

  • تم إعادة هيكلة آلية تفويض الرسوم المتحركة ولم يعد يتم إرسال مقبض IApplicationThread خارج WindowManagerService
  • بدءًا من Android 17، سيتم رفض الاستدعاء إلى IApplicationThread إذا كان من غير النظام. لا أعتقد أنها طريقة فعالة للتخفيف من مثل هذه الاستغلالات لأنني أعتقد أن المهاجمين يمكنهم خداع ActivityManagerService لإجراء استدعاءات بمسار apk يتحكم فيه المهاجم إلى العملية المستهدفة (على الرغم من أنني لم أختبرها بنفسي)، لكنها إشارة إلى أن فريق أمان Android بدأ في اتخاذ إجراءات
تنزيل الأداة