Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ghostlock-myron-tw — GhostLock (CVE-2026-43499) port do exploit de kernel para o firmware taiwanês do REDMI K90 Pro Max (myron, WPMTWXM) — offsets, guia de compilação, binário pré-compilado | Kitploit
Ferramentas/GitHubGitHub/jason5545/ghostlock-myron-tw
Segurança AndroidEscalada de PrivilégiosExploraçãoEngenharia ReversaSegurança MóvelExploração de Binários
GitHubjason5545/ghostlock-myron-tw

ghostlock-myron-tw

GhostLock (CVE-2026-43499) port do exploit de kernel para o firmware taiwanês do REDMI K90 Pro Max (myron, WPMTWXM) — offsets, guia de compilação, binário pré-compilado

Ver Repositório
5há 2 mesesAinda não revisado

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

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

Port do exploit de kernel GhostLock (CVE-2026-43499) para o firmware global/Taiwan do POCO F8 Ultra / REDMI K90 Pro Max (codename myron, Snapdragon 8 Elite Gen 5 / SM8850).

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

Resumo em inglês abaixo / 下方有英文摘要。


Por que este port é necessário

Mesmo celular, mesmo codename, mas o kernel da versão internacional/Taiwan (WPMTWXM, ou seja, POCO F8 Ultra) e da versão da China continental (WPMCNXM) não é o mesmo binário:

ROMkernel releaseHorário de compilação
Versão de Taiwan 3.0.1.0.WPMTWXM...-ga5f232d1ead0-ab14083253-4k2025-09-11
Versão de Taiwan 3.0.6.0.WPMTWXM...-g5a0e85dd9db0-ab14499855-4k2025-11-26
Versão da China continental 3.0.306/308.WPMCNXM...-g16e473de48a3-abogki462654244-4k2025-11-19
  • A versão continental (陸版) acompanha o branch oficial GKI do Google (abogki*); a versão de Taiwan (臺版) usa o branch de integração próprio da Xiaomi
  • Os commits git dos dois lados são diferentes, a config difere em 7 opções e tudo é compilado com +pgo +bolt +lto — qualquer diferença de código embaralha completamente o layout de símbolos
  • Teste real: init_task/init_cred diferem em 0x10000, selinux_state difere em 0x120c8 (deslocamento não fixo)

Exploits data-only como o GhostLock exigem os endereços exatos dessa compilação, portanto todos os payloads calculados para a versão da China continental são totalmente inválidos nas versões internacionais. Este repositório é justamente para suprir a tabela de offsets que falta nas versões internacionais.

Conteúdo

  • offsets/myron_tw/offsets.h — target completo da versão TW 3.0.6.0 (para uso com JoinChang/ghostlock-oneplus)
  • scripts/device_step1.sh — script de backup da ABL após root + gravação do unlock EFI
  • Em Releases há o binário ghostlock já compilado (arm64)

Resultados de análise já verificados

  1. Correção da extração estática de kallsyms: verificação cruzada relendo o binário com base em _text — init_task.comm="swapper", init_cred.usage=4, init_uts_ns.release idêntico ao uname caractere por caractere. É possível obter offsets confiáveis sem root no dispositivo real.
  2. O layout das structs é idêntico ao da versão da China continental (verificado via BTF): task_struct 5184 bytes, cred@0x900, pi_blocked_on@0xA18 etc., consistente com o STRUCT_OFFSETS_6_12 upstream.
  3. Viabilidade da configuração de pilha: futex_wait_requeue_pi (frame 0x1c0, waiter@sp+0x80) e core_sys_select (frame 0x1b0, stack_fds@sp+0x18) são idênticos ao Xiaomi 17 (pudding) já verificados como viáveis → PSELECT_SHIFT=0.
  4. selinux_state.enforcing está em +0, policycap em +2; uma escrita de byte único não corrompe o policycap.
  5. Rust ashmem → apenas o Path B (escrita PI direta) é utilizável; o Path A (UMH) não é utilizável.

Compilação

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

Uso

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
  • 成功 → root shell + SELinux permissive(軟 root,重開機失效)
  • 失敗重開機 = 沒搶到時序,重跑;連續 panic 可試 PSELECT_SHIFT=-1 等微調
  • 不要讓裝置 OTA——更新後核心更換,偏移即失效,且新版可能已修補漏洞

後續(BL 解鎖)

國際版機在 root 之後可以走 ABL 替換法解鎖(不需要官方名額):備份 abl_a/b → 刷入 unlock EFI → fastboot 刷出廠 ABL + spoof → 還原。出廠 ABL 從自己手上的 臺版 3.0.1.0 ROM 的 abl.img 取得(本 repo 不放小米專有韌體檔案)。 scripts/device_step1.sh 是這個流程的手機端部分。此流程不清使用者資料。

移植到其他區域版本(MIXM / EUXM / INXM…)

Este repo cobre apenas WPMTWXM. A Xiaomi compila o kernel separadamente para cada branch regional, e os offsets não podem ser compartilhados — mas o método pode. Em tools/ estão as três ferramentas que realmente usamos para gerar o target da versão de Taiwan:

# 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: extrai kallsyms, calcula todos os offsets e relê init_task.comm / init_cred.usage / init_uts_ns.release para fazer verificação cruzada — se não passar, não use
  • check_btf.py: lê do BTF embutido no kernel os offsets dos campos de task_struct/cred/selinux_state e compara item por item com STRUCT_OFFSETS_6_12
  • check_feasibility.py: desmonta a alocação de frame de futex_wait_requeue_pi e core_sys_select e compara com kernels sabidamente viáveis (requer pip install capstone)

As três passaram, a tua versão provavelmente funciona. Sê bem-vindo a enviar um PR com o target da nova versão da região para o adicionar.

Agradecimentos

  • Nebula Security — pesquisa original e PoC do GhostLock
  • JoinChang/ghostlock-oneplus — base deste port
  • Diversas experiências de portabilidade da comunidade Coolapk

English Summary

O firmware global do POCO F8 Ultra (REDMI K90 Pro Max) traz um build de kernel diferente do firmware CN (branch, config e layout PGO/BOLT diferentes), portanto todos os offsets do GhostLock publicados pela comunidade — calculados em kernels ogki CN — não se aplicam em dispositivos globais. Este repositório fornece os offsets de destino que faltavam para OS3.0.6.0.WPMTWXM (6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k), extraídos estaticamente do pacote OTA oficial e validados de forma cruzada (kallsyms + BTF + leituras na imagem), além de um binário pré-compilado em Releases. Os layouts das structs são idênticos ao build CN; apenas os endereços dos símbolos diferem. O layout do stack frame corresponde ao Xiaomi 17 (pudding) verificado como funcional.

Use apenas no seu próprio dispositivo. A vulnerabilidade é pública (divulgação exigida pelo kernelCTF); este port existe para que proprietários da variante global possam fazer root nos próprios telefones.

Isenção de responsabilidade / Disclaimer

Apenas para pesquisa de segurança autorizada em dispositivos próprios. For authorized security research on your own devices only. Nenhum resultado é garantido; use por sua conta e risco.

Baixar ferramenta