Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
vphone-cli — Boot e gerencie iPhones virtuais em Apple Silicon com patch de firmware, variantes de jailbreak e recursos de pesquisa de segurança para testes e análise de iOS. | Kitploit
Ferramentas/GitHubGitHub/lakr233/vphone-cli
Segurança iOSExploraçãoVirtualização para SegurançaTestes de PenetraçãoSegurança MóvelAnálise de Firmware
GitHublakr233/vphone-cli

vphone-cli

Boot e gerencie iPhones virtuais em Apple Silicon com patch de firmware, variantes de jailbreak e recursos de pesquisa de segurança para testes e análise de iOS.

Ver Repositório
8.8k1.2k11há 4h 36mRevisado pelo Kitploit

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 →
Compartilhar
🇰🇷한국어 | 🇯🇵日本語 | 🇨🇳中文 | 🇬🇧English

vphone-cli

Inicialize um iPhone virtual via o Virtualization.framework da Apple usando a infraestrutura de VM de pesquisa PCC.

poc

Pré-requisitos

Host:

  • Apple Silicon
  • macOS 15+ (Sequoia)
  • Xcode + iOS SDK (compila cruzadamente o daemon convidado)
  • Relaxamento de SIP/AMFI para permitir entitlements privados PV=3 com binário não assinado

Dependências:

root@kitploit:~
brew install [email protected] aria2 wget gnu-tar openssl@3 ldid-procursus sshpass keystone cmake libusb ipsw zstd

Instalação

root@kitploit:~
brew install zqxwce/tap/vphone-cli

Compilação

root@kitploit:~
git clone --recurse-submodules https://github.com/Lakr233/vphone-cli.git

./scripts/setup_tools.sh      # instala dependências, compila submódulos da toolchain, cria o venv Python
./scripts/build.sh            # compila + assina vphone-cli, empacota o .app, compila cruzadamente vphoned

cd .build/vphone-cli.app/Contents/MacOS/
vphone-cli --help

Início Rápido

Um único comando cria uma VM de ponta a ponta (download → patch → restauração DFU → instalação CFW → primeiro boot):

root@kitploit:~
vphone-cli vm create myphone -V jb        # -V / --variant

vphone-cli vm launch myphone

Comandos

vphone-cli vm create executa todo o pipeline; as etapas individuais abaixo permitem que você o conduza manualmente ou reexecute uma fase.

Gerenciamento

root@kitploit:~
vphone-cli vm list                         # lista VMs (--json para scripts)
vphone-cli vm info myphone                  # exibe uma VM
vphone-cli vm new myphone                   # cria um bundle vazio (opções de cpu/mem/disk)
vphone-cli vm config myphone --cpu 8 --memory 8192
vphone-cli vm clone myphone myphone-2       # clone APFS rápido, nova identidade de dispositivo
vphone-cli vm export myphone --out myphone.tzst   # zstd rápido por padrão (--max = xz -9); --out pode ser um diretório (nomeia automaticamente <vm>.tzst/.txz); ignora o diretório de restauração + arquivos de staging
vphone-cli vm import myphone.tzst --name restored
vphone-cli vm rename myphone iphone16
vphone-cli vm delete iphone16

Compilar uma VM manualmente (o que vm create automatiza)

root@kitploit:~
vphone-cli vm new myphone                              # 1. bundle vazio
vphone-cli fw prepare myphone --iphone-version 26.1     # 2. baixar + mesclar IPSWs
vphone-cli fw patch myphone --variant jb                # 3. aplicar patch na cadeia de boot

vphone-cli vm launch myphone --dfu &                    # 4. boot em DFU (em segundo plano)
vphone-cli restore myphone --get-shsh                   #    buscar SHSH
vphone-cli restore myphone                              #    restauração DFU
vphone-cli vm stop myphone                              #    parar o boot DFU

vphone-cli cfw install myphone --variant jb             # 5. instalar CFW (montagem no host; solicita sudo)
vphone-cli vm launch myphone                            # 6. primeiro boot

Atualize para um iOS mais recente apontando fw prepare para um IPSW: --iphone-source /path/to.ipsw --cloudos-source /path/to.ipsw.

Variantes de Firmware

Cinco variantes de patch com bypass de segurança crescente — passe uma para --variant:

VarianteCadeia de BootCFWNotas
less4 patches2 fasesSem patch — mantém as mitigações do iOS habilitadas
regular42 patches10 fasesBypass de AMFI/SSV/Img4/TXM
dev53 patches12 fases+ bypass de entitlement/debug TXM
jb113 patches14 fases+ jailbreak completo (Sileo, TrollStore com instalação automática no primeiro boot)
exp141 patches18 fasesSuperconjunto de JB + patches de pesquisa anti-detecção de VM

Consulte research/0_binary_patch_comparison.md para o detalhamento por componente.

Execução e Conexão

  • SSH (jailbreak): ssh -p 22222 mobile@<vm-ip> (senha alpine)
  • SSH (regular/dev): ssh -p 22222 root@<vm-ip>
  • VNC: vnc://<vm-ip>:5901

Locais

Tudo o que o vphone-cli cria fica em ~/.vphone/ — mantido fora do repositório e do .app para que o bundle assinado permaneça portátil. Redirecione toda a árvore com $VPHONE_ROOT:

CaminhoConteúdo
~/.vphone/A raiz de dados por usuário — substitua todo o local com $VPHONE_ROOT.
~/.vphone/VMs/Bundles de VM — um diretório por VM. Esta é a biblioteca; substitua com $VPHONE_LIBRARY_ROOT.
~/.vphone/ipsws/IPSWs de iPhone + cloudOS baixados, armazenados em cache e reutilizados entre VMs.
~/.vphone/tools/Artefatos de volume selado APFS em cache (apfs_sealvolume_<version>) buscados durante fw prepare.
~/.vphone/debs/Pacotes .deb em cache que a instalação CFW jb/exp insere no convidado (Sileo, apt, …).
~/.vphone/venv/Ambiente Python provisionado automaticamente (consulte Python runtime; substitua com $VPHONE_VENV_DIR).

Precedência: as substituições por item ($VPHONE_LIBRARY_ROOT, $VPHONE_VENV_DIR) têm prioridade sobre $VPHONE_ROOT, que tem prioridade sobre o padrão ~/.vphone. Os caches ipsws/, tools/ e debs/ ficam sempre diretamente sob a raiz ativa.

Relaxamento de SIP/AMFI

Opção A — desative completamente o SIP e depois desative o AMFI via boot-arg (mais permissivo).

Na Recuperação (pressione e segure o botão de energia → Terminal):

root@kitploit:~
csrutil disable
csrutil allow-research-guests enable

Em seguida, reinicie no macOS e defina o boot-arg do AMFI (requer SIP totalmente desativado para ter efeito):

root@kitploit:~
sudo nvram boot-args="amfi_get_out_of_my_way=1 -v"   # reinicie depois

Opção B — mantenha o SIP ativado (relaxado apenas para debug) e depois coloque o binário na lista de permissões com amfidont (deixa o AMFI habilitado em todo o sistema).

Na Recuperação:

root@kitploit:~
csrutil enable --without debug
csrutil allow-research-guests enable

Em seguida, reinicie no macOS e:

root@kitploit:~
vphone-amfidont         # .build/vphone-cli.app/Contents/Resources/vphone-amfidont para compilações locais

Ambientes Testados

HostiPhoneCloudOS
Mac16,11 27.0b217,3_18.6.2_22G10026.1-23B85
Mac16,8 26.5.117,3_26.0_23A34126.1-23B85
Mac16,8 26.5.117,3_26.0.1_23A35526.1-23B85
Mac16,12 26.317,3_26.1_23B8526.1-23B85
Mac16,12 26.317,3_26.3_23D12726.1-23B85
Mac16,12 26.317,3_26.3_23D12726.3-23D128
Mac16,12 26.317,3_26.3.1_23D813326.3-23D128
Mac16,11 26.217,3_26.4_23E24626.4-23E5207q
Mac16,11 26.217,3_26.5_23F7726.4-23E5207q
Mac16,11 27.0b217,3_26.5.2_23F8426.4-23E5207q
Mac16,6 26.4.117,3_26.6_23G7126.4-23E5207q
Mac16,11 27.0b217,3_26.6.1_23G8326.4-23E5207q
Mac16,11 27.0b217,3_27.0_24A5380h26.4-23E5207q
Mac16,6 26.4.117,3_27.0_24A5390f26.4-23E5207q
Mac16,6 26.6.117,3_27.0_24A5408d26.4-23E5207q
Mac16,11 27.0b217,3_27.0_24A5418b26.4-23E5207q
Mac16,11 27.0b217,3_27.0_24A5424a26.4-23E5207q

FAQ

zsh: killed ./vphone-cli — as restrições de AMFI/debug não foram contornadas; consulte Pré-requisitos (amfi_get_out_of_my_way=1 ou amfidont).

Virtualization is not available on this hardware — seu Mac é ele próprio uma VM; o boot de convidado PV=3 não pode ser aninhado. Use um host macOS 15+ não aninhado.

Travado em "Press home to continue" — conecte via VNC e clique com o botão direito (clique com dois dedos) para simular o botão home.

Os apps do sistema não instalam — durante a configuração do iOS, não escolha Japão ou UE como sua região (verificações regulatórias extras que a VM não pode satisfazer); escolha, por exemplo, Estados Unidos.

O app falha ao iniciar com EXC_GUARD / GUARD_TYPE_MACH_PORT — reaplique o patch com vphone-cli fw patch <name> --variant <v> --force-exc-guard e depois restaure/instale novamente (#291). Sempre ativado para bases iOS 18.

Instalar um .ipa/.tipa — use o menu Instalar da VM em execução (arrastar e soltar ou seletor de arquivos).

cfw install trava ao reassinar um binário do sistema (ex.: Campo), com memória crescendo sem limite — bug conhecido no ldid-procursus até 2.1.5-procursus7 (o atual stable do Homebrew): bytes(uint64_t) chama __builtin_clzll(0) sem proteção contra zero, o que é comportamento indefinido, e nesta compilação resolve para um comprimento 0 que causa underflow em um contador de loop sem sinal — ldid fica em loop escrevendo um byte por vez em um buffer crescente em vez de terminar. Acionado por qualquer plist de entitlements contendo um valor inteiro exatamente 0 (alguns binários reais do sistema Apple têm esses valores). Corrigido upstream, mas ainda não em um release marcado; recompile da fonte: brew install --HEAD ldid-procursus && brew link --overwrite ldid-procursus. Encerre o processo ldid travado primeiro (sudo kill -9 <pid>) se você já o encontrou.

Automação

vphone-cli expõe um socket de controle do host (<bundle>/vphone.sock) para controle programático — capturas de tela, toque, deslizes, teclas de hardware, área de transferência — cada ação retornando uma captura de tela inline para testes E2E orientados por IA. Consulte vphone-mcp para um servidor MCP que o encapsula.

Agradecimentos

  • wh1te4ever/super-tart-vphone-writeup
Baixar ferramenta