Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
iomfb-exploit — Exploit del kernel per iOS 14 per CVE-2021-30807 che colpisce IOMobileFramebuffer, con allocazione di memoria regolabile per lo sviluppo di jailbreak su dispositivi A11+. | Kitploit
Strumenti/GitHubGitHub/jsherman212/iomfb-exploit
Sicurezza iOSMemory ForensicsAnalisi delle VulnerabilitàExploitSicurezza MobileBinary Exploitation
GitHubjsherman212/iomfb-exploit

iomfb-exploit

Exploit del kernel per iOS 14 per CVE-2021-30807 che colpisce IOMobileFramebuffer, con allocazione di memoria regolabile per lo sviluppo di jailbreak su dispositivi A11+.

Vedi Repository
13330154 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Il write-up è qui: https://jsherman212.github.io/2021/11/28/popping_ios14_with_iomfb.html

Exploit per CVE-2021-30807. Se vuoi davvero costruirci un jailbreak, richiederà messa a punto per il tuo dispositivo e versione di iOS perché non ho un info leak da usare per questo.

Per sintonizzarsi per A11 e inferiori, usa pongo per caricare xnuspy e compila con SAMPLING_MEMORY=1 make -B. Questo abiliterà un test che raccoglie la memoria restituita da kernel_memory_allocate, ordina quei puntatori, poi restituisce un intervallo. Vedrai qualcosa del genere:

root@kitploit:~
sample_kernel_map: 0xffffffe8ebe9c000 [0x10000 bytes da dietro]
sample_kernel_map: da aggiungere a alloc_averager:
[0xffffffe8ce934000, 0xffffffe8ebf98000],

(ignora semplicemente gli avvisi che produce)

Il test è pensato per essere eseguito 30 secondi dopo l'avvio del dispositivo.

All'interno di alloc_averager.py ci sono un paio di campioni che ho già eseguito per i miei telefoni. Prende la media di tutte le medie di ciascun intervallo. Crea una "lista di campioni" per il tuo dispositivo e aggiungi l'intervallo ad essa. Ripeti il test un paio di volte finché non hai 5-10 voci in quella lista. alloc_averager.py riporterà un tasso di successo per la stima che genera in base alla lista. Se ti piace il tasso di successo, prendi la stima e sostituisci con essa il valore di GUESSED_OSDATA_BUFFER_PTR all'inizio di .

IOMobileFramebufferUserClient.c

È molto importante non includere valori anomali in questa lista. Dopo aver eseguito il test un paio di volte, probabilmente ti imbatterai in un intervallo che si distingue dal resto degli intervalli che hai già.

Dovrai trovare gli offset per il tuo dispositivo/versione per eseguire questo test.

Prima, per trovare kernel_memory_allocate, semplicemente incrocia kernel_memory_allocate: VM is not ready. Quando hai l'offset, imposta il valore di kma su di esso all'interno di install_kernel_memory_alloc_hook.

Secondo, per isolare il test dalle altre allocazioni che XNU fa, testo per un indirizzo di ritorno specifico. Quell'indirizzo è all'interno di OSData::initWithCapacity. Puoi trovare facilmente la vtable di OSData incrociando la stringa "OSData". Il primo incrocio a quella stringa sarà in una funzione che ha un incrocio alla vtable per OSData::MetaClass. Subito sopra quella vtable c'è la vtable di OSData, e OSData::initWithCapacity è a +0x78.

Una volta ottenuto OSData::initWithCapacity, trova l'unico BL a kernel_memory_allocate e prendi l'offset dell'istruzione subito sotto di esso. Dentro kernel_hooks.c, usa quell'offset nell'unico if statement nell'unica funzione in quel file.

A12+ dovrà usare qualcosa come Correlium.

Scarica lo strumento