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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-43499-root-KernelSU — تكييف لرفع الصلاحيات محليًا استنادًا إلى ثغرة النواة CVE-2026-43499، مع تكامل KernelSU المدمج. CVE-2026-43499 + وضع كسر الحماية KernelSU | Kitploit
أدوات/GitHubGitHub/woshimaniubi8/cve-2026-43499-root-kernelsu
أمان أندرويدتصعيد الامتيازاتالاستغلالتطوير الحمولاتاستغلال الملفات الثنائية
GitHubwoshimaniubi8/cve-2026-43499-root-kernelsu

CVE-2026-43499-root-KernelSU

تكييف لرفع الصلاحيات محليًا استنادًا إلى ثغرة النواة CVE-2026-43499، مع تكامل KernelSU المدمج. CVE-2026-43499 + وضع كسر الحماية KernelSU

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
183منذ 25 أياملم تتم المراجعة بعد

CVE-2026-43499-root-KernelSU

تكييف لرفع الامتيازات محليًا يعتمد على ثغرة النواة CVE-2026-43499، مع دمج KernelSU مضمّن. يُجمَّع ويُنتَج preload.so؛ وبعد نجاح الاستغلال، يُشغَّل KernelSU في وضع late-load (وضع الجيلبريك). يدعم توليد target.h من (xbl_config.img / vendor_boot.img) + boot.img.

تكييف لرفع الامتيازات محليًا يعتمد على ثغرة في النواة، مع دمج KernelSU مضمّن. يُجمَّع ويُنتَج preload.so؛ وبعد نجاح الاستغلال، يُشغَّل KernelSU في وضع late-load (وضع الجيلبريك). يدعم توليد target.h من (xbl_config.img / vendor_boot.img) + boot.img. أو بطرق أخرى.

المشاريع المرجعية:

  • Linuxoid-cn/CVE-2026-43499-Poc-Analysis
  • x-spy/CVE-2026-43499-popsicle
  • Colorful-glassblock/duchamp-root

[!IMPORTANT] الاستغلال غير المصرّح به للثغرات لإلحاق الضرر بأنظمة الحاسوب أو اختراقها أو الوصول إليها محظور قانونًا. يُقدَّم هذا المشروع لأغراض البحث والتعليم والتعلّم فقط، ولا يجوز استخدامه إلا في الأنظمة والبيئات التي حصلت على إذن مسبق. أي استخدام لهذا المشروع يتم على مسؤولية المستخدم الخاصة. لا يتحمل المؤلفون والمساهمون أي مسؤولية عن أي إساءة استخدام لهذا المشروع أو عن أي أضرار أو خسائر أو عواقب قانونية ناتجة عن استخدامه.

إخلاء مسؤولية: الاستغلال غير المصرّح به للثغرات لتنفيذ أعمال تخريب أو اختراق أو وصول غير مصرّح به لأنظمة الحاسوب قد ينتهك القوانين واللوائح ذات الصلة. هذا المشروع مخصّص فقط للبحث والدراسة والاختبار الأمني في الأنظمة والبيئات المرخّصة قانونًا. أي خسائر مباشرة أو غير مباشرة أو مسؤولية قانونية أو عواقب أخرى ناتجة عن استخدام هذا المشروع أو إساءة استخدامه أو تعديله يتحملها المستخدم وحده، ولا يتحمل مؤلفو المشروع والمساهمون فيه أي مسؤولية.

النطاق المتأثر

عندما يكون إصدار نواتك {Linux Kernel}، فأنت ضمن نطاق تأثير هذه الثغرة

  • Linux Kernel < commit 3bfdc63936dd4773109b7b8c280c0f3b5ae7d349

  • 2.6.39 <= {Linux Kernel} < 6.1.175

  • 6.2 <= {Linux Kernel} < 6.6.140

  • 6.7 <= {Linux Kernel} < 6.12.86

  • 6.13 <= {Linux Kernel} < 6.18.27

  • 6.19 <= {Linux Kernel} < 7.0.4

الحالة الحالية

Targetالحالة
rodin (الافتراضي)تم التحقق منه
غيرها من src/targets/*مرجعية

بنية الدليل

root@kitploit:~
.
├── Makefile
├── build/
│   └── embed/
│       └── ksud                 # 被嵌入 preload.so 的 KernelSU userspace binary
├── tools/
│   ├── generate_target.py       # 本仓库统一 target.h 生成入口
│   └── vendor/                  # 从父目录同步的原始生成辅助脚本
└── src/
    ├── main.c                   # exploit 主流程
    ├── preload.c                # LD_PRELOAD constructor + ksud 写出/启动
    ├── root.c                   # cred/seccomp/SELinux/root patch
    ├── slide.c                  # pselect KASLR slide leak
    ├── fops.c                   # pselect/FOPS route
    ├── pipe.c                   # pipe-buffer phys R/W primitive
    ├── ksud_blob.S              # .incbin build/embed/ksud
    ├── kernelsnitch/            # KernelSnitch helpers
    └── targets/
        ├── rodin/
        ├── beryl/
        └── ...

البناء

التبعيات

  • مضيف Linux
  • Android NDK
    • المسار الافتراضي: ~/android-ndk-r29
    • أو اضبط: ANDROID_NDK_HOME / ANDROID_NDK_ROOT / NDK_ROOT
  • make
  • git

البناء

root@kitploit:~
make PROJECT=<target> -j$(nproc)

المخرجات:

root@kitploit:~
build/<target>/bin/preload.so

عرض الأهداف المتاحة

root@kitploit:~
make list-projects

توليد target.h

يحتوي هذا المستودع على سكربت موحّد لتوليد target مدمج مسبقًا:

root@kitploit:~
tools/generate_target.py
tools/vendor/generate_target.py
tools/vendor/generate_target_2.py
tools/vendor/detect_offset.py

tools/generate_target.py هو سكربت نقطة الدخول. يستند إلى جميع عمليات توليد target في الدليل الأب ويغلّفها، ويُخرج في النهاية ملف src/targets/<project>/target.h كاملًا ومتوافقًا مع شيفرة هذا المستودع.

لا يفرض السكربت التحقق من CONFIG_DEBUG_INFO_BTF=y في IKCONFIG. إذا تعذّر التحقق من إزاحات حقول البنية أو تخطيط entry_task في percpu، فسيطبع تحذيرًا ويواصل التوليد.

إذا كانت الصورة تفتقر تمامًا إلى BTF قابل للاستخدام، مثل ظهور:

root@kitploit:~
有效 vmlinux BTF 候选不唯一: []

سيدخل المولّد في وضع الاحتياط بدون BTF (no-BTF fallback):

  • يواصل استعادة إزاحات رموز الدوال/الكائنات العامة من kallsyms في boot.img الحالي؛
  • وحدات الماكرو الخاصة بحقول البنية/التخطيط التي يتعذّر استعادتها من BTF تُورَّث من target القالب، والقالب الافتراضي هو rodin؛
  • سيُكتب تحذير (warning) في أعلى ملف الرأس المُولَّد يوضّح without BTF والقالب المستخدم؛
  • يضمن ملف الرأس هذا قابلية الترجمة قدر الإمكان، لكن موثوقية التشغيل تتطلب التحقق على جهاز حقيقي.

يمكن تحديد قالب الاحتياط:

root@kitploit:~
tools/generate_target.py --project <project> --boot boot.img --profile profile.json --template-target rodin
# 或
TARGET_TEMPLATE=rodin tools/generate_target.py --project <project> --boot boot.img --profile profile.json

1. التوليد باستخدام boot.img + profile JSON

root@kitploit:~
make generate-target PROJECT=<project> BOOT=/path/to/boot.img PROFILE=/path/to/profile.json

يُكتب افتراضيًا في:

root@kitploit:~
src/targets/<project>/target.h

يمكنك أيضًا استدعاء السكربت مباشرةً:

root@kitploit:~
tools/generate_target.py --project <project> --boot /path/to/boot.img --profile /path/to/profile.json

يجب أن يحتوي profile.json على معلومات العناوين الفيزيائية، مثل:

root@kitploit:~
{
  "p0_phys_offset": "0x40000000",
  "p0_kernel_phys_load": "0x40000000"
}

2. اكتشاف profile من جهاز ADB بصلاحيات root

لتوليد profile فقط:

root@kitploit:~
make detect-profile PROFILE_OUT=profile.json

لاكتشاف profile وتوليد target فورًا:

root@kitploit:~
tools/generate_target.py --project <project> --boot /path/to/boot.img \
  --detect-adb-and-generate --profile-out profile.json

3. التوليد عبر (xbl_config.img / vendor_boot.img) + boot.img

يكشف السكربت أيضًا عن المداخل الأخرى التي يدعمها مولّد الدليل الأب:

root@kitploit:~
tools/generate_target.py --project <project> --boot boot.img --xbl-config xbl_config.img

tools/generate_target.py --project <project> --boot boot.img --mtk-vendor-boot vendor_boot.img

tools/generate_target.py --project <project> --boot boot.img --mtk-partitions /path/to/partitions
مثال
root@kitploit:~
make generate-target PROJECT=rodin BOOT=../rodin/boot_a PROFILE=../profile.json
make generate-target PROJECT=beryl BOOT=../beryl/boot.img PROFILE=../profile.json

شكل الإخراج عند النجاح:

root@kitploit:~
生成成功: .../src/targets/<project>/target.h
kernel SHA-256: <sha256>
target macros: 168

يحتفظ rodin افتراضيًا بالقيم المُتحقَّق منها على أجهزة حقيقية:

root@kitploit:~
#define MM_STRUCT_SZ 0x500

للتجاوز عن ذلك:

root@kitploit:~
tools/generate_target.py --project rodin --boot boot.img --profile profile.json --mm-struct-sz 0x...

إضافة target جديد

يُوصى بالتوليد من صورة boot وprofile متوافقين:

root@kitploit:~
make generate-target PROJECT=<project> BOOT=/path/to/boot.img PROFILE=/path/to/profile.json
make PROJECT=<project> -j$(nproc)

يحتوي ملف رأس (header) target كامل على:

  • ثوابت direct map / physical profile
  • إزاحات كائن KASLR slide
  • إزاحات task / cred / SELinux
  • إزاحات pipe / fops / configfs
  • قيم تخطيط pselect، مثل PSELECT_WAITER_WORD_SHIFT
  • قيم MM_STRUCT_SZ ومعاملات ضبط KernelSnitch

التشغيل

تحتوي الشيفرة المصدرية الحالية على قيم افتراضية مدمجة؛ للتشغيل العادي يكفي ضبط LD_PRELOAD وتنفيذ أي برنامج (يُقترح toybox id).

root@kitploit:~
adb push build/rodin/bin/preload.so /data/local/tmp/preload.so
adb shell 'chmod 755 /data/local/tmp/preload.so'
adb shell 'LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

معاملات التشغيل الافتراضية

الإعدادات الافتراضية الحالية كما يلي:

السلوك الفعلي الافتراضي لأمر ksud:

root@kitploit:~
/data/local/tmp/ksud late-load --allow-shell --package-name me.weishu.kernelsu

لا تزال هذه المتغيرات البيئية قابلة للتجاوز في وقت التشغيل، مثل:

root@kitploit:~
adb shell 'KSUD_PACKAGE=com.example.manager LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

إعادة استخدام ksud الذي سبق كتابته:

root@kitploit:~
adb shell 'KSUD_SKIP_WRITE=1 LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

التنظيف

root@kitploit:~
make clean

يحتفظ make clean بملف build/embed/ksud، لأن src/ksud_blob.S يضمّنه بالطريقة التالية:

root@kitploit:~
.incbin "build/embed/ksud"

إذا أدى التنظيف اليدوي إلى فقدان build/embed/ksud، يمكنك استعادته:

root@kitploit:~
git checkout -- build/embed/ksud

الأسئلة الشائعة

لم يتم العثور على .incbin "build/embed/ksud"

أعد البناء بعد استعادة الحمولة المدمجة:

root@kitploit:~
git checkout -- build/embed/ksud
make PROJECT=rodin -j$(nproc)

مسار FOPS يُرجع success=0

يتوقع rodin استخدام تخطيط pselect البسيط/القديم:

root@kitploit:~
pselect fdset simple layout shift=0
pselect returned attempt=1 ret=9 ... success=1

إذا كانت حالة الجهاز ملوثة بمحاولات فاشلة، أعد تشغيله ثم جرّب مجددًا:

root@kitploit:~
adb reboot

F_SETPIPE_SZ يُرجع EPERM

عادةً ما تكون مشكلة حالة ناتجة عن محاولات فاشلة/متبقية، وإعادة التشغيل هي أسرع طريقة للتنظيف:

root@kitploit:~
adb reboot

ksud يعمل لكن /proc/modules لا يعرض KernelSU

افحص السجلات:

root@kitploit:~
adb shell 'cat /data/local/tmp/ksud.log /data/local/tmp/ksud.preload.log 2>/dev/null || true'

عند الحاجة، شغّله يدويًا في root shell:

root@kitploit:~
/data/local/tmp/ksud late-load --allow-shell --package-name me.weishu.kernelsu

الترخيص

GPL-3.0. انظر LICENSE.

تنزيل الأداة
الإعدادالقيمة الافتراضيةالوصف
KSUD_LATE_LOAD1تنفيذ ksud late-load
KSUD_ALLOW_SHELL1تمرير --allow-shell
KSUD_PACKAGEme.weishu.kernelsuاسم حزمة المدير المُمرَّر إلى ksud (يبدو غير فعّال)
KSUD_DST/data/local/tmp/ksudمسار كتابة ksud المضمّن
KSUD_SKIP_WRITE0كتابة ksud المضمّن افتراضيًا
KSUD_DEFER_TO_PARENT1تشغيل ksud من مسار العملية الأب/الحالية المُعدَّلة (patched)
ROOT_PATCH_SELF1تعديل (patch) العملية الحالية لتكون uid 0
DISABLE_SELINUX1عند root patch، كتابة حالة SELinux enforcing كـ permissive
ROOT_EXIT_SLEEPunset / 0لا sleep إضافي قبل العودة