Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/vvirei333/abrake27
Segurança iOSAnálise de VulnerabilidadesExploraçãoPentesting de Apps MóveisEngenharia ReversaSegurança MóvelAnálise de BináriosPapers e PesquisaAprendizado e EducaçãoDesenvolvimento de PayloadsAnálise de Firmware
34há 1 diaAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
GitHub
vvirei333/abrake27

ABrake27

iOS 27 kernelcache RE: mapa de despacho do SEP, diff do AMFI, fluxo de trabalho no Ghidra

Ver Repositório
Compartilhar

ABrake27

Cross-compilador nativo para Linux + PoC para ativação do Modo Desenvolvedor do AMFI no iOS (arm64/arm64e)

Platform Build Arch

Toolkit de nível de pesquisa. Compare o firmware iOS 27.0.1 vs 27.2, faça engenharia reversa da tabela de despacho do IOUserClient do AMFI, compile de forma cruzada um PoC IOKit bare-metal a partir do Linux — sem necessidade de Xcode — e ative o Modo Desenvolvedor no iOS 27.0.1 através do protocolo lockdown padrão da Apple (persistência verificada em nível de kernel).


O Que É Isto

  • Diff de Firmware IPS — kernelcache, kexts, sandbox, entitlements entre iOS 27.0.1 e 27.2 (iPhone 14,5).
  • Engenharia reversa da tabela de despacho do AMFI — mapeou cada slot de IOExternalMethodDispatch, identificou selector 11 = armSecurityBootMode.
  • PoC em C autônomo — poc/poc.c abre AppleMobileFileIntegrity/AppleCredentialManager, chama armSecurityBootMode e registra o resultado. Sem inchaço de Foundation/UIKit — C puro + IOKit.
  • Cross-compilador para Linux — poc/build_ipa.sh produz um .ipa assinado no CachyOS/Arch usando clang + ld64.lld + ldid. Zero dependências de Apple/Xcode.

Como ativar o Modo Desenvolvedor no iOS 27.0.1 (sem jailbreak, sem código não assinado)

A cadeia de alternância do Modo Desenvolvedor do iOS pode ser acionada inteiramente através do protocolo lockdown padrão da Apple (com.apple.amfi.lockdown). Sem jailbreak, sem IPA, sem forjar entitlements — apenas pymobiledevice3 no Linux.

Verificado: após a cadeia abaixo, mounter query-developer-mode-status → true e o DeveloperDiskImage foi montado em /System/Developer — e ambos sobreviveram a um reboot independente (as mesmas verificações anteriormente voltavam para false, então a persistência é a prova real; veja FINDINGS_LOCK.md).

Pré-requisito

Remova o código de acesso (Ajustes → Face ID e Código → Desativar Código). Com um código de acesso definido, o AMFI responde action=1/action=2 com Device has a passcode set.

Passos

# 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

Verificar (nível de kernel, independente do serviço 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

Resumo do protocolo

actionSignificadoEfeito
0revelarMostra a opção do Modo Desenvolvedor nos Ajustes
1ativarDefine o sinalizador, reinicia o dispositivo
2aceitarConfirmação pós-reinício, reinicia novamente

⚠️ O pymobiledevice3 curto-circuita: se o status já for true, enable-developer-mode apenas registra "Developer mode is already enabled" e não envia nada. Os dois reinícios são parte do protocolo da Apple, não incidentais.


Início Rápido (Linux → iPhone em 4 minutos)

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

Compilar

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

Instalar no 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

Executar

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

Alternativa: lançamento CoreDevice / DVT a partir do Linux (run_dvt.sh)

Existe um segundo caminho, sem IPA: compile de forma cruzada o binário IOKit autônomo no Linux e envie-o para o dispositivo através do túnel CoreDevice / RSD do iOS 17+, depois execute-o com o serviço de controle de processos DVT (fora do App Sandbox — sem installd, sem IPA de assinatura gratuita).

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

O run_dvt.sh automatiza toda a cadeia:

  1. inicia/verifica o usbmuxd, verifica o dispositivo com ideviceinfo (libimobiledevice);
  2. compila de forma cruzada poc/poc.c para um Mach-O arm64 puro (sem toolchain da Apple): clang -c → ld64.lld -platform_version ios … -syslibroot … -undefined dynamic_lookup; a versão do SDK é lida do SDKSettings.plist binário via plistlib;
  3. abre um túnel RSD em espaço de usuário (pymobiledevice3) e invoca dvt launch --stream.

Status: a compilação cruzada no Linux funciona (um Mach-O arm64 real é produzido). A etapa de implantação no dispositivo ainda está em desenvolvimento — veja HANDOFF.md «Сессия 12». Observe também que o caminho IOKit do PoC (AppleMobileFileIntegrity selector 11) requer o entitlement restrito à plataforma com.apple.private.amfi.developer-mode-control, então um binário não assinado pela Apple será recusado pelo userclient mesmo quando lançado via DVT — a forma suportada de ativar o Modo Desenvolvedor é o protocolo lockdown documentado acima.


Como Funciona

Dois passos limpos por fatia de arquitetura (evita que o driver clang engula -arch/-platform_version ao delegar para ld64.lld):

  1. clang -c — objeto Mach-O, sem linkagem
  2. ld64.lld — executável com -arch arm64 -platform_version ios <min> <sdk> explícitos

Detecta automaticamente clang-20...15, ld64.lld/lld, llvm-lipo, ldid. Fallback gracioso: arm64e → arm64 se a toolchain não tiver suporte a ptrauth.


Estrutura do Repositório

Baixar ferramenta