Segurança

Compilando o Jailbreak Dopamine: Guia | 8kSec

O texto fornece um guia detalhado sobre como compilar o jailbreak Dopamine para iOS 15 e 16 a partir do código-fonte. Ele explica os motivos para fazer isso, incluindo entender exploits em tempo real, explorar a arquitetura do jailbreak e realizar depuração e personalização. O processo requer conhecimentos básicos de linha de comando, o uso de ferramentas como Git, Theos e ldid, além da instalação do Xcode no Mac. Os passos incluem clonar o repositório Dopamine, configurar dependências necessárias e executar comandos para compilar o projeto.

Compartilhar
Compiling the Dopamine Jailbreak: Guide | 8kSec

Introdução

O mundo do jailbreaking iOS tem visto uma evolução significativa, e entre os mais recentes e estáveis jailbreaks está o Dopamine — um jailbreak semi-desprendido para iOS 15 e 16. Neste post de blog, vamos caminhar através do que significa compilar o Dopamine a partir da fonte, por que você gostaria de fazer isso e as perspectivas que oferece sobre os internos do iOS e desenvolvimento de exploits.

Este post guiará você pelo motivo, o que você precisa e como compilar o Dopamine em seu Mac.

Por Que Compilar um Jailbreak?

Compilar um jailbreak não é apenas por diversão e serve a alguns propósitos poderosos:

  1. Entender Exploits em Tempo Real

Compondo o Dopamine, você tem acesso completo ao código e pode:

  • Definir pontos de interrupção
  • Inspecionar memória durante a execução
  • Rastrear lógica do exploit passo a passo

Isto é inestimável se você está aprendendo exploração iOS ou deseja analisar como uma determinada vulnerabilidade está sendo aproveitada.

2. Explorar a Arquitetura

Um jailbreak não é apenas uma cadeia de exploits. É um ecossistema de:

  • Exploits
  • Payloads
  • Moldes pós-exploitação
  • Bibliotecas terceiras

Compondo o Dopamine ajuda você a ver como todos esses componentes interagem, incluindo escapes de sandbox, patches do kernel e demônios.

3. Depuração e Personalização

Ao construir a partir da fonte, você pode:

  • Habilitar bandeiras de depuração
  • Mudar o comportamento (por exemplo, injetar ajustes personalizados)
  • Adicionar logging ou instrumentação

Isto é especialmente útil se você está construindo seus próprios PoCs ou modificando partes da cadeia de exploração.

Pré-Requisitos

Para acompanhar, você precisará:

  • Git e familiaridade básica com linha de comando
  • Theos: https://theos.dev/
  • ldid do Procursus: https://github.com/ProcursusTeam/ldid
  • Conta de desenvolvedor da Apple válida
  • Xcode instalado (em um Mac)
  • Um dispositivo iOS (vulnerável ao exploit de jailbreak sendo usado), e habilitado no modo Desenvolvedor

Passo 1: Instalar Procursus

Vá para o repositório oficial: https://github.com/ProcursusTeam/ldid

  • Navegue até a seção de Releases
  • Baixe o binário para seu SO (por exemplo, ldid_macos_arm64 ou ldid_macos_x86_64)
  • Remova o LDID existente se presente, mova o binário baixado para seu caminho e faça-o executável
sudo rm -f $(which ldid)
sudo mv ~/Downloads/ldid_macos_x86_64 /usr/local/bin/ldid
sudo chmod +x /usr/local/bin/ldid
ldid -V

Passo 2: Instalar Theos

Theos é um conjunto de ferramentas multiplataforma para construir e implantar software para iOS, macOS e outras plataformas Apple — especialmente para dispositivos jailbreakados. É amplamente usado na comunidade de jailbreaking iOS para criar ajustes, aplicativos e demônios usando Objective-C, Swift ou Logos (uma DSL projetada para fazer ajustes iOS).

Theos é usado principalmente para:

  • Criar ajustes de jailbreak para iOS
  • Construir ferramentas da linha de comando, demônios ou aplicativos GUI que executam em dispositivos Apple
  • Trabalhar fora do Xcode (por exemplo, via terminal), frequentemente necessário ao construir para ambientes jailbreakados

Você pode seguir o Guia em https://theos.dev/docs/installation para instalar Theos.

Passo 3: Clonar o Repositório do Jailbreak Dopamine

Para clonar o repositório do Dopamine junto com seus submódulos, você pode usar o seguinte comando.

Passo 4: Acesse a pasta Dopamine e execute make

cd Dopamine
make

O Theos pode reclamar sobre cabeçalhos xpc ausentes.

==> Preprocessing SpringBoard.x...
==> Compiling SpringBoard.x (arm64)...
==> Preprocessing cfprefsd.x...
==> Compiling cfprefsd.x (arm64)...
==> Preprocessing installd.x...
==> Compiling installd.x (arm64)...
==> Preprocessing lsd.x...
==> Compiling lsd.x (arm64)...
In file included from lsd.x:2:
In file included from ../include/libjailbreak/util.h:4:
../include/libjailbreak/info.h:8:10: fatal error: 'xpc/xpc.h' file not found
  8 | #include <xpc/xpc.h>
    |          ^~~~~~~~~~~
1 error generated.
make[5]: *** [.../lsd.x.36aa6cb0.o] Error 1
make[4]: *** [.../rootlesshooks.dylib] Error 2
make[3]: *** [internal-library-all_] Error 2
make[2]: *** [rootlesshooks.all.tweak.variables] Error 2
make[1]: *** [rootlesshooks] Error 2
make: *** [all] Error 2

Para corrigir isso, você pode copiar a pasta xpc do seu SDK de desenvolvimento MacOS Xcode.

$ cp -r /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/xpc $THEOS/include/
$ ls $THEOS/include/
xpc
$ ls $THEOS/include/xpc
XPC.apinotes  base.h        endpoint.h    session.h     xpc.h
activity.h    connection.h  listener.h
availability.h debug.h      rich_error.h
$
Ao seguir, os comandos de compilação falharam:
CpResource .../Dopamine.app/bootstrap_1900.tar.zst
.../Dopamine/Resources/bootstrap_1900.tar.zst (no alvo 'Dopamine' do projeto 'Dopamine')
CpResource .../Dopamine.app/bootstrap_1800.tar.zst
.../Dopamine/Resources/bootstrap_1800.tar.zst (no alvo 'Dopamine' do projeto 'Dopamine')
Compilando o projeto Dopamine com esquema Dopamine
(3 falhas)
make[1]: *** [build/Build/Products/Debug-iphoneos/Dopamine.app] Erro 65
make: *** [all] Erro 2
$ ls .../Dopamine.app
Assets.car           basebin.tar           sileo.deb
Frameworks           basebin.tc            zebra.deb
LICENSE_weightBufs.md libkrw-dopamine.deb  libroot.deb
basebin-link.deb

Isto é devido à falta de arquivos BootStrap, e eles não estão presentes por padrão e precisam ser baixados separadamente. Para fazer isso, execute o script download_bootstraps.sh dentro da pasta Dopamine/Resources.

$ cd Dopamine/Resources
$ ls
LICENSE.md                 LICENSE_kfd.md
LICENSE_Cha0ma.md          LICENSE_libc.md
LICENSE_ElleKit.md         LICENSE_libgrabkernel2.md
LICENSE_Fugu15.md          LICENSE_opainject.md
LICENSE_Fugu15_Rootful.md  LICENSE_plooshinit.md
LICENSE_Procursus.md       LICENSE_weightBufs.md
LICENSE_Sileo.md           download_bootstraps.sh
LICENSE_XPF.md             sileo.deb
LICENSE_Zebra.md           zebra.deb
LICENSE_dimentio.md
$ ./download_bootstraps.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
  5  19.8M     5  1020k    0     0   462k      0:00:43  0:00:02  0:00:41  462k

A execução do comando make agora deve resultar em uma mensagem 'Compilação bem-sucedida'.

/Users/8ksec/Documents/WORK/Code/iOS/Dopamine/Application/Dopamine.xcodeproj: aviso: DEFINES_MODULE foi definido, mas nenhum cabeçalho de guarda universal pôde ser encontrado para gerar o módulo map (no alvo 'badRecovery' do projeto 'Dopamine')
nota: a fase de construção 'Executar Script' será executada em cada build porque a opção para executar a fase de script "Com base na análise de dependência" está desmarcada. (no alvo 'badRecovery' do projeto 'Dopamine')
nota: a fase de construção 'Executar Script' será executada em cada build porque a opção para executar a fase de script "Com base na análise de dependência" está desmarcada. (no alvo 'weightBufs' do projeto 'Dopamine')
nota: a fase de construção 'Executar Script' será executada em cada build porque a opção para executar a fase de script "Com base na análise de dependência" está desmarcada. (no alvo 'multicast_bytecopy' do projeto 'Dopamine')
** CONSTRUÇÃO COM SUCESSO **
Sinalização Ad-Hoc Dopamine
xattr -rc build/Build/Products/Debug-iphoneos/Dopamine.app

Passo 4: Executar o Dopamine no Xcode

Para abrir e executar o projeto Dopamine no Xcode, inicie o arquivo .xcodeproj localizado na pasta Application. No Xcode, selecione seu certificado de desenvolvedor Apple sob Sinalização & Capacidades para o projeto. Em seguida, verifique se a configuração alvo está definida como Dopamine no seletor de esquemas superior. Por fim, conecte seu dispositivo e clique em Executar (▶) para construir e iniciar o aplicativo em seu iPhone.

Há muitas técnicas incríveis e exploits embutidos neste jailbreak — variando desde escalada de privilégios até escapes de sandbox e patches no nível do kernel. Mas isso é um mergulho profundo melhor salvo para outro post de blog 😉

dopamine-xcode

Considerações Finais

A compilação do Dopamine lhe dá experiência prática com um dos jailbreaks mais estáveis e modernos para iOS. É uma oportunidade de mergulhar profundamente na segurança do iOS, ajustar o comportamento de explorações e entender a ferramenta por trás de jailbreaks reais.

Seja você um pesquisador de segurança, engenheiro reverso ou entusiasta curioso do iOS — compilar seu próprio jailbreak irá aumentar significativamente suas habilidades.

Explore Nosso Catálogo de Cursos On-Demand

Se você está interessado em mergulhar mais fundo em tópicos como análise de kernel panic, pesquisa de vulnerabilidades e depuração no nível baixo do sistema, a Academia 8ksec oferece uma ampla gama de cursos on-demand adaptados para profissionais e entusiastas de segurança.

Acesse academy.8ksec.io para explorar nosso catálogo completo de cursos. Seja um iniciante ou um profissional experiente, você encontrará recursos para aprimorar suas habilidades e manter-se à frente no campo em rápida evolução da Segurança Móvel.

Sinta-se à vontade para entrar em contato conosco em support@ para perguntar qualquer dúvida relacionada aos nossos blogs ou quaisquer futuros blogs que você gostaria de ver.

Boa sorte!

Fonte original

Conteúdo traduzido e adaptado pela redação do Notícias Mobile. Confira também a matéria na fonte original.

Leia a matéria completa