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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ghostlock-oneplus — # GhostLock (CVE-2026-43499) استغلال نواة لأجهزة أندرويد ذات مُحمّل إقلاع مقفل | Kitploit
أدوات/GitHubGitHub/joinchang/ghostlock-oneplus
أمان أندرويدتصعيد الامتيازاتأطر الاستغلالتحليل الثغرات الأمنيةاختبار الاختراقأمن الجوالالتعلم والتعليماستغلال الملفات الثنائية
GitHubjoinchang/ghostlock-oneplus

ghostlock-oneplus

# GhostLock (CVE-2026-43499) استغلال نواة لأجهزة أندرويد ذات مُحمّل إقلاع مقفل

عرض المستودع
23546181منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

GhostLock — كسر حماية أجهزة ذوات محمّل الإقلاع المقفل

استغلال للنواة على أجهزة أندرويد ذات محمّل إقلاع مقفل. يحقق صلاحيات جذر مؤقتة + تثبيت KernelSU دون فتح محمّل الإقلاع أو تعديل صورة الإقلاع. كشف تلقائي لإصدار النواة أثناء التشغيل مع جدول إزاحات متعدد الأجهزة.

GhostLock يعمل على OnePlus Ace 6T مع KernelSU (LKM، وضع Jailbreak)

الثغرة الأمنية

CVE-2026-43499 — استخدام بعد التحرير (Use-After-Free) في Futex PI (وراثة الأولوية)

يؤثر على نواة لينكس 5.7 ~ 7.1. تم إصلاحه في الإصدارات المستقرة 6.1.175، 6.6.140، 6.12.86. تبقى معظم أجهزة أندرويد دون ترقيع حتى سبتمبر 2026.

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

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

تم التحقق من عملها

الجهازSoCالنواةفرع GKISHIFT
OnePlus Ace 6T (PLR110)SM88456.12.38android16-50
OnePlus 15 (CPH2745/2747/2749)SM88506.12.23android16-50
OnePlus 15 (PLK110)SM88506.12.58android16-60
Xiaomi 17 (pudding)SM88506.12.23 / 6.12.69android16-5 / android16-60
OnePlus 13 (IN2060)SM87506.6.89android15-8-2
OPPO Pad 4 ProSM87506.6.89android15-8-2

تم استخراج الإزاحات (بانتظار اختبار الجهاز)

الجهازSoCالنواةملاحظات
OnePlus 15T (PLZ110)SM88456.12.38نفس نواة Ace 6T
OPPO Reno10 Pro+ (CPH2521)SM84755.10.236منتظر 5.10 المدمج، كلمة المنتظر=0
Sony Xperia 1 IV (nagara)SM84505.10.218منتظر 5.10 المدمج، كلمة المنتظر=0
OPPO Find X9 Pro (PLG110)D94006.12.23MediaTek، android16-5
Vivo X200 Ultra (V2454A)SM87506.6.89C ashmem، خطافات تقليدية
Vivo X Fold3 Pro (PD2337)SM86506.1.124منتظر 6.1 المدمج، كلمة المنتظر=3
Vivo T4SM86506.1.145منتظر 6.1 المدمج، كلمة المنتظر=3

غير ممكن

يتطلب تراكب مكدس pselect أن يستقر rt_mutex_waiter المحرَّر ضمن منطقة stack_fds القابلة للتحكم من المستخدم (الكلمات 0–14). مكان استقراره تحدده ملفات تعريف PGO/LTO للمترجم، وليس إصدار النواة. انظر تخطيط المكدس.

الجهازSoCالنواةالسبب الجذري
OPPO Find X9 UltraSM87506.12.58PGO يزيل do_futex → كلمة المنتظر=14
OnePlus 15 (PLK110)SM88506.12.69PGO يُضمّن do_futex → كلمة المنتظر=20
OnePlus 12SM86506.1.141PGO يُضمّن do_futex → كلمة المنتظر=13/19
OnePlus 13R / Ace 5SM86506.1.xOPLUS 6.1: كلمة المنتظر=13
realme RMX5070SM66506.1.141OPLUS 6.1: كلمة المنتظر=13
OPPO Pad 5 (OPD2502)MT68786.1.134OPLUS 6.1: كلمة المنتظر=13
Motorola Edge 60 FusionMT68786.1.145غير OPLUS 6.1: نفس النتيجة
iQOO Neo 10 CNSM86506.1.84إطار do_futex 0xD0 → كلمة المنتظر=-11
OPPO PKW110—5.15.180إطار do_futex 0x140 → كلمة المنتظر=-29
iQOO Z9 5G—5.15.178إطار do_futex كبير جدًا
CPH2763 (OPPO)—6.1.115OPLUS 6.1: PGO مُضمَّن، كلمة المنتظر=24
iQOO 12SM86506.1.1456.1: كلمة المنتظر=9، المهمة/القفل في منطقة مُصفَّرة

ملاحظة حول جدوى 6.1: تبقى أنوية OPLUS 6.1 غير ممكنة باستمرار بسبب تضمين PGO لـ do_futex. ومع ذلك، تحتفظ بعض أنوية 6.1 غير التابعة لـ OPLUS (vivo) بسلسلة الاستدعاء القياسية وتكون ممكنة (vivo T4، X Fold3 Pro). يجب التحقق من الجدوى لكل جهاز على حدة.

مسار الاستغلال

مساران للجذر، يُختاران تلقائيًا بناءً على قدرات الجهاز:

المسار A: جذر UMH (المفضّل، أجهزة C ashmem)

يتطلب off_ashmem_misc_fops != 0 (C ashmem مع miscdevice ثابت في BSS).

PI write (mode=4)  →  redirect miscdevice fops to fake fops
                   →  configfs r/w → pipe physrw (1-byte precise kernel r/w)
                   →  SELinux enforcing = 0 (single byte, no policycap corruption)
                   →  UMH: inject work_struct into system_unbound_wq
                   →  root script → ksud late-load → KSU installed

متاح على: OnePlus 13، OPPO Pad 4 Pro، أجهزة 5.10/6.1 C ashmem. غير متاح على Rust ashmem (6.12 GKI) — miscdevice مخصص من الكومة.

المسار B: الكتابة المباشرة PI (بديل احتياطي)

Write 1 (mode=1)  →  SELinux enforcing = 0 (8-byte write, corrupts adjacent bytes)
Write 2 (mode=2)  →  task->cred = init_cred (uid=0, all capabilities)
Root shell         →  ksud late-load → KSU → SELinux policy fix

بعد W1+W2، يقوم الاستغلال بترقيع حقل الإعدادات في ملف سياسة SELinux الثنائي (|= 0xC0000000 لـ ANDROID_NETLINK_ROUTE + GETNEIGH) ويعيد التحميل عبر /sys/fs/selinux/load لاستعادة اتصال الشبكة.

وضع التمهيد (الهاتف بشكل مستقل)

App (seccomp)  →  Write 1 → mini-adb TCP → adb shell: full exploit → root

التمهيد التلقائي

يُوفَّر مشغّل وقت التمهيد عبر تطبيق GhostLock Anchor المنفصل.

جدوى تخطيط المكدس

مع NFDS=320، تُخصِّص core_sys_select مخزنًا مؤقتًا stack_fds بحجم 256 بايت على مكدس النواة:

stack_fds:  0    5    10   14 | 15   20   25   29
            ├─in─┤─out─┤─ex──┤ ├res_in┤res_out┤res_ex┤
            ◄── USER CONTROLLED ──►│◄── KERNEL ZEROED ──►

يضع الاستغلال حقول waiter المزيفة (task، lock) في خرائط بتات إدخال fd_set. بالنسبة إلى waiter المتداخل في 6.12 (14 كلمة): أقصى كلمة waiter ممكنة = 3. بالنسبة إلى waiter المدمج في 5.10/6.1 (10 كلمات): أقصى كلمة waiter ممكنة = 7.

يعتمد موضع waiter على عمق سلسلة الاستدعاء:

النمطسلسلة الاستدعاءممكن
android16-5 (6.12)sys_futex → do_futex → fwrpi✅ waiter word=2
android16-6 (6.12.58)sys_futex → do_futex → fwrpi✅ waiter word=2
android16-6 (6.12.69 OPLUS)sys_futex → fwrpi (PGO inlined)❌ waiter word=20
android16-6 (X9 Ultra)sys_futex → fwrpi (PGO inlined)❌ waiter word=14
android15-8 (6.6)sys_futex → do_futex → fwrpi✅ waiter word=2 (SHIFT=-2)
vivo 6.1sys_futex → do_futex → fwrpi✅ waiter word=3
OPLUS 6.1sys_futex → fwrpi (PGO inlined)❌ waiter word=13+
5.10 OPLUSsys_futex → do_futex → fwrpi✅ waiter word=0

kernel_phys_load

تستخدم جميع عمليات الكتابة إلى النواة الاسم المستعار للخريطة الخطية. يختار محمّل الإقلاع kernel_phys_load، الذي يختلف حسب كل SoC:

SoCkernel_phys_load
SM8845 (Ace 6T, 15T)0xa8000000
SM8750 (OnePlus 13, OPPO Pad 4 Pro)0xa8000000
SM8650 (vivo T4, X Fold3 Pro)0xa8000000
SM8850 (OnePlus 15, Xiaomi 17)0xc7800000

تؤدي القيمة الخاطئة إلى فشل صامت. اقرأها على جهاز مُروَّت:

su -c 'grep -i "Kernel code" /proc/iomem'   # c7810000-... → 0xc7800000

تجاوز وقت التشغيل: KPHYS=0xc7800000 /data/local/tmp/a/e

PSELECT_SHIFT

/data/local/tmp/a/e                        # Default (shift=0)
PSELECT_SHIFT=-2 /data/local/tmp/a/e       # OnePlus 13 (6.6)

KIMAGE_TEXT_BASE

تستخدم نوى 5.10 العنوان 0xffffffc008000000 (حيث VA_BITS=39، وهو مختلف عن القيمة الافتراضية 0xffffffc080000000 في 6.x). يُعالَج هذا تلقائيًا عبر الحقل kimage_text_base في إدخال إزاحة الجهاز.

البناء

make NDK_ROOT=/path/to/android-ndk

أو مباشرةً:

NDK=/path/to/android-ndk
"$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android35-clang" \
  -O2 -Wall -Isrc/core -Isrc/devices -DTARGET_CONFIG_H=\"target.h\" \
  src/core/main.c src/core/util.c src/core/slide.c \
  src/core/fops.c src/core/pipe_physrw.c src/core/root.c \
  src/core/miniadb.c src/core/umh_root.c \
  -o ./ghostlock -fPIE -pie -pthread

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

ksud (مطلوب لتثبيت KSU)

يوفر GhostLock صلاحية root مؤقتة. يتطلب تثبيت KernelSU وجود ksud الذي يتضمن kernelsu.ko لكل إصدار KMI.

تنزيل الأداة