Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
TimerRoot — واجهة أمامية لنظام Android خاصة بـ CVE-2026-98260: صدفة الجذر + التحميل المتأخر لـ KernelSU عبر Shizuku | Kitploit
أدوات/GitHubGitHub/kpgc10kai/timerroot
أمان أندرويدتصعيد الامتيازاتآليات الاستمراريةالاستغلالما بعد الاستغلالاختبار الاختراقأمن الجوالتطوير الحمولات
GitHubkpgc10kai/timerroot

TimerRoot

واجهة أمامية لنظام Android خاصة بـ CVE-2026-98260: صدفة الجذر + التحميل المتأخر لـ KernelSU عبر Shizuku

عرض المستودع
40171منذ يوم واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

TimerRoot

واجهة أمامية لنظام أندرويد لـ CVE-2026-98260 (استخدام-بعد-التحرير في مؤقت CPU الخاص بـ POSIX)، وهي نفس فئة الخلل الموجودة في CVE-2026-64560. نقرة واحدة تمنحك صدفة جذر (root shell) ثم تُحمّل متأخرًا KernelSU (u:r:ksu:s0).

الاستغلال نفسه غير مضمّن هنا. هذا المستودع هو غلاف التطبيق حوله: واجهة المستخدم، واكتشاف الحالة، وبنية Shizuku اللازمة لتشغيل استغلال في نطاق الصدفة (shell domain) من تطبيق عادي.

لماذا يحتاج التطبيق إلى Shizuku

يعمل التطبيق بصلاحية untrusted_app ولا يمكنه قراءة /sys/kernel/tracing، وهو ما يحتاجه الاستغلال للتسريب والتحفيز. لذلك يشغّل TimerRoot خدمة مستخدم Shizuku، والتي يشغّلها Shizuku بصلاحية مستخدم الصدفة (uid 2000، u:r:shell:s0). يُنفَّذ ملف الاستغلال الثنائي داخل تلك العملية، فيحصل على نفس البيئة التي كان سيحصل عليها من adb shell.

MainActivity (untrusted_app)
  └─ Shizuku user service (uid 2000, u:r:shell:s0)
       ├─ extracts assets/timer to /data/local/tmp/timer
       └─ runs it; on success keeps /system/bin/sh alive

المتطلبات

  • Android 12+ (minSdk 30)، arm64
  • تشغيل Shizuku (ابدأه من تطبيق Shizuku عبر التصحيح اللاسلكي، أو عبر ADB)
  • تثبيت مدير KernelSU، من أجل مسار Load KernelSU
  • بناء نواة (kernel) تم نقل الاستغلال إليه. تستهدف الثنائية الأصلية 6.12.69-android16-6-g242e1a07f878-ab15865446-4k؛ انظر أدناه.

الحصول على ثنائية الاستغلال

يتوقع TimerRoot وجود الاستغلال المُجمَّع في app/src/main/assets/timer:

git clone https://github.com/YuKongA/CVE-2026-98260
cp CVE-2026-98260/timer/timer app/src/main/assets/timer

أو

scripts/fetch-timer.ps1

الملف الثنائي مرخّص بموجب MIT من قبل مؤلفيه؛ لا تستخدمه إلا على أجهزة تملكها، وفقط عندما يتطابق نواة نظامك مع البنية التي نُقل إليها.

البناء

Android Studio / Gradle

افتح المشروع وقم بالبناء، أو:

./gradlew assembleDebug

يحتاج المشروع إلى Android SDK مع platform 36 وbuild-tools 36. تُجلب واجهة Shizuku API من Maven (dev.rikka.shizuku:api).

بدون Gradle

يبني scripts/build.ps1 ويوقّع ملف APK باستخدام SDK وjavac وd8 وaapt2 وapksigner فقط. لا يضمّن أي شيء: فهو يترجم التطبيق مع مصادر Shizuku API، لذا استنسخ تلك المصادر أولًا:

git clone https://github.com/RikkaApps/Shizuku-API
scripts/build.ps1 -Sdk "C:\Users\<you>\AppData\Local\Android\Sdk"

الاستخدام

1. بدء Shizuku

يجب أن يكون Shizuku قيد التشغيل قبل أن يتمكن TimerRoot من فعل أي شيء: فهو العملية التي توفر مستخدم shell الذي يحتاجه الاستغلال. يتوقف Shizuku عند كل إعادة تشغيل، لذا فهذه هي الخطوة الأولى في كل مرة.

التصحيح اللاسلكي (بدون حاسوب بعد الاقتران الأول)

  1. فعّل خيارات المطور: الإعدادات -> حول الجهاز -> اضغط على رقم البنية 7 مرات.
  2. الإعدادات -> النظام -> خيارات المطور -> التصحيح اللاسلكي -> تشغيل.
  3. افتح تطبيق Shizuku -> Start -> Start via wireless debugging.
  4. اسمح بالإشعار، ثم في Pair device with pairing code أدخل الرمز المكوّن من 6 أرقام المعروض على الهاتف.
  5. يُبلغ Shizuku "Shizuku is running" (يشير الإشعار إلى أن الخادم يعمل).

عبر USB

مع توصيل الهاتف وتفويض تصحيح USB:

adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh

قد لا تتضمن إصدارات Shizuku الأحدث ذلك السكربت بعد الآن؛ إذا كان مفقودًا، فاستخدم مسار تصحيح الأخطاء اللاسلكي أعلاه.

تحقق من أن الخادم يعمل:

adb shell ps -A | grep shizuku_server
# shell  12345  1  ...  shizuku_server

ps الذي يُظهر فقط moe.shizuku.privileged.api يعني أن تطبيق المدير مفتوح لكن الخادم غير قيد التشغيل؛ لا يمكن أن يبدأ الاستغلال حتى يتم تشغيله.

2. الإطلاق الأول

  1. افتح TimerRoot.
  2. عندما يسأل Shizuku Allow TimerRoot to access Shizuku?، اختر Allow all the time.
  3. تتحول البطاقة إلى Ready (Shizuku متصل، لا يوجد root بعد). إذا كانت لا تزال تقول Not connected، اضغط على Shizuku في صف الأدوات لطلب الإذن مرة أخرى.

3. التحضير

يقوم Prepare باستخراج assets/timer إلى /data/local/tmp/timer:

installed 307192 bytes

4. الحصول على صدفة الجذر

نقرة واحدة. يقوم التطبيق بالتصعيد، ويحتفظ بصدفة uid=0 داخل الخدمة، ثم يبدأ التحميل المتأخر لـ KernelSU تلقائيًا:

[child] woke uid=0
root shell ready - loading KernelSU...
Loading KernelSU... 12s
KSU_LOADED

تتحول البطاقة إلى Root shell -> Jailbreak mode (u:r:ksu:s0). إذا خسرت مرحلة KernelSU سباقها، تتحول البطاقة إلى اللون الأحمر مع KernelSU failed، وينبغي عليك إعادة التشغيل قبل إعادة المحاولة.

5. إعادة التشغيل

استخدم زر Reboot. فهو يمر عبر الخدمة (svc power reboot)، لذا يعمل حتى عندما لا تكون هناك صدفة جذر مفتوحة بعد. كما أن إعادة التشغيل هي الطريقة النظيفة الوحيدة لإزالة العمليات المعلّقة وإلغاء تحميل KernelSU.

بعد إعادة التشغيل، ابدأ من جديد من الخطوة 1: فـ Shizuku متوقف وKernelSU قد اختفى.

تعكس بطاقة الحالة ما هو نشط فعليًا، ويُكتشف ذلك عبر تشغيل su -c id والتحقق من وجود u:r:ksu:s0:

البطاقةالمعنى
Not connectedShizuku لا يعمل / غير مرتبط
ReadyShizuku متصل، لا يوجد جذر بعد
Root shelluid=0، u:r:shell:s0
Jailbreak modeKernelSU محمّل، su يعمل في u:r:ksu:s0

استكشاف الأخطاء وإصلاحها

ظهور KernelSU failed وbase calibration failed في السجل

تحتاج مرحلة بيانات الاعتماد المزيفة إلى قاعدة الخريطة الخطية للنواة (kernel linear-map base)، والتي يستخلصها الاستغلال من أحداث تتبع تخصيص الصفحات (page-alloc trace events). وهو يفترض صفحات بحجم 4 KB:

[base] made=512 best=0 count=0
[-] base calibration failed

تحقق من حجم صفحة الجهاز:

adb shell getconf PAGE_SIZE
  • 4096: يختلف التخطيط لسبب آخر؛ اجمع uname -r والطراز والسجل الكامل وأبلغ عنه في المستودع الأصلي.
  • 16384: لا يمكن للاستغلال أن يعمل على هذا الجهاز كما هو مُشحون. يجب إعادة بنائه لصفحات بحجم 16 كيلوبايت (إزاحات الصفحات والأقنعة وأحجام الرتب)، وهي مهمة نقل (porting) وليست إعدادًا في التطبيق.

لا يزال بإمكان صدفة الجذر النجاح على جهاز كهذا، لأن ذلك المسار يحتاج فقط إلى عنوان الاعتماد المسرَّب، وليس إلى قاعدة الخريطة الخطية.

تبقى البطاقة على Not connected

Shizuku لا يعمل. شغّله مرة أخرى (يتوقف عند كل إعادة تشغيل) وراجع الخطوة 1.

لا يُبلغ Prepare عن شيء

قد يكون مربع حوار نظام يغطي التطبيق (اقتران Shizuku، فحص مثبّت OPPO). أغلقه واضغط Prepare مرة أخرى.

السلامة

هذا استغلال للنواة. اقرأ هذا قبل الضغط على أي شيء.

  • لا تقتل عملية موقوفة. يُبقي الاستغلال عملية حية مع تثبيت صفحة الاعتماد المزيفة في مخازن المقابس (socket buffers). قد يؤدي حصادها إلى ذعر النواة (kernel panic). إعادة التشغيل هي الطريقة النظيفة الوحيدة لإزالتها.
  • إعادة التشغيل تمسح كل شيء: KernelSU وصدفة الجذر والعمليات الموقوفة. هذه هي الطريقة المقصودة للإيقاف.
  • يُترك SELinux في الوضع المتساهل (permissive) حتى إعادة التشغيل التالية.
  • تترك المحاولة الفاشلة عقدة timerqueue قديمة؛ قد تتعطل تطبيقات أخرى حتى تعيد التشغيل.
  • استخدم هذا فقط على جهاز تملكه أو يُسمح لك صراحةً بتعديله.

التخطيط

app/src/main/java/com/kpgc/timerroot/MainActivity.java   UI and state
app/src/main/java/com/kpgc/timerroot/UserService.java    runs as the shell user
app/src/main/aidl/com/kpgc/timerroot/IUserService.aidl   service interface
app/src/main/assets/timer                                exploit binary (not in git)
scripts/build.ps1                                        Gradle-free build

شكر وتقدير

  • الاستغلال: YuKongA/CVE-2026-98260 (MIT)، بناءً على عمل woshigenm والمنافذ الأخرى لـ 98260.
  • Shizuku و Shizuku-API (Apache-2.0) من Rikka.
  • KernelSU (GPL-2.0) لمسار التحميل المتأخر.

الترخيص

MIT لكود التطبيق في هذا المستودع. يحتفظ كل من ملف الاستغلال الثنائي وواجهة Shizuku API بتراخيصهما الخاصة.

تنزيل الأداة