Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/vvirei333/abrake27
Sécurité iOSAnalyse des VulnérabilitésExploitationPentesting d'Applications MobilesRétro-ingénierieSécurité MobileAnalyse de BinairesArticles et RechercheApprentissage et ÉducationDéveloppement de Charges UtilesAnalyse de Micrologiciel
7184il y a 21 joursPas encore vérifié
GitHubvvirei333/abrake27

ABrake27

iOS 27 kernelcache RE : carte de répartition SEP, diff AMFI, workflow Ghidra

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ABrake27

Compilateur croisé natif Linux + PoC pour l'activation du mode Developer AMFI d'iOS (arm64/arm64e)

Platform Build Arch

Boîte à outils de niveau recherche. Différez les firmwares iOS 27.0.1 et 27.2, rétro-ingénieriez la table de dispatch IOUserClient d'AMFI, compilez en croisé un PoC IOKit bare-metal depuis Linux — sans Xcode — et activez le mode Developer sur iOS 27.0.1 via le protocole lockdown standard d'Apple (persistance vérifiée au niveau du noyau). Découverte phare actuelle : durcissement silencieux des débordements ASTC/DDS dans ImageIO, structurellement atteignable depuis le chemin de décodage générique — chaîne MediaAnalysis tracée jusqu'à ASTCReadPlugin::initialize (Sessions 28–31).


De quoi s'agit-il

  • Diff de firmware IPS — kernelcache, kexts, sandbox, entitlements entre iOS 27.0.1 et 27.2 (iPhone 14,5).
  • Rétro-ingénierie de la table de dispatch AMFI — cartographie de chaque emplacement IOExternalMethodDispatch, identification de selector 11 = armSecurityBootMode.
  • PoC C autonome — poc/poc.c ouvre AppleMobileFileIntegrity/AppleCredentialManager, appelle armSecurityBootMode et journalise le résultat. Pas de surcharge Foundation/UIKit — du C pur + IOKit.
  • Compilateur croisé Linux — poc/build_ipa.sh produit un .ipa signé sur CachyOS/Arch avec clang + ld64.lld + ldid. Zéro dépendance à Apple/Xcode.

Comment activer le mode Developer sur iOS 27.0.1 (sans jailbreak, sans code non signé)

La chaîne de bascule du mode Developer d'iOS peut être pilotée entièrement via le protocole lockdown standard d'Apple (com.apple.amfi.lockdown). Pas de jailbreak, pas d'IPA, pas de falsification d'entitlement — juste pymobiledevice3 sous Linux.

Vérifié : après la chaîne ci-dessous, mounter query-developer-mode-status → true et le DeveloperDiskImage a été monté sur /System/Developer — et les deux ont survécu à un redémarrage indépendant (les mêmes vérifications revenaient auparavant à false, la persistance est donc la véritable preuve ; voir FINDINGS_LOCK.md).

Prérequis

Supprimez le code d'accès (Réglages → Face ID et code d'accès → Désactiver le code). Avec un code d'accès défini, AMFI répond à action=1/action=2 par Device has a passcode set.

Étapes

# 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

Vérification (au niveau du noyau, indépendante du service 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

Résumé du protocole

actionSignificationEffet
0révélerAffiche le bouton bascule du mode développeur dans Réglages
1activerDéfinit l'indicateur, redémarre l'appareil
2accepterConfirmation après redémarrage, redémarre à nouveau

⚠️ pymobiledevice3 court-circuite : si le statut est déjà true, enable-developer-mode se contente de journaliser "Developer mode is already enabled" et n'envoie rien. Les deux redémarrages font partie du protocole Apple, ils ne sont pas accessoires.


Démarrage rapide (Linux → iPhone en 4 minutes)

Prérequis (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

Compilation

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

Installation sur 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

Exécution

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

Alternative : lancement CoreDevice / DVT depuis Linux (run_dvt.sh)

Une seconde voie, sans IPA, existe : compiler de manière croisée le binaire IOKit autonome sur Linux et le pousser vers l'appareil via le tunnel CoreDevice / RSD d'iOS 17+, puis l'exécuter avec le service de contrôle de processus DVT (hors du bac à sable de l'application — sans installd, sans IPA signé gratuitement).

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

run_dvt.sh automatise toute la chaîne :

  1. démarre/vérifie usbmuxd, contrôle l'appareil avec ideviceinfo (libimobiledevice) ;
  2. compile de façon croisée poc/poc.c en un Mach-O arm64 brut (sans toolchain Apple) : clang -c → ld64.lld -platform_version ios … -syslibroot … -undefined dynamic_lookup ; la version du SDK est lue depuis le binaire SDKSettings.plist via plistlib ;
  3. ouvre un tunnel RSD en espace utilisateur (pymobiledevice3) et invoque dvt launch --stream.

Statut : la compilation croisée sous Linux fonctionne (un véritable Mach-O arm64 est produit). L'étape de déploiement sur l'appareil est encore WIP — voir HANDOFF.md «Сессия 12». À noter également que le chemin IOKit du PoC (sélecteur 11 de AppleMobileFileIntegrity) exige l' entitlement restreint à la plateforme com.apple.private.amfi.developer-mode-control, donc un binaire non signé par Apple sera refusé par le userclient même lorsqu'il est lancé via DVT — la manière prise en charge d'activer le mode développeur est le protocole lockdown documenté ci-dessus.


Fonctionnement

Deux étapes propres par tranche d'architecture (évite que le pilote clang n'avale -arch/-platform_version lors de la délégation à ld64.lld) :

  1. clang -c — objet Mach-O, sans édition de liens
  2. ld64.lld — exécutable avec -arch arm64 -platform_version ios <min> <sdk> explicites

Détecte automatiquement clang-20...15, ld64.lld/lld, llvm-lipo, ldid. Repli gracieux : arm64e → arm64 si la toolchain ne prend pas en charge ptrauth.


Arborescence du dépôt

Télécharger l’outil