Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ABrake27 — iOS 27 kernelcache RE: mappa di dispatch SEP, diff AMFI, workflow Ghidra | Kitploit
Strumenti/GitHubGitHub/vvirei333/abrake27
Sicurezza iOSAnalisi delle VulnerabilitàExploitPentesting di App MobiliReverse EngineeringSicurezza MobileAnalisi di BinariPaper e RicercaApprendimento e FormazioneSviluppo PayloadAnalisi del Firmware
341 giorno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
GitHub
vvirei333/abrake27

ABrake27

iOS 27 kernelcache RE: mappa di dispatch SEP, diff AMFI, workflow Ghidra

Vedi Repository
Condividi

ABrake27

Cross-compiler nativo per Linux + PoC per l'attivazione della Modalità Sviluppatore AMFI su iOS (arm64/arm64e)

Platform Build Arch

Toolkit di livello di ricerca. Confronta il firmware iOS 27.0.1 vs 27.2, esegui il reverse engineering della tabella di dispatch IOUserClient di AMFI, compila in cross-compilazione un PoC IOKit bare-metal da Linux — senza Xcode — e abilita la Modalità Sviluppatore su iOS 27.0.1 tramite il protocollo lockdown standard di Apple (verificato persistente a livello kernel).


Di Cosa Si Tratta

  • Diff del Firmware IPS — kernelcache, kext, sandbox, entitlements tra iOS 27.0.1 e 27.2 (iPhone 14,5).
  • Reverse engineering della tabella di dispatch AMFI — mappato ogni slot IOExternalMethodDispatch, identificato selector 11 = armSecurityBootMode.
  • PoC C Standalone — poc/poc.c apre AppleMobileFileIntegrity/AppleCredentialManager, chiama armSecurityBootMode e registra il risultato. Niente Foundation/UIKit — puro C + IOKit.
  • Cross-compiler Linux — poc/build_ipa.sh produce un .ipa firmato su CachyOS/Arch usando clang + ld64.lld + ldid. Zero dipendenze Apple/Xcode.

Come abilitare la Modalità Sviluppatore su iOS 27.0.1 (senza jailbreak, senza codice non firmato)

La catena di attivazione della Modalità Sviluppatore di iOS può essere pilotata interamente attraverso il protocollo lockdown standard di Apple (com.apple.amfi.lockdown). Niente jailbreak, niente IPA, niente falsificazione di entitlement — solo pymobiledevice3 su Linux.

Verificato: dopo la catena sottostante, mounter query-developer-mode-status → true e il DeveloperDiskImage è stato montato su /System/Developer — ed entrambi sono sopravvissuti a un riavvio indipendente (gli stessi controlli in precedenza tornavano a false, quindi la persistenza è la vera prova; vedi FINDINGS_LOCK.md).

Prerequisito

Rimuovi il codice di sblocco (Impostazioni → Face ID e codice → Disattiva codice). Con un codice impostato, AMFI risponde a action=1/action=2 con Device has a passcode set.

Passaggi

# 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

Verifica (a livello kernel, indipendente dal servizio 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

Riepilogo del protocollo

actionSignificatoEffetto
0revealMostra l'interruttore della Modalità Sviluppatore nelle Impostazioni
1enableImposta il flag, riavvia il dispositivo
2acceptConferma post-riavvio, riavvia di nuovo

⚠️ pymobiledevice3 cortocircuita: se lo stato è già true, enable-developer-mode registra solo "Developer mode is already enabled" e non invia nulla. I due riavvii sono parte del protocollo Apple, non incidentali.


Avvio Rapido (Linux → iPhone in 4 minuti)

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

Compilazione

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

Installazione su 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

Esecuzione

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

Alternativa: avvio CoreDevice / DVT da Linux (run_dvt.sh)

Esiste un secondo percorso, senza IPA: compila in cross-compilazione il binario IOKit standalone su Linux e invialo al dispositivo attraverso il tunnel CoreDevice / RSD di iOS 17+, poi eseguilo con il servizio di controllo dei processi DVT (al di fuori dell'App Sandbox — niente installd, niente IPA con firma gratuita).

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

run_dvt.sh automatizza l'intera catena:

  1. avvia/verifica usbmuxd, controlla il dispositivo con ideviceinfo (libimobiledevice);
  2. compila in cross-compilazione poc/poc.c in un Mach-O arm64 puro (senza toolchain Apple): clang -c → ld64.lld -platform_version ios … -syslibroot … -undefined dynamic_lookup; la versione dell'SDK viene letta dal SDKSettings.plist binario tramite plistlib;
  3. apre un tunnel RSD in userspace (pymobiledevice3) e invoca dvt launch --stream.

Stato: la cross-compilazione su Linux funziona (viene prodotto un vero Mach-O arm64). Il passaggio di deploy sul dispositivo è ancora WIP — vedi HANDOFF.md «Сессия 12». Nota anche che il percorso IOKit del PoC (AppleMobileFileIntegrity selector 11) richiede l'entitlement con restrizioni di piattaforma com.apple.private.amfi.developer-mode-control, quindi un binario non firmato da Apple verrà rifiutato dall'userclient anche quando avviato via DVT — il modo supportato per abilitare la Modalità Sviluppatore è il protocollo lockdown documentato sopra.


Come Funziona

Due passaggi puliti per ogni slice di architettura (evita che il driver clang inghiotta -arch/-platform_version quando delega a ld64.lld):

  1. clang -c — oggetto Mach-O, nessun linking
  2. ld64.lld — eseguibile con -arch arm64 -platform_version ios <min> <sdk> espliciti

Rileva automaticamente clang-20...15, ld64.lld/lld, llvm-lipo, ldid. Fallback graduale: arm64e → arm64 se la toolchain non supporta ptrauth.


Struttura del Repository

Scarica lo strumento