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
UnjailMe — Um escape de sandbox baseado na prova de conceito (CVE-2018-4087) por Rani Idan (Zimperium) | Kitploit
Ferramentas/GitHubGitHub/mtjailed/unjailme
Escalada de PrivilégiosFrameworks de ExploraçãoSegurança iOSAnálise de VulnerabilidadesExploraçãoAnálise ForensePós-ExploraçãoSegurança MóvelDesenvolvimento de PayloadsExploração de Binários
GitHubmtjailed/unjailme
8221há 8 anosRevisado 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

UnjailMe

Um escape de sandbox baseado na prova de conceito (CVE-2018-4087) por Rani Idan (Zimperium)

Ver RepositórioSite

UnjailMe

Uma fuga de sandbox baseada em:

  • no proof-of-concept (CVE-2018-4087) por Rani Idan (Zimperium)
  • no proof-of-concept de overflow do securityd por @cheesecakeufo (zeroday, nenhum CVE conhecido, obrigado Abraham!)

Sobre o PoC da ZIMPERIUM

Rani usou o sbtool de Jonathan Levine para descobrir quais serviços estavam acessíveis para comunicação a partir da sandbox.

Ele então encontrou mais bluetoothd e configurou código para interceptar mensagens de e para o serviço.

Ao fazer isso, ele descobriu que podia sequestrar a sessão de muitos daemons e vazar a porta do cliente.

Dessa forma, ele descobriu que era possível adicionar um callback com dados adicionais à conexão do cliente com o bluetoothd.

A consequência disso é que se pode obter controle sobre o contador de processo (callback) e o registrador x3 (dados adicionais) de daemons do sistema dos quais uma porta de cliente (sessão) é interceptada.

Fornecendo a possibilidade de escapar de um aplicativo sandbox para um contexto privilegiado, fazendo-o executar código com privilégios de sistema.

A Apple corrigiu as vulnerabilidades no iOS 11.2.5 usando um arc4random() para o ID da sessão.

Parece que não é mais possível obter a porta de um cliente, mas ainda é possível interceptar sessões.

Leva aproximadamente 5 dias para bruteforcear este arc4random() neste novo patch (4.294.967.296 possibilidades) e, portanto, ainda espero por um patch final, pois isso não é considerado uma correção para o problema de segurança.

Fonte: Blog da Zimperium

Sobre o PoC de Abraham Masri

Pelo que sei, isso é um bufferoverflow na comunicação com o securityd.

Isso é feito fornecendo uma mensagem XPC, que é uma mensagem baseada em dicionário valor-chave, com um comprimento inválido.

O serviço recebe a mensagem e ocorre o underflow.

Abraham parece ter encontrado uma maneira de controlar muitos registradores do processador, tornando possível a execução de código com direitos de sistema para aplicativos em execução no sistema.

O PoC de Abraham mostra que ele está tentando criar um exploit para essa vulnerabilidade, pois existe código para vazar endereços base, o que é conhecido como o início da criação de uma ROP-chain.

Não se sabe se Abraham planeja escrever esse exploit ele mesmo ou nos apontar na direção certa.

Requisitos

  • Um dispositivo iOS de 64 bits rodando iOS 10 até 11.3.1

Sobre este projeto

  • Este projeto não é um jailbreak nem contribuirá para um, pois opera apenas no userland
  • Este projeto não pode e nunca ganhará a capacidade de escrever no rootfilesystem, pois este está montado como somente leitura, conforme imposto pelo kernel.
  • Este projeto não permitirá facilmente a execução arbitrária de código na forma de bibliotecas dinâmicas como o cydia substrate faz.
  • O projeto tem como objetivo principal elevar um aplicativo de contêiner em sandbox para direitos de sistema.
  • O AMFI exige que todos os binários sejam validamente assinados e este projeto não pode corrigir o AMFI.
  • O projeto visa obter permissão de leitura e escrita na partição userdata (/var/root, /var/mobile).
  • O projeto visa obter acesso ao armazenamento protegido do keychain para recuperação de credenciais e fins forenses.
  • O projeto também visa fornecer funcionalidade de servidor para executar código como root e transferência de arquivos.
  • O projeto foi destinado a ser uma ajuda para desenvolvedores e pesquisadores para contribuição.
  • O projeto tornará mais fácil para desenvolvedores de jailbreak e pesquisadores de segurança encontrar bugs em drivers do kernel que são acessíveis apenas de um contexto privilegiado ou bugs no userland usando técnicas de fuzzing.
  • O projeto tornará mais fácil para desenvolvedores de tweaks de jailbreak pesquisar os novos recursos do iOS 11 e depurar o desenvolvimento de tweaks em um dispositivo real.
  • Este projeto tem como foco principal funcionar para iOS 10 até 11.2.5, mas pode, em teoria, suportar 11.2.5 até 11.3 inclusive quando exploits forem desenvolvidos.

Captura de tela

Como usar o aplicativo

  • O aplicativo não agrega valor ao projeto, mas serve como um visual para aqueles que pediram (Muitas pessoas empolgadas da comunidade pediram isso)
  • O aplicativo despejará informações de bibliotecas e frameworks, incluindo memória, informações mach-o e seus endereços base, o que é útil para o desenvolvimento de ROP.
  • A lógica no aplicativo pode levar até 15 minutos para ser concluída devido às muitas análises e impressões, isso não será o caso nas versões finais.
  • O aplicativo não agregará valor ao seu iPhone nem alterará o comportamento do software como está, alguns daemons podem travar, mas nenhum dano permanente é causado ao sistema.
  • Recomenda-se que pesquisadores executem este projeto no Xcode

SOLUÇÃO DE PROBLEMAS (não necessário, mas apenas por precaução)

  • Apague o aplicativo
  • Desligue o bluetooth
  • Reinicie
  • Ligue o bluetooth
  • Desligue o bluetooth

Recursos

  • Acesso FTP (atualmente em sandbox, sem sandbox no futuro)
  • PoC Visual
  • PoC da zerodium (Finalmente ligeiramente melhorado, pode fazer chamada à função system())
  • PoC de Abraham, que deve ser capaz de executar código arbitrário como root, perfeito para ssh.
  • PoC de Sem Voigtlander (DoS de alocação de espaço de endereço do kernel, para função de reinicialização do dispositivo).

Planejado

  • Exploit completo incluindo obter controle total sobre o espaço de endereço de outros daemons.
  • Acesso remoto a shell SSH (dropbear ou uma derivação).

Coisas futuras para pensar

  • Injeção de código no SpringBoardd (Olá, amantes de jailbreak)
  • launchd (Não é possível, pois não podemos obter uma sessão para ele).

Hipótese (apenas especulação)

  • Encontrar daemon com entitlements do launchd / injetar entitlements.
  • Injetar código que carrega o BaseBoard Framework
  • Vazar endereços de bibliotecas no dyld_shared_cache.
  • Encontrar um ropgadget em qualquer biblioteca no dyld_shared_cache.
  • Chamar a ropchain definindo o callback e os dados adicionais do callback.
  • Usar lógica de engenharia reversa do BaseBoard para fazer o launchd executar amfid com argumentos e aslr desabilitado.
  • corrigir amfid
  • Usar lógica de engenharia reversa do BaseBoard para fazer o afcd executar com argumentos para / e aslr desabilitado. (como afc2).
  • Usar lógica de engenharia reversa do BaseBoard para executar unjaild, um daemon que pode ser usado como wrapper em torno do launchd e lida com privilégios de tarefa e injeção de código
  • obter um taskport sobre o launchd com aslr desabilitado usando lógica do BaseBoard

Para examinar

  • Patches do AMFI (Não é fácil, não podemos obter sessões sobre amfi, mas podemos escalar usando outros daemons talvez).
  • Injeção de entitlements (Não é muito necessário, temos controle sobre tantos daemons que não precisamos disso).
  • Escalar ainda mais usando APIs privadas (BaseBoard.framework pode iniciar processos com ASLR desabilitado com direitos de sistema)???
  • reviver e portar liblorgnette para iOS (FEITO)

Baixar ipa

https://github.com/MTJailed/UnjailMe/releases/tag/0.1

Créditos

  • Abraham (@cheesecakeufo) pelo seu zeroday do securityd
  • Vulnerabilidade e PoC inicial: Rani Idan (Zimperium) <3
  • PureFTPd
  • projeto liblorgnette (com minhas próprias pequenas melhorias)
  • NEWUI por @ringarang

Doe ou contribua

  • O código-fonte pode ser fornecido se for solicitado no Twitter via DM (@MTJailed)
  • Por favor, doe, tenho muito pouco tempo e recursos para trabalhar em tais projetos! (http://paypal.me/devsupport)
  • Em breve o código-fonte (exceto ftp) estará aqui no GitHub.
Baixar ferramenta