Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ghostlock-myron-tw — GhostLock (CVE-2026-43499) port dell'exploit del kernel per il firmware Taiwan di REDMI K90 Pro Max (myron, WPMTWXM) — offset, guida alla compilazione, binario precompilato | Kitploit
Strumenti/GitHubGitHub/jason5545/ghostlock-myron-tw
Sicurezza AndroidEscalation di PrivilegiExploitReverse EngineeringSicurezza MobileBinary Exploitation
GitHubjason5545/ghostlock-myron-tw

ghostlock-myron-tw

GhostLock (CVE-2026-43499) port dell'exploit del kernel per il firmware Taiwan di REDMI K90 Pro Max (myron, WPMTWXM) — offset, guida alla compilazione, binario precompilato

Vedi Repository
52 mesi faNon ancora revisionato

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

GhostLock per POCO F8 Ultra / REDMI K90 Pro Max — Variante Global e Taiwan (myron, WPMTWXM)

Port dell'exploit del kernel GhostLock (CVE-2026-43499) per il firmware global/Taiwan del POCO F8 Ultra / REDMI K90 Pro Max (nome in codice myron, Snapdragon 8 Elite Gen 5 / SM8850).

Target: HyperOS OS3.0.6.0.WPMTWXM — kernel 6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k

Riepilogo in inglese qui sotto / 下方有英文摘要。


Perché serve questo port

Stesso telefono, stesso nome in codice, ma il kernel della versione internazionale/Taiwan (WPMTWXM, ovvero POCO F8 Ultra) e quello della versione cinese (WPMCNXM) non sono lo stesso binario:

ROMkernel releaseData di compilazione
Versione taiwanese 3.0.1.0.WPMTWXM...-ga5f232d1ead0-ab14083253-4k2025-09-11
Versione taiwanese 3.0.6.0.WPMTWXM...-g5a0e85dd9db0-ab14499855-4k2025-11-26
Versione cinese continentale 3.0.306/308.WPMCNXM...-g16e473de48a3-abogki462654244-4k2025-11-19
  • La versione cinese continentale segue il ramo GKI ufficiale di Google (abogki*), mentre la versione taiwanese è un ramo integrato proprietario di Xiaomi
  • I commit git delle due parti sono diversi, la config differisce di 7 opzioni e tutto è compilato con +pgo +bolt +lto — qualsiasi differenza nel codice sconvolge completamente la disposizione dei simboli
  • Test effettivo: init_task/init_cred differiscono di 0x10000, selinux_state differisce di 0x120c8 (offset non fisso)

Exploit data-only come GhostLock richiedono gli indirizzi esatti di quella specifica compilazione, quindi tutti i payload calcolati per la versione cinese continentale sono completamente inefficaci sulle versioni internazionali. Questo repo serve proprio a fornire la tabella degli offset mancante per le versioni internazionali.

Contenuto

  • offsets/myron_tw/offsets.h — target completo per la versione TW 3.0.6.0 (per l'uso con JoinChang/ghostlock-oneplus)
  • scripts/device_step1.sh — script di backup ABL + flash dell'EFI di sblocco dopo il root
  • Nelle Releases c'è il binario ghostlock già compilato (arm64)

Risultati di analisi verificati

  1. Correttezza dell'estrazione statica di kallsyms: verifica incrociata rileggendo il binario con _text come base — init_task.comm="swapper", init_cred.usage=4, init_uts_ns.release coincidono carattere per carattere con uname. Non serve il root sul dispositivo reale per ottenere offset affidabili.
  2. Il layout delle struct è identico a quello della versione cinese (verificato con BTF): task_struct 5184 byte, cred@0x900, pi_blocked_on@0xA18 ecc., coerenti con STRUCT_OFFSETS_6_12 upstream.
  3. Fattibilità del layout dello stack: futex_wait_requeue_pi (frame 0x1c0, waiter@sp+0x80) e core_sys_select (frame 0x1b0, stack_fds@sp+0x18) sono identici a quelli dello Xiaomi 17 (pudding) già verificato come funzionante → PSELECT_SHIFT=0.
  4. selinux_state.enforcing è a +0, policycap a +2, una scrittura di un singolo byte non danneggia policycap.
  5. Rust ashmem → è utilizzabile solo il Path B (scrittura PI diretta), il Path A (UMH) non è utilizzabile.

Compilazione

git clone https://github.com/JoinChang/ghostlock-oneplus.git
cd ghostlock-oneplus
cp /path/to/this-repo/offsets/myron_tw/offsets.h src/devices/myron_tw/offsets.h
# 在 src/devices/offsets.h 的 #include 清單加一行:
#   #include "myron_tw/offsets.h"
make NDK_CC=<你的 NDK>/toolchains/llvm/prebuilt/*/bin/aarch64-linux-android35-clang

Utilizzo

adb shell uname -r
# 必須是 6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k,否則程式會拒絕執行

adb push ghostlock /data/local/tmp/e
adb shell chmod 755 /data/local/tmp/e
adb shell /data/local/tmp/e
  • Riuscito → root shell + SELinux permissive (root temporaneo, si perde al riavvio)
  • Riavvio fallito = non si è colto la finestra temporale, rieseguire; in caso di panic ripetuti si può provare PSELECT_SHIFT=-1 o altre regolazioni fini
  • Non lasciare che il dispositivo esegua OTA — dopo l'aggiornamento il kernel viene sostituito, gli offset diventano inefficaci e le nuove versioni potrebbero aver già corretto la vulnerabilità

Passaggi successivi (sblocco BL)

I dispositivi della versione internazionale, dopo il root, possono essere sbloccati tramite il metodo di sostituzione ABL (senza bisogno di quote ufficiali): backup di abl_a/b → flash dell'EFI di unlock → flash tramite fastboot dell'ABL di fabbrica + spoof → ripristino. L'ABL di fabbrica si ottiene dal abl.img della propria ROM versione Taiwan 3.0.1.0 in proprio possesso (questo repo non include file firmware proprietari di Xiaomi). scripts/device_step1.sh è la parte lato dispositivo di questo processo. Questa procedura non cancella i dati dell'utente.

Porting ad altre versioni regionali (MIXM / EUXM / INXM…)

Questo repo copre solo WPMTWXM. Xiaomi compila il kernel separatamente per ogni ramo regionale, quindi gli offset non possono essere condivisi— ma il metodo sì. In tools/ ci sono i tre strumenti che usiamo effettivamente per generare il target della versione taiwanese:

# 1. 從你的 OTA 包解出 boot.img(payload.bin 用 payload-dumper),然後:
python3 tools/extract_offsets.py boot.img          # 產生 OFFSETS_ENTRY + 交叉驗證
python3 tools/check_btf.py boot.img                # 驗證 struct 布局(決定 STRUCT_OFFSETS 能否沿用)
python3 tools/check_feasibility.py boot.img        # 驗證 pselect 棧配置(決定 SHIFT)
  • extract_offsets.py: estrae kallsyms, calcola tutti gli offset e rilegge init_task.comm / init_cred.usage / init_uts_ns.release per una verifica incrociata — se non passa, non usarlo
  • check_btf.py: legge dal BTF incorporato nel kernel gli offset dei campi di task_struct/cred/selinux_state e li confronta voce per voce con STRUCT_OFFSETS_6_12
  • check_feasibility.py: disassembla la configurazione dei frame di futex_wait_requeue_pi e core_sys_select e la confronta con kernel noti come funzionanti (richiede pip install capstone)

Tutti e tre sono passati, molto probabilmente la tua versione funzionerà. Sei invitato a inviare una PR per aggiungere il target della nuova versione regionale.

Ringraziamenti

  • Nebula Security — ricerca originale e PoC di GhostLock
  • JoinChang/ghostlock-oneplus — base di questo port
  • Le varie esperienze di porting della community di Coolapk

English Summary

Il firmware globale del POCO F8 Ultra (REDMI K90 Pro Max) distribuisce una build del kernel diversa rispetto al firmware CN (branch, config e layout PGO/BOLT differenti), quindi tutti gli offset GhostLock pubblicati dalla community — calcolati sui kernel ogki CN — non corrispondono sui dispositivi globali. Questo repository fornisce gli offset di destinazione mancanti per OS3.0.6.0.WPMTWXM (6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k), estratti staticamente dal pacchetto OTA ufficiale e convalidati in modo incrociato (kallsyms + BTF + letture in-image), più un binario precompilato nelle Releases. I layout delle strutture sono identici alla build CN; differiscono solo gli indirizzi dei simboli. Il layout dello stack frame corrisponde a quello dello Xiaomi 17 (pudding) verificato funzionante.

Da usare solo sul proprio dispositivo. La vulnerabilità è pubblica (divulgazione imposta da kernelCTF); questo port esiste affinché i possessori della variante globale possano effettuare il root sui propri telefoni.

Esclusione di responsabilità / Disclaimer

Solo per ricerca di sicurezza autorizzata sui propri dispositivi. For authorized security research on your own devices only. Nessun risultato è garantito; l'uso è a proprio rischio.

Scarica lo strumento