Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ABrake27 — iOS 27 kernelcache RE: SEP-Dispatch-Map, AMFI-Diff, Ghidra-Workflow | Kitploit
Tools/GitHubGitHub/vvirei333/abrake27
iOS-SicherheitSchwachstellenanalyseExploitationMobile App-PenetrationstestsReverse EngineeringMobile SicherheitBinäranalysePapers & ForschungLernen & BildungPayload-EntwicklungFirmware-Analyse
34vor 1 TagNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHub
vvirei333/abrake27

ABrake27

iOS 27 kernelcache RE: SEP-Dispatch-Map, AMFI-Diff, Ghidra-Workflow

Repository anzeigen
Teilen

ABrake27

Linux-nativer Cross-Compiler + PoC für die Aktivierung des iOS AMFI Developer Mode (arm64/arm64e)

Platform Build Arch

Forschungs-Toolkit. Vergleiche iOS 27.0.1 mit 27.2 Firmware, reverse-engineere die AMFI IOUserClient Dispatch-Tabelle, cross-compiliere einen Bare-Metal IOKit PoC von Linux — kein Xcode erforderlich — und aktiviere den Developer Mode auf iOS 27.0.1 über das stock Apple lockdown Protokoll (verifiziert persistent auf Kernel-Ebene).


Was das ist

  • IPS Firmware Diff — kernelcache, kexts, sandbox, entitlements zwischen iOS 27.0.1 und 27.2 (iPhone 14,5).
  • AMFI Dispatch-Tabellen Reverse-Engineering — jeder IOExternalMethodDispatch Slot kartiert, selector 11 = armSecurityBootMode identifiziert.
  • Standalone C PoC — poc/poc.c öffnet AppleMobileFileIntegrity/AppleCredentialManager, ruft armSecurityBootMode auf und loggt das Ergebnis. Kein Foundation/UIKit Ballast — reines C + IOKit.
  • Linux Cross-Compiler — poc/build_ipa.sh erzeugt eine signierte .ipa auf CachyOS/Arch mit clang + ld64.lld + ldid. Null Apple/Xcode Abhängigkeiten.

Wie man den Developer Mode auf iOS 27.0.1 aktiviert (kein Jailbreak, kein unsignierter Code)

Die iOS Developer Mode Toggle-Kette kann vollständig über das stock Apple lockdown Protokoll (com.apple.amfi.lockdown) gesteuert werden. Kein Jailbreak, keine IPA, kein Entitlement Fälschen — nur pymobiledevice3 auf Linux.

Verifiziert: nach der untenstehenden Kette, mounter query-developer-mode-status → true und das DeveloperDiskImage wurde unter /System/Developer gemountet — und beides überlebte einen unabhängigen Reboot (die gleichen Checks sprangen zuvor auf false zurück, daher ist die Persistenz der echte Beweis; siehe FINDINGS_LOCK.md).

Voraussetzung

Entferne den Passcode (Einstellungen → Face ID & Passcode → Passcode ausschalten). Mit gesetztem Passcode antwortet AMFI auf action=1/action=2 mit Device has a passcode set.

Schritte

# 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

Verifizieren (Kernel-Ebene, unabhängig vom AMFI Service)

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

Protokoll-Zusammenfassung

actionBedeutungEffekt
0revealZeigt den Developer Mode Toggle in den Einstellungen
1enableSetzt das Flag, rebootet das Gerät
2acceptPost-Restart Bestätigung, rebootet erneut

⚠️ pymobiledevice3 short-circuited: wenn der Status bereits true ist, loggt enable-developer-mode nur "Developer mode is already enabled" und sendet nichts. Die zwei Reboots sind Teil des Apple Protokolls, nicht zufällig.


Schnellstart (Linux → iPhone in 4 Minuten)

Voraussetzungen (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

Build

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

Auf iPhone installieren

# 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

Ausführen

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

Alternative: CoreDevice / DVT Launch von Linux (run_dvt.sh)

Ein zweiter, IPA-freier Pfad existiert: cross-compiliere das standalone IOKit Binary auf Linux und pushe es auf das Gerät durch den iOS 17+ CoreDevice / RSD Tunnel, dann führe es mit dem DVT Process-Control Service aus (außerhalb der App Sandbox — kein installd, keine free-sign IPA).

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

run_dvt.sh automatisiert die gesamte Kette:

  1. startet/verifiziert usbmuxd, prüft das Gerät mit ideviceinfo (libimobiledevice);
  2. cross-compiliert poc/poc.c zu einem bare arm64 Mach-O (keine Apple Toolchain): clang -c → ld64.lld -platform_version ios … -syslibroot … -undefined dynamic_lookup; die SDK-Version wird aus der binären SDKSettings.plist via plistlib gelesen;
  3. öffnet einen Userspace RSD Tunnel (pymobiledevice3) und ruft dvt launch --stream auf.

Status: der Linux Cross-Compile funktioniert (ein echtes arm64 Mach-O wird erzeugt). Der On-Device Deploy-Schritt ist noch WIP — siehe HANDOFF.md «Сессия 12». Beachte auch, dass der PoC's IOKit Pfad (AppleMobileFileIntegrity selector 11) das platform-restricted Entitlement com.apple.private.amfi.developer-mode-control erfordert, daher wird ein nicht-Apple-signiertes Binary vom Userclient abgelehnt, selbst wenn es via DVT gestartet wird — der unterstützte Weg, den Developer Mode zu aktivieren, ist das oben dokumentierte Lockdown-Protokoll.


Wie es funktioniert

Zwei saubere Schritte pro Architektur-Slice (vermeidet, dass der clang Driver -arch/-platform_version verschluckt, wenn er an ld64.lld delegiert):

  1. clang -c — Mach-O Objekt, kein Linking
  2. ld64.lld — Executable mit explizitem -arch arm64 -platform_version ios <min> <sdk>

Auto-erkennt clang-20...15, ld64.lld/lld, llvm-lipo, ldid. Graceful Fallback: arm64e → arm64, wenn die Toolchain keine ptrauth-Unterstützung hat.


Repo-Layout

Tool herunterladen