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
iomfb-exploit — Exploit for CVE-2021-30807 | Kitploit
Ferramentas/GitHubGitHub/jsherman212/iomfb-exploit
iOS SecurityMemory ForensicsVulnerability AnalysisExploitationMobile SecurityBinary Exploitation
GitHubjsherman212/iomfb-exploit

iomfb-exploit

Exploit for CVE-2021-30807

Ver Repositório
13330há 4 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

O artigo completo está aqui: https://jsherman212.github.io/2021/11/28/popping_ios14_with_iomfb.html

Exploit para CVE-2021-30807. Se você realmente quiser construir um jailbreak a partir dele, será necessário ajuste para o seu dispositivo e versão do iOS, porque não tenho vazamento de informação para usar nisso.

Para ajustar para A11 e inferiores, use pongo para carregar xnuspy e compile com SAMPLING_MEMORY=1 make -B. Isso habilitará um teste que coleta a memória retornada por kernel_memory_allocate, ordena esses ponteiros e então exibe um intervalo. Você verá algo como isto:

root@kitploit:~
sample_kernel_map: 0xffffffe8ebe9c000 [0x10000 bytes from behind]
sample_kernel_map: to add to alloc_averager:
[0xffffffe8ce934000, 0xffffffe8ebf98000],

(apenas ignore os avisos que ele exibe)

O teste deve ser executado 30 segundos após o dispositivo iniciar.

Dentro de alloc_averager.py há algumas amostras que já executei para meus telefones. Ele calcula a média de todas as médias de cada intervalo. Crie uma "lista de amostras" para o seu dispositivo e adicione o intervalo a ela. Repita o teste algumas vezes até ter de 5 a 10 entradas nessa lista. alloc_averager.py reportará uma taxa de sucesso para o palpite que gera com base na lista. Se você gostar da taxa de sucesso, pegue o palpite e substitua o valor de GUESSED_OSDATA_BUFFER_PTR no topo de IOMobileFramebufferUserClient.c por ele.

É muito importante não incluir valores atípicos nesta lista. Depois de executar o teste algumas vezes, você provavelmente encontrará um intervalo que se destaca dos demais intervalos que você já possui.

Você precisará encontrar offsets para seu dispositivo/versão para executar este teste.

Primeiro, para encontrar kernel_memory_allocate, simplesmente faça referência cruzada de kernel_memory_allocate: VM is not ready. Quando você tiver o offset, defina o valor de kma para ele dentro de install_kernel_memory_alloc_hook.

Segundo, para isolar o teste das outras alocações que o XNU faz, eu testo um endereço de retorno específico. Esse endereço está dentro de OSData::initWithCapacity. Você pode facilmente encontrar a vtable do OSData referenciando a string "OSData". A primeira referência cruzada a essa string estará em uma função que tem uma referência cruzada para a vtable de OSData::MetaClass. Logo acima dessa vtable está a vtable do OSData, e OSData::initWithCapacity está em +0x78.

Assim que você tiver OSData::initWithCapacity, encontre o único BL para kernel_memory_allocate e pegue o offset da instrução logo abaixo dele. Dentro de kernel_hooks.c, use esse offset na única declaração if na única função nesse arquivo.

A12+ precisará usar algo como Correlium.

Baixar ferramenta