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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ABrake27 — iOS 27 kernelcache RE: خريطة إرسال SEP، فرق AMFI، سير عمل Ghidra | Kitploit
أدوات/GitHubGitHub/vvirei333/abrake27
أمان iOSتحليل الثغرات الأمنيةالاستغلالاختبار اختراق تطبيقات الجوالالهندسة العكسيةأمن الجوالتحليل الملفات الثنائيةالأوراق والأبحاثالتعلم والتعليمتطوير الحمولاتتحليل البرامج الثابتة
34منذ يوم واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
GitHub
vvirei333/abrake27

ABrake27

iOS 27 kernelcache RE: خريطة إرسال SEP، فرق AMFI، سير عمل Ghidra

عرض المستودع
مشاركة

ABrake27

مترجم متقاطع أصلي لنظام Linux + إثبات مفهوم لتفعيل وضع مطوّر AMFI على iOS (arm64/arm64e)

Platform Build Arch

مجموعة أدوات بمستوى بحثي. قارن بين برامج iOS 27.0.1 و27.2 الثابتة، وأعد هندسة جدول توزيع IOUserClient الخاص بـ AMFI، وترجم بشكل متقاطع إثبات مفهوم IOKit عاري المعدن من Linux — دون الحاجة إلى Xcode — وفعّل وضع المطوّر على iOS 27.0.1 عبر بروتوكول lockdown القياسي من Apple (مُتحقَّق من ثباته على مستوى النواة).


ما هذا

  • مقارنة برامج IPS الثابتة — kernelcache، وkexts، وsandbox، وentitlements بين iOS 27.0.1 و27.2 (iPhone 14,5).
  • إعادة هندسة جدول توزيع AMFI — تم تعيين كل خانة IOExternalMethodDispatch، وتحديد selector 11 = armSecurityBootMode.
  • إثبات مفهوم C مستقل — يفتح poc/poc.c كلاً من AppleMobileFileIntegrity/AppleCredentialManager، ويستدعي armSecurityBootMode، ويسجّل النتيجة. بلا حشو Foundation/UIKit — C خالص + IOKit.
  • مترجم متقاطع لنظام Linux — ينتج poc/build_ipa.sh ملف .ipa موقّعاً على CachyOS/Arch باستخدام clang + ld64.lld + ldid. صفر اعتماد على Apple/Xcode.

كيفية تفعيل وضع المطوّر على iOS 27.0.1 (بدون jailbreak، بدون كود غير موقّع)

يمكن تشغيل سلسلة مفتاح وضع المطوّر في iOS بالكامل عبر بروتوكول lockdown القياسي من Apple (com.apple.amfi.lockdown). لا jailbreak، ولا IPA، ولا تزوير entitlement — فقط pymobiledevice3 على Linux.

مُتحقَّق منه: بعد السلسلة أدناه، أعاد mounter query-developer-mode-status → true وتم تركيب DeveloperDiskImage على /System/Developer — ونجا كلاهما من إعادة تشغيل مستقلة (كانت الفحوصات نفسها سابقاً تعود إلى false، لذا فإن الثبات هو الدليل الحقيقي؛ انظر FINDINGS_LOCK.md).

المتطلب المسبق

أزل رمز المرور (الإعدادات → Face ID & Passcode → إيقاف رمز المرور). مع تعيين رمز مرور، يجيب AMFI على action=1/action=2 بـ Device has a passcode set.

الخطوات

# 1) enable → action=1 → REBOOT #1
flatpak-spawn --host python3 -m pymobiledevice3 amfi enable-developer-mode

# 2) after the device boots: post-restart accept → action=2 → REBOOT #2
#    (the CLI has no separate accept command — call the service method directly,
#     e.g. via poc/verify_now2.py)

# 3) reveal the Settings toggle → action=0
flatpak-spawn --host python3 -m pymobiledevice3 amfi reveal-developer-mode

التحقق (على مستوى النواة، مستقل عن خدمة AMFI)

flatpak-spawn --host python3 -m pymobiledevice3 mounter query-developer-mode-status   # → true
flatpak-spawn --host python3 -m pymobiledevice3 mounter list                           # → IsMounted: true, /System/Developer
flatpak-spawn --host python3 -m pymobiledevice3 mounter auto-mount                    # → DeveloperDiskImage mounted successfully

ملخص البروتوكول

actionالمعنىالتأثير
0revealيُظهر مفتاح وضع المطوّر في الإعدادات
1enableيعيّن العلامة، ويعيد تشغيل الجهاز
2acceptتأكيد ما بعد إعادة التشغيل، ويعيد التشغيل مرة أخرى

⚠️ يقوم pymobiledevice3 بالاختصار: إذا كانت الحالة بالفعل true، فإن enable-developer-mode يسجّل فقط "Developer mode is already enabled" ولا يرسل شيئاً. إعادة التشغيل مرتان جزء من بروتوكول Apple، وليست عرضية.


البدء السريع (من Linux إلى iPhone في 4 دقائق)

المتطلبات المسبقة (CachyOS / Arch)

sudo pacman -S clang lld zip          # compiler + Mach-O linker
yay -S ldid                           # entitlement injector (AUR)
# iOS SDK:
mkdir -p poc/SDK
git clone https://github.com/theos/sdks poc/tmp && mv poc/tmp/iPhoneOS*.sdk poc/SDK/iPhoneOS.sdk

البناء

cd poc
IOS_SDK=/path/to/iPhoneOS.sdk ./build_ipa.sh
# Output: EnableAMFIDevMode.ipa

التثبيت على iPhone

# Via ideviceinstaller (libimobiledevice):
ideviceinstaller --install EnableAMFIDevMode.ipa

# Via TrollStore (if jailbroken/CT-bypass device):
# → TrollStore app → "+" → pick EnableAMFIDevMode.ipa

# Via SideStore/AltStore:
# → Add to SideStore → sign with your Apple ID

التشغيل

# On device (SSH / NewTerm):
./EnableAMFIDevMode 1
cat /tmp/amfi_devmode_poc.log
# Then REBOOT to activate Developer Mode

بديل: تشغيل CoreDevice / DVT من Linux (run_dvt.sh)

يوجد مسار ثانٍ خالٍ من IPA: ترجم بشكل متقاطع ثنائي IOKit المستقل على Linux وادفعه إلى الجهاز عبر نفق CoreDevice / RSD الخاص بـ iOS 17+، ثم شغّله باستخدام خدمة التحكم بالعمليات DVT (خارج App Sandbox — بلا installd، وبلا IPA موقّع مجانياً).

./run_dvt.sh enable      # build (clang + ld64.lld) → deploy → `dvt launch --stream`

يقوم run_dvt.sh بأتمتة السلسلة كاملة:

  1. يشغّل/يتحقق من usbmuxd، ويفحص الجهاز باستخدام ideviceinfo (libimobiledevice)؛
  2. يترجم بشكل متقاطع poc/poc.c إلى Mach-O عاري arm64 (بلا سلسلة أدوات Apple): clang -c → ld64.lld -platform_version ios … -syslibroot … -undefined dynamic_lookup؛ تُقرأ نسخة SDK من SDKSettings.plist الثنائي عبر plistlib؛
  3. يفتح نفق RSD في مساحة المستخدم (pymobiledevice3) ويستدعي dvt launch --stream.

الحالة: الترجمة المتقاطعة على Linux تعمل (يُنتَج Mach-O حقيقي arm64). خطوة النشر على الجهاز لا تزال قيد العمل — انظر HANDOFF.md «Сессия 12». لاحظ أيضاً أن مسار IOKit في إثبات المفهوم (AppleMobileFileIntegrity selector 11) يتطلب entitlement المقيّد بالمنصة com.apple.private.amfi.developer-mode-control، لذا سيُرفض ثنائي غير موقّع من Apple بواسطة userclient حتى عند تشغيله عبر DVT — والطريقة المدعومة لتفعيل وضع المطوّر هي بروتوكول lockdown الموثّق أعلاه.


كيف يعمل

خطوتان نظيفتان لكل شريحة معمارية (لتجنّب أن يبتلع مشغّل clang الخيارين -arch/-platform_version عند التفويض إلى ld64.lld):

  1. clang -c — كائن Mach-O، بلا ربط
  2. ld64.lld — ملف تنفيذي مع -arch arm64 -platform_version ios <min> <sdk> صريحين

يكتشف تلقائياً clang-20...15، وld64.lld/lld، وllvm-lipo، وldid. تراجع سلس: arm64e → arm64 إذا كانت سلسلة الأدوات تفتقر إلى دعم ptrauth.


تخطيط المستودع

.
├── ipsws/                   # iOS firmware images (NOT versioned — multi-GB)
├── kernelcaches/            # Extracted kernelcaches (arm64e Mach-O)
├── extracted/               # RootFS dumps + entitlements scan
├── diff_output/             # Full markdown diff reports (KEXTS, DYLIBS, SANDBOX...)
├── research/                # CVE analysis, XNU source excerpts
├── docs/WHITEPAPER.md       # Full AMFI binary-diff whitepaper (iOS 27.0.1 → 27.2)
├── poc/                     # ★ PoC source + Linux build system
│   ├── poc.c                #   AMFI + ACM IOKit client (C99)
│   ├── stubs/iokit_stub.h   #   Minimal IOKit header for Linux syntax check
│   ├── entitlements.plist   #   Required entitlements for armSecurityBootMode
│   ├── build_ipa.sh         #   ★ Linux cross-compiler (clang + ld64.lld + ldid)
│   ├── syntax_check_linux.sh
│   ├── lockdown_devmode.py  #   Session 9: lockdown/AMFI dev-mode probes
│   ├── action_probe.py      #   ★ Real AMFI protocol {"action": N}
│   ├── state_check.py       #   ★ Full kernel-level status + mounter query
│   ├── verify_now2.py       #   Post-restart accept (action=2) + verification
│   ├── semantics_probe.py   #   lockbot KV-store semantics (set_value dead-end)
│   ├── spoof_test.py        #   DeveloperModeStatus spoof attempt (failed)
│   ├── probe_amfi_service.py
│   ├── final_verify.py
│   └── verify_now.py
├── run_dvt.sh               # ★ CoreDevice/DVT deploy (build + usbmuxd + RSD tunnel + launch)
├── tools/macho_tool.py      #   stdlib-only Mach-O arm64e disassembler (kernelcache RE)
├── HANDOFF.md               # Full session log (Russian + English)
└── README.md                # You are here

تعمّق

تنزيل الأداة