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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
GhostLock-for-OnePlus15T — (CVE-2026-43499)استغلال ثغرة في النواة لجهاز OnePlus 15T مع Bootloader غير مفتوح. | Kitploit
أدوات/GitHubGitHub/cuteaplane/ghostlock-for-oneplus15t
أمان أندرويدتصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالأمن الجوالتطوير الحمولاتاستغلال الملفات الثنائية
GitHubcuteaplane/ghostlock-for-oneplus15t

الأكثر شعبية

عرض الكل →

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

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

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

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

GhostLock-for-OnePlus15T

(CVE-2026-43499)استغلال ثغرة في النواة لجهاز OnePlus 15T مع Bootloader غير مفتوح.

عرض المستودع
12168منذ 2 أشهرلم تتم المراجعة بعد

GhostLock — OnePlus 15T

中文

استغلال للنواة (Kernel exploit) يستهدف أجهزة OnePlus 15T ذات مُحمّل الإقلاع المقفل. يستخدم CVE-2026-43499 للحصول على وصول جذر (root) دون فتح قفل مُحمّل الإقلاع أو تعديل boot.img.

لأغراض البحث الأمني والتعليم المصرّح بها فقط.

مُعدَّل من المستودع الأصلي GhostLock-for-OnePlus، ومُكيَّف لتخطيط الذاكرة الفعلية وتوقيت المعالج (CPU timing) لجهاز OnePlus 15T (PLZ110 / SM8850 / Snapdragon 8 Elite).


جدول المحتويات

  • نظرة عامة على الثغرة
  • الأجهزة المدعومة
  • المتطلبات الأساسية
  • البناء
  • الاستخدام
  • أوضاع التشغيل
  • التفاصيل التقنية
  • بنية الملفات
  • إضافة أجهزة جديدة
  • الأسئلة الشائعة

نظرة عامة على الثغرة

العنصرالتفاصيل
CVECVE-2026-43499
النوعFutex PI (توريث الأولوية) — Use-After-Free
النطاقنواة Linux من 2.6.39 حتى 7.1
أُصلح فيMainline 7.1 (commit 3bfdc63936dd)
حالة أندرويدGKI 6.12.x لا تزال عرضة للثغرة

السبب الجذري

يقوم استدعاء النظام (syscall) pselect6 بنسخ fd_set إلى مكدس النواة. عند دمجه مع آلية انتظار futex PI، يمكن إعادة تخصيص إطار مكدس مُحرَّر كبنية rt_mutex_waiter. أثناء اجتياز سلسلة PI، تقوم إعادة توازن شجرة rb (rb-tree) بكتابة بيانات مُتحكَّم بها إلى عناوين نواة عشوائية.

السلسلة

futex PI UAF (CVE-2026-43499)
  ├─ Forge rt_mutex_waiter object
  ├─ Control kernel stack via pselect/select fd_set layout
  ├─ Trigger rt_mutex PI operation for arbitrary write
  ├─ Write 1: selinux_state.enforcing = 0
  └─ Write 2: cred → init_cred (uid=0, full capabilities)

الأجهزة المدعومة

الجهازالاسم الرمزيSoCالنواةالبرنامج الثابت (Firmware)الحالة
OnePlus 15TPLZ110SM8850 (Snapdragon 8 Elite)6.12.38-android16-5-g844001fb8721-ab14552068-4kColorOS 16.0.9.400✅ مُتحقَّق منه

بالنسبة إلى Ace 6T وOnePlus 15، راجع المستودع الأصلي.


المتطلبات الأساسية

ksud (مطلوب لـ KernelSU)

يتولى GhostLock تصعيد الصلاحيات. يتطلب تثبيت KernelSU وجود ksud (مُرفق مع kernelsu.ko الخاص بـ KMI):

المصدرملاحظات
حزمة ReSukiSU APK (موصى بها)ثبّت ReSukiSU؛ الحزمة تشتمل على libksud.so
إصدار CIنزّله من إصدارات ReSukiSU CI (ksud-aarch64-linux-android.zip)

بدون ksud، سيظل الاستغلال يحصل على شل جذر (root shell) بصلاحيات uid=0، لكن لن يتم تثبيت KernelSU ولن يستمر عمل su.


البناء

المتطلبات الأساسية

  • Android NDK (r25+)
  • اضبط ANDROID_NDK_HOME أو ANDROID_NDK_ROOT

البناء

# Default (API 35)
make

# Specify API level
make API=34

# Specify NDK path
NDK=/path/to/android-ndk make

المخرَج

ghostlock — ملف تنفيذي ARM64 ELF مرتبط ثابتًا (statically linked).


الاستخدام

الإعداد لمرة واحدة

# 1. Enable ADB TCP mode
adb tcpip 5555

# 2. Push ADB key (required for bootstrap mode)
adb push ~/.android/adbkey /data/local/tmp/a/adbkey

# 3. Push the exploit
adb push ghostlock /data/local/tmp/a/e
adb shell chmod 755 /data/local/tmp/a/e

بعد أول نجاح، يضبط resetprop تلقائيًا persist.adb.tcp.port=5555، مما يتيح التشغيل التلقائي الكامل في عمليات إعادة التشغيل اللاحقة.


أوضاع التشغيل

الاستغلال الكامل (في سياق شل ADB)

/data/local/tmp/a/e
  • يتوفر perf مع تسريب دقيق لبنية task_struct الخاصة بالعملية الفرعية
  • مرحلتان: W1 لتعطيل SELinux → W2 لتصعيد الصلاحيات → تحميل KernelSU

وضع التمهيد (Bootstrap) (سياق التطبيق، seccomp مُقيَّد)

/data/local/tmp/a/e --bootstrap
  1. الكتابة 1 → تعطيل SELinux
  2. استخدام الصلاحيات المُحرَّرة لتنفيذ setprop لتفعيل ADB TCP على المنفذ 5555
  3. يتصل عميل Mini ADB المدمج بـ 127.0.0.1:5555
  4. مصادقة RSA باستخدام المفتاح المُرسَل مسبقًا
  5. تنفيذ الاستغلال الكامل عبر شل ADB (بدون seccomp)

الكتابة 1 فقط

/data/local/tmp/a/e --write1
  • حتى 20 محاولة
  • مفيد لتصحيح الأخطاء أو التعطيل المؤقت لـ SELinux

التفاصيل التقنية

1. مطابقة النواة في وقت التشغيل

تُخزَّن الإزاحات في جدول البحث src/devices/offsets.h، ويتم فهرستها حسب uname -r. يطابق البرنامج النواة تلقائيًا عند بدء التشغيل؛ ويُرفض أي نواة غير معروفة.

static const struct kernel_offsets known_offsets[] = {
  OFFSETS_ENTRY("6.12.38-android16-5-...-ab14275539-4k", ...),
  OFFSETS_ENTRY("6.12.38-android16-5-...-ab14552068-4k", ...),
  OFFSETS_ENTRY("6.12.23-android16-5-...-ab14541642-4k", ...),
  { .uname_r = NULL }  /* sentinel */
};

مصادر الإزاحات

النوعالعددالاستخراج
رموز kallsyms العامة28tools/extract_target.py
حقول بنى BTF57tools/extract_btf.py
قيم مشتقة9تُحسب تلقائيًا
ثوابت ثابتة12مُرمَّزة (Hardcoded)

البنى المُتحقَّق منها عبر BTF

البنيةالحقولالغرض
task_struct17واصف العملية، cred، seccomp
rt_mutex_waiter6هدف التزييف في UAF
cred4بيانات الاعتماد، الصلاحيات (capabilities)
seccomp3حالة فلتر seccomp
pipe_inode_info11عمليات مخزن الأنبوب (pipe buffer)
file_operations13جدول fops مزيف
mm_struct1مالك واصف الذاكرة

2. تجاوز KASLR

وضع SLIDE — تسريب boot_id

عندما تكون مؤشرات النواة مقيدة (kptr_restrict)، يتم تسريب عنوان القاعدة عبر boot_id بعد الكتابة فوقه بعنوان نواة:

Read /proc/sys/kernel/random/boot_id
  └─ UUID contains nfulnl_logger address
      └─ KASLR slide = leaked_addr - image_offset
          └─ kaslr_base

وضع FOPS/CFI — تسريب جدول fops

عندما يكون جهاز ashmem متاحًا، استخدم بدائيات القراءة/الكتابة في configfs لقراءة مؤشرات الدوال من جدول fops الخاص بـ ashmem وحساب إزاحة KASLR.

3. رش كومة النواة (Kernel Heap Spray)

تزييف كائنات النواة على صفحات من الرتبة الثالثة (32KB):

  • file_operations مزيف — اختطاف مؤشر fops الخاص بجهاز ashmem miscdevice
  • rt_mutex_waiter مزيف — محاكاة عقدة انتظار في سلسلة PI
  • task_struct مزيف — مرجع مهمة أثناء اجتياز PI
  • rt_mutex (قفل) مزيف — معلومات صحيحة عن المنتظِر/المالك

يتم التنفيذ عبر SKB (مخزن المقبس) + KernelSnitch:

  • KernelSnitch — اصطدام تجزئة futex (hash collision) لتسريب عناوين mm_struct
  • رش SKB — استخدام sendmsg لملء كومة النواة

4. القراءة/الكتابة في الذاكرة الفعلية (Pipe)

بعد الحصول على قاعدة KASLR، استخدم مخازن الأنبوب (pipe buffers) للوصول إلى الذاكرة على المستوى الفعلي:

1. Locate pipe buffer in physmap
2. Forge pipe_buffer ops table pointing to known pipe_buf_ops
3. Hijack pipe_buffer.page to target physical address
4. Arbitrary physical read/write via normal pipe operations

المدعوم: pipe_read64, pipe_write64, pipe_phys_read_data, pipe_phys_write_data

5. الكتابة على مرحلتين

الكتابة 1 — تعطيل SELinux

Target: selinux_state.enforcing (offset 0x00)
Method: child-node PI write → forge waiter __rb_parent_color
        pointing to selinux_enforcing - 8
        rb-tree rebalance writes 0x00

الكتابة 2 — التصعيد إلى صلاحيات الجذر

Target: child process cred pointer
Method: 1. fork child → perf_find_task() locate task_struct
        2. calculate cred field offset
        3. child-node PI write → cred = init_cred (uid=0, full caps)
        4. clear seccomp (TIF_SECCOMP + seccomp struct zeroed)

يتم تنفيذ التحقق من الصلاحيات بقراءتها مرة أخرى بعد الكتابة فوق cred.

6. عميل Mini ADB المدمج

src/core/miniadb.c — عميل بروتوكول ADB خفيف الوزن لوضع التمهيد (bootstrap):

تنزيل الأداة