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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
s26-m1q-ghostlock-selinux — بحث GhostLock CVE-2026-43499 لجهاز Galaxy S26 (SM-S942U1/m1q): تم تحقيق وضع SELinux Permissive، ونقل KASLR + tracefs، وتوثيق حد uid=0 | Kitploit
أدوات/GitHubGitHub/xrzcc/s26-m1q-ghostlock-selinux
أمان أندرويدتصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةأمن الجوالاستغلال الملفات الثنائية
GitHubxrzcc/s26-m1q-ghostlock-selinux

s26-m1q-ghostlock-selinux

بحث GhostLock CVE-2026-43499 لجهاز Galaxy S26 (SM-S942U1/m1q): تم تحقيق وضع SELinux Permissive، ونقل KASLR + tracefs، وتوثيق حد uid=0

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

الأكثر شعبية

عرض الكل →

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

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

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

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

S26 (SM-S942U1 / m1q) GhostLock CVE-2026-43499 — تحقيق SELinux Permissive

بحث تصعيد الامتيازات الخاص بثغرة CVE-2026-43499 (GhostLock) على Samsung Galaxy S26 (SM-S942U1، الاسم الرمزي m1q، SoC SM8850 Snapdragon 8 Elite Gen2، النواة 6.12.30-android16-5، Android 16).

ملخص الحالة

الهدفالحالة
SELinux enforce 1→0 (Permissive)✅ تم تحقيقه (نسبة نجاح المحاولة الواحدة ≈ 44%)
park مستقر✅ يستمر لعدة دقائق
root كامل uid=0 + KernelSU❌ مقيد بقيود على مستوى النواة (انظر أدناه)

السبب الجذري (السبب الحقيقي للفشل الطويل السابق)

  1. النسخة الأمريكية تستخدم KASLR، وليست nokaslr. قيمة slide عشوائية عند كل إقلاع (تم قياسها: 0x30000/0x50000/0x130000/0x150000…). الكود العام الأصلي polygraphene/CyberMeowfia كان يرمّز slide=0 بشكل ثابت، فكانت جميع العناوين خاطئة. الإصلاح: نقل رصد tracefs KASLR من شجرة m3q-azf1 (slide_tracefs.c).

  2. بدائية الكتابة في GhostLock للنسخة الأمريكية تدعم «الكتابة NULL» فقط. تعليق target.h في m3q واضح: STORE (كتابة غير NULL إلى rb_right) «KP's off-page»، وshape0 (rb_left) «KPs on AZF1»، الوحيد الذي يعمل هو EMERALD_NULL (كتابة NULL إلى rb). كتابة SELinux هي بالضبط «كتابة NULL 0 إلى enforcing»، ولذلك نجحت.

🛑 الحدود التقنية القاسية لـ uid=0

تعتمد خطة uid=0 لدى polygraphene (dirty-pipe) على كتابة CAN_MERGE(0x10) (غير NULL) إلى pipe_buffer.flags. بدائية الكتابة في النسخة الأمريكية (MTE + KDP) تستطيع كتابة NULL فقط؛ الكتابة بقيمة غير NULL تسبب kernel panic حتميًا (تم القياس 4/4 KP).

هذا ليس شيئًا يمكن تجاوزه بتعديل المعاملات — بل يتطلب إيجاد CVE ببدائية قراءة/كتابة (read/write primitive) أخرى قادرة على كتابة قيم غير NULL (أكّد مؤلف m3q الأمر نفسه في README: «Soft-root still needs info leak + cred finish»).

هيكل الدليل

root@kitploit:~
├── README.md                              # 本文件
├── docs/
│   └── M1Q_SELINUX_WRITE_FAIL_ROOTCAUSE.md  # 完整诊断 + 根因 + 边界
├── m3q-azf1/                              # m3q 树(SELinux park 参考实现)
│   ├── generate_target.py                  # target.h 自动生成工具
│   ├── build_m1q.bat                       # NDK r29 构建脚本(美版 target)
│   ├── target.h                            # 美版 target(P0=0xc7800000, N1b=0)
│   └── preload-4-s1.so                     # SELinux Permissive 达成版(111KB)
├── polygraphene/                          # polygraphene 树(uid=0 完整流程 + KASLR 修复)
│   ├── src/slide_tracefs.c                 # tracefs KASLR 探测(核心修复)
│   ├── src/main.c                          # 加 tracefs KASLR 调用
│   ├── src/util.c                          # SELinux NULL 写 + 空 pi_waiters
│   ├── src/fops.c                          # fd_set 布局
│   ├── targets/m1q-S942U1UES4AZG3/target.h # 美版 target
│   ├── build_r29.bat                       # 构建脚本
│   └── preload.so                          # SELinux 单进程成功版(162KB)
├── auto_run.ps1                           # 自动化重试脚本(含 root 检测)
└── kallsyms/                              # 美版内核符号表
    └── kallsyms.txt                        # 128307 符号(5.7MB)

إعادة الإنتاج: تحقيق SELinux Permissive

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

  • الجهاز: SM-S942U1، S942U1UES4AZG3، تصحيح أخطاء USB
  • المضيف: Windows، adb، Android NDK r29

الطريقة أ: شجرة polygraphene (عملية مفردة، تتضمن مسار uid=0)

root@kitploit:~
# 构建(已含 tracefs KASLR 修复)
cd polygraphene
cmd /c build_r29.bat

# 推送 + 运行
adb push build/m1q-S942U1UES4AZG3/bin/preload.so /data/local/tmp/preload.so
adb shell "env LD_PRELOAD=/data/local/tmp/preload.so /system/bin/true"
# 观察日志,SELinux 成功后 getenforce → Permissive

الطريقة ب: شجرة m3q (مخصصة لـ park الخاص بـ SELinux)

root@kitploit:~
cd m3q-azf1
cmd /c build_m1q.bat
adb push source/build/bin/preload-4-s1.so /data/local/tmp/preload-4-s1.so
adb shell "LD_PRELOAD=/data/local/tmp/preload-4-s1.so /system/bin/true"
# 成功标志:slide-kaslr-ok + S1_READY + getenforce → Permissive

المعاملات الأساسية (مؤكدة رسميًا، لا تُعدَّل)

المخاطر (يجب قراءتها)

  • kernel panic متكرر (نسبة نجاح كل بدائية كتابة ≈ 44% فقط؛ والباقي يسبب إعادة تشغيل بسبب KP)
  • KP متأخر (قد يحدث KP بعد دقائق من park)
  • يوجد خطر الإقلاع في الوضع الآمن فقط / إعادة ضبط المصنع
  • للاستخدام على الأجهزة التي تملكها فقط، استغلال تجريبي

الشكر والتقدير

  • polygraphene/CyberMeowfia (منفذ S26 الخاص بـ dirty-pipe)
  • Bugel/cve-2026-43499-m3q-azf1 (مرجع m3q، tracefs KASLR + I4 emerald / M1Q shape)
  • PeronGH/ghostlock-selinux-disabler (استخراج الكتابة المفردة من النسخة الكاملة لـ JoinChang، مرجع shape)
  • NebuSec (اكتشاف الثغرة / المبدأ)
  • JoinChang/ghostlock-oneplus (الاستغلال الأصلي)
تنزيل الأداة
المعاملالقيمةالمصدر
P0_KERNEL_PHYS_LOAD0xc7800000تأكيد موثوق من generate_target.py عبر xbl_config
PSELECT_WAITER_WORD_SHIFT2فك تجميع النواة: derive_pselect_layout
SELINUX_ENFORCING0xffffffc0827afb08kallsyms
task_struct.prio0x94BTF (قيمة 6.12، وليست 0x84 الخاصة بـ 6.6)
task_struct.cred0x900BTF
mm_struct objsize1280 (0x500)/proc/slabinfo