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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ghostlock-sabrina — CVE-2026-43499 استغلال GhostLock للحصول على صلاحيات الجذر على Chromecast مع Google TV (sabrina) | Kitploit
أدوات/GitHubGitHub/k-o-n-t-o-r/ghostlock-sabrina
أمان أندرويدأمان الأنظمة المدمجةتصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالأمان الأجهزة وإنترنت الأشياءالأوراق والأبحاثتطوير الحمولاتاستغلال الملفات الثنائية
GitHubk-o-n-t-o-r/ghostlock-sabrina

ghostlock-sabrina

CVE-2026-43499 استغلال GhostLock للحصول على صلاحيات الجذر على Chromecast مع Google TV (sabrina)

1منذ يوم واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

GhostLock Sabrina

استغلال للحصول على صلاحيات الجذر (root) لجهاز Chromecast with Google TV (sabrina) عبر CVE-2026-43499 -- ثغرة use-after-free في النظام الفرعي futex PI (وراثة الأولوية) في نواة Linux.

يحقق صلاحيات الجذر على جهاز ذي bootloader مقفل يعمل بنظام Android 14 مع نواة 5.15.170 (PGO+BOLT+LTO، clang 17).

الثغرة

يستغل GhostLock خطأً في remove_waiter() يتم استدعاؤه من مسار التراجع -EDEADLK في rt_mutex_start_proxy_lock(). تقوم الدالة بمسح current->pi_blocked_on (الخاصة بمُعيد الطلب، وهي NULL بالفعل) بدلاً من مهمة المنتظر. لا يتم مسح pi_blocked_on الخاصة بالمنتظر أبداً، مما يترك مؤشراً معلقاً (dangling pointer) إلى rt_mutex_waiter محرر على مكدس النواة.

يؤدي استدعاء sched_setattr لاحق إلى تشغيل rt_mutex_adjust_pi -> rt_mutex_adjust_prio_chain، الذي يتبع المؤشر المعلق ويمر عبر سلسلة PI على بيانات يتحكم بها المهاجم على صفحة heap مُعاد استخدامها -- مما يمنح بدائية كتابة عشوائية (arbitrary write) عبر rb_erase.

سلسلة الاستغلال

الابتكارات الرئيسية

  • SIGUSR1 walk-before-cleanup: يعمل تراكب SEQPACKET داخل معالج إشارة يقاطع انتظار futex، لذا تُطلق مسارات سلسلة PI قبل أن يتمكن مسار تنظيف futex من التنافس على spinlocks الخاصة بصفحة الرش (يقضي على مشكلة MCS qspinlock wedge)
  • user_namespace مزيف: مساحة أسماء مكتفية ذاتياً على صفحة الرش مع خرائط uid/gid مطابقة وucounts = NULL -- يطابق cap_capable في التكرار الأول وينتهي inc_rlimit_ucounts بعد حلقة واحدة، مما يلغي الحاجة إلى تسريب &init_user_ns
  • أخذ عينات perf مقيد بـ TID: تضمن مرشحات PERF_SAMPLE_TID أن تُحتسب فقط لقطات سجلات الخيط المستدعي، مما يمنع خدمات النظام النشطة من السيطرة على تصويت الوضع (mode-vote)

الهدف

  • الجهاز: Chromecast with Google TV (sabrina)، Amlogic S905X3 (4x A55)، ذاكرة RAM بسعة 2 GB
  • النواة: 5.15.170-android14-11-gf4a1f03072af (aarch64، PGO+BOLT+LTO، clang 17.0.2)
  • Android: 14، إصدار UTTC.250917.004، تصحيح أمني 2025-10-01
  • الإعدادات: CONFIG_FUTEX_PI=y، CONFIG_IO_URING=y، perf_event_paranoid=-1، SELinux في وضع enforcing، panic_on_oops=1، لا توجد user namespaces

البناء

root@kitploit:~
export ANDROID_NDK_HOME=/path/to/android-ndk
make -j$(nproc)

يتطلب Android NDK (تم اختباره مع r27). ينتج ملفاً ثنائياً aarch64 مرتبطاً بشكل ثابت.

الاستخدام

root@kitploit:~
adb push ghostlock /data/local/tmp/
adb shell "cd /data/local/tmp && ./ghostlock --cred"

يستغرق الاستغلال حوالي 20 ثانية (heap spray + قوة غاشمة KernelSnitch). عند النجاح، تنفذ العملية exec لـ /system/bin/sh ببيانات اعتماد uid=0.

التأليف

تم نقل وتطوير هذا الاستغلال بواسطة Claude Opus 4.6 (Anthropic) مع GLM-5.3 (Z.ai) كمستشار في استغلال النواة.

المراجع

  • GhostLock (الاستغلال الأصلي) -- استغلال GhostLock لـ OnePlus/Pixel من AnomalyStudio الذي يستند إليه هذا النقل
  • KernelSnitch -- قناة جانبية توقيتية لتسريب عناوين heap الخاصة بالنواة عبر تصادمات futex hash (Gruss et al.، TU Graz)
  • CVE-2026-43499 -- ثغرة use-after-free في futex PI
  • مصدر نواة Linux 5.15 -- kernel/futex/، kernel/locking/rtmutex.c، lib/rbtree.c

إخلاء المسؤولية

نُشر هذا الاستغلال لأغراض البحث الأمني والتعليم. يستهدف جهازاً مملوكاً للباحث. لا تستخدمه على أجهزة لا تملكها أو دون تصريح.

الترخيص

MIT

تنزيل الأداة
المرحلةالتقنية
تسريب KASLRperf_event_open مع PERF_SAMPLE_IP (مقيد بـ TID)
تسريب task structperf_event_open مع PERF_SAMPLE_REGS_INTR (مقيد بـ TID، وضع عناوين linear-map)
تسريب mm_structKernelSnitch -- قناة جانبية توقيتية عبر تصادم futex hash
Heap sprayتنسيق إسقاط SLUB (memfd-close، تجاوز CPU-partial) + استعادة صفحات من الرتبة 2 عبر io_uring_setup(256)
تراكب المكدسAF_UNIX SOCK_SEQPACKET sendmsg -- ينسخ move_addr_to_kernel بنية sockaddr بحجم 128 بايت إلى مكدس النواة، متراكبةً فوق حقول task/lock/prio الخاصة بالمنتظر المعلق
تشغيل المسارsched_setattr مع سلّم nice تصاعدي (7 -> 14 -> 19) يُفعّل مسار سلسلة PI
بدائية الكتابةrb_erase الحالة 1a تكتب child (fake_cred) إلى parent->rb_right = task->cred
تبديل بيانات الاعتمادtask->cred = fake_cred (uid=0، جميع الصلاحيات، user_namespace مزيف مكتفٍ ذاتياً على صفحة الرش)
صدفة الجذرexecve("/system/bin/sh") -- ينسخ commit_creds في مسار exec قيمة fake_cred إلى بيانات اعتماد نظيفة في slab