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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-43499-poc — PoC لتصعيد الامتيازات المحلي لـ CVE-2026-43499، وهو use-after-free في rtmutex ضمن نواة Qualcomm Android 4.19، باستخدام تسريب KASLR وترقيع cred للحصول على صلاحيات root. | Kitploit
أدوات/GitHubGitHub/athbe1337/cve-2026-43499-poc
أمان أندرويدتصعيد الامتيازاتالاستغلالأمن الجوالتطوير الحمولاتاستغلال الملفات الثنائية
GitHubathbe1337/cve-2026-43499-poc

CVE-2026-43499-poc

PoC لتصعيد الامتيازات المحلي لـ CVE-2026-43499، وهو use-after-free في rtmutex ضمن نواة Qualcomm Android 4.19، باستخدام تسريب KASLR وترقيع cred للحصول على صلاحيات root.

عرض المستودع
منذ 7 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

GhostLock — CVE-2026-43499 PoC (نواة Qualcomm 4.19)

تصعيد صلاحيات محلي يستغل CVE-2026-43499 — خطأ في remove_waiter() الخاص بـ rtmutex يترك struct rt_mutex_waiter معلقًا على مكدس النواة الخاص بالمنتظر (kernel/locking/rtmutex.c، CWE-416 use-after-free). مُكيَّف من NebuSec/CyberMeowfia (IonStack/CVE-2026-43499، Apache-2.0) لعائلة نواة Qualcomm Android 4.19.x الخاصة بالمورّد.

  • النواة: 4.19.157-perf-g9607d8651312 (qcom، clang 10.0.7، SMP PREEMPT، aarch64)
  • فئة الجهاز: Snapdragon 870 (sm8250-ac) / لوحات من فئة Redmi K40، إصدارات حقبة Android 13 مع boot header v3
  • الخلل: استدعاء futex_requeue() لتراجع proxy-lock يستدعي remove_waiter() التي تعمل على current بدلًا من waiter->task — إزالة من rb-tree بدون pi_lock، وpi_blocked_on معلق، مما يؤدي إلى UAF في مكدس النواة. متأثر حتى الإصدارات المُصلَّحة 5.10/5.15/6.1/6.6/6.12/6.18/7.0؛ الإصدار 4.19 ليس له backport (EOL)، لذا فإن 4.19.157-perf متأثر.

ما يوجد في المستودع

src/                         adapted exploit sources (preload.so)
src/targets/oplus-4.19.157-perf/target.h   per-device offset table (kallsyms-derived)
prebuilt/                    compiled artifacts (aarch64)
adaptation-4.19.patch        full diff vs. the upstream Pixel (6.x) code
Makefile, build.sh           build entry points

تكييفات الجولة الثانية لنواة 4.19 (مقارنةً بالإصدار 6.x الأصلي)

  • يتم وضع configfs_read_file / configfs_write_bin_file في فتحات fops الخاصة بـ .read/.write (توقيعات 4.19)، وتستخدم قراءة primitive تخطيط المخزن المؤقت الوهمي المبسّط count/page/ppos=0
  • بادئة اسم ashmem (/dev/ashmem) غائبة على هذه النواة — طول البادئة 0
  • هندسة kmalloc: الإصدار 4.19 لديه 3 أنواع من الكاش (NORMAL/RECLAIM/DMA، بدون كاشات لكل memcg)؛ مصفوفة المخزن المؤقت القديمة للأنبوب بـ 16 خانة تستقر في kmalloc-1024
  • selinux_blob_sizes غير موجود في 4.19 → cred->security مباشر (SELINUX_CRED_BLOB_OFF=0)؛ struct seccomp ليس لديه filter_count
  • ASHMEM_MISC_FOPS = فتحة miscdevice.fops (ashmem_misc + 0x10)
  • تم إعادة اشتقاق إزاحات البُنى (task_struct / cred / pipe_inode_info / file_operations / mm_struct / struct page / configfs_buffer) من kallsyms الخاصة بهذه النواة
    • ikheaders المضمّنة، وتم التحقق منها مقابل جدول إعادة التمركز RELA الخاص بالنواة

البناء

Linux / WSL مع Android NDK:

export NDK_ROOT=/path/to/android-ndk-r27c
./build.sh                      # or: make PROJECT=oplus-4.19.157-perf

المخرجات: prebuilt/preload.so (حمولة LD_PRELOAD) وsu_daemon PIE مضمّن.

استخدام ADB (root بضربة واحدة)

يتطلب ADB shell (يكفي adb shell عادي غير مميّز — يعمل الاستغلال بالكامل بدون صلاحيات ويرفع صلاحياته بنفسه).

# 1. push the payload
adb push prebuilt/preload.so /data/local/tmp/

# 2. run the exploit against any command (here: id) via LD_PRELOAD
adb shell LD_PRELOAD=/data/local/tmp/preload.so id

# expected on success: uid=0(root) gid=0(root) groups=...
# on failure the process exits 1 and the log below tells you where it stopped.

متغيرات اختيارية بسطر واحد:

# capture the exit status too
adb shell "LD_PRELOAD=/data/local/tmp/preload.so id; echo rc=\$?"

# interactive root shell (the exploit also installs an su daemon)
adb shell "LD_PRELOAD=/data/local/tmp/preload.so /system/bin/sh -c 'su -c id'"

سجل التصحيح (ينجو من panic/reboot)

كل سطر pr_* يُنسخ إلى القرص باستخدام write()+fsync() فوري حتى ينجو الأثر من kernel panic/reboot:

/sdcard/Download/log_<timestamp>.txt

مسارات احتياطية إذا كان /sdcard غير متاح: /sdcard/Downloads، /data/local/tmp/log_<timestamp>.txt.

# after the run (even after a reboot):
adb shell "ls -t /sdcard/Download/log_*.txt | head -1"
adb shell "cat $(adb shell 'ls -t /sdcard/Download/log_*.txt | head -1' | tr -d '\r')"

علامات السجل الرئيسية:

  • preload starting pid=... log=/sdcard/Download/log_<ts>.txt — تم تحميل الحمولة
  • slide-kaslr-ok ... base=... — تم استرداد قاعدة KASLR
  • pipe-physrw-summary ... root=1 ... — تم تثبيت phys RW
  • uid_before=... uid_after=0 ... selinux=1->0 — تم تعديل creds
  • على 4.19 تطبع أداة slide UNVERIFIED قبل محاولتها الأولى — تلك المرحلة هي التي يجب ضبطها لكل جهاز باستخدام هذا السجل.

ملاحظات وقيود

  • المرحلة الأولى (تسريب KASLR slide) تُضبط لكل جهاز؛ القيم التي لم يكن ممكنًا اشتقاقها بشكل ثابت لـ 4.19 مُعلَّمة في target.h ومسجّلة كـ UNVERIFIED في وقت التشغيل. كرّر التجربة على الجهاز باستخدام سجل fsync.
  • CONFIG_STATIC_USERMODEHELPER=y في هذا البناء يعطّل حيل مسار modprobe؛ المسار الأساسي هو تعديل cred مباشرة.
  • تحقق من صحة الإزاحات على بنائك الدقيق عبر kallsyms الخاصة بالنواة (/proc/kallsyms) و/proc/slabinfo قبل النشر.

الترخيص

Apache-2.0 (الأصل: NebuSec/CyberMeowfia). لأبحاث الأمن و تأصيل الأجهزة المصرّح به فقط. استخدمه على أجهزة تملكها.

تنزيل الأداة