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-a17 — Exploit de kernel para CVE-2026-43499 no Samsung Galaxy A17 que alcança root via bypass de KDP, recuperação de KASLR e execução de workqueue forjada com shell persistente. | Kitploit
Ferramentas/GitHubGitHub/mobilehackinglab/ghostlock-a17
Segurança AndroidEscalada de PrivilégiosMecanismos de PersistênciaExploraçãoPós-ExploraçãoSegurança MóvelExploração de Binários
GitHubmobilehackinglab/ghostlock-a17

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-a17

Exploit de kernel para CVE-2026-43499 no Samsung Galaxy A17 que alcança root via bypass de KDP, recuperação de KASLR e execução de workqueue forjada com shell persistente.

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

GhostLock — CVE-2026-43499 no Samsung Galaxy A17

Cadeia completa de exploit de usuário para root para CVE-2026-43499 ("GhostLock") no Samsung Galaxy A17 SM-A175F, executando Android 16 / GKI 6.12.

A cadeia começa a partir das primitivas públicas do GhostLock e termina com um usermode helper executando como:

uid=0(root) gid=0(root) groups=0(root)
context=u:r:kernel:s0

Ele também inicia um shell root persistente por boot através de g4d / g4sh e encerra sem um kernel panic.

📖 Análise técnica completa:
https://www.mobilehackinglab.com/blog/cve-2026-43499-ghostlock-a17-root-shell

Nota de pesquisa

Não descobrimos a CVE-2026-43499. O crédito pela vulnerabilidade original e pela pesquisa IonStack é da Nebula Security.

Este repositório documenta o nosso port independente para o Samsung Galaxy A17, as alterações necessárias para as proteções do kernel da Samsung e uma nova etapa final de exploração.

Apenas para fins de pesquisa de segurança autorizada e educacionais.


Alvo

CVECVE-2026-43499 — "ghostlock"
DispositivoSamsung Galaxy A17 (SM-A175F, mt6789)
GPUMali-G57
Kernel6.12.23-android16-5-abA175FXXS3BZA5-4k
Resultadouid=0(root) / u:r:kernel:s0
Shell rootdaemon g4d + cliente g4sh
PersistênciaPor boot
Saída do exploitLimpa, sem kernel panic
Mitigações encontradasSamsung KDP, DEFEX, SELinux, PANIC_ON_OOPS, arm64 KASLR
Firmware suportadoA175FXXS3BZA5 (kernel 6.12.23) e A175FXXS6CZG1 (kernel 6.12.38, SPL 2026-07-05) — ambos verificados no dispositivo, mesma cadeia

O que torna este port diferente?

A pesquisa original do ghostlock fornece as primitivas de entrada:

pselect reclaim
      ↓
fake rt_mutex_waiter
      ↓
constrained rb-tree pointer write

No Galaxy A17, porém, o desfecho padrão de correção de credenciais não funciona.

O Samsung KDP bloqueia a escrita usual de credenciais

O KDP protege dados do kernel relacionados a credenciais no EL2.

Nesta build, as tentativas de modificar as credenciais da task foram silenciosamente descartadas mesmo quando os endereços de destino estavam corretos.

Assim, em vez de escrever credenciais de root, esta port faz o kernel executar com credenciais privilegiadas existentes.

Novo desfecho: execução forjada de workqueue

O estágio final:

constrained kernel write
        ↓
physical read/write channel
        ↓
KASLR slide recovery
        ↓
discover system_wq / cpu_pwq
        ↓
forge work_struct
        ↓
call_usermodehelper_exec_work
        ↓
/system/bin/sh
        ↓
uid=0(root), u:r:kernel:s0

Um item de trabalho forjado é colocado em um pool system_wq vinculado e acionado com uma tempestade de alocação/liberação de ptmx.

O helper em modo usuário resultante é executado com credenciais de init.

Não é necessária a sobrescrita de credenciais de tarefa.


Cadeia de exploração

userspace shell (uid 2000)
        │
        ▼
pselect / PI-futex primitive
        │
        ▼
constrained aligned kernel pointer write
        │
        ▼
forged pipe_buffer channel
        │
        ▼
arbitrary physical read/write
        │
        ├── recover KASLR slide
        │
        ├── locate system_wq / cpu_pwq
        │
        └── prepare forged work_struct
        │
        ▼
queue usermode-helper work
        │
        ▼
ptmx storm wakes worker
        │
        ▼
/system/bin/sh runs with init creds
        │
        ▼
uid=0(root)
        │
        ▼
g4d → @ghostlockd → g4sh

Principais mudanças de engenharia

Em comparação com o port público do OnePlus, a maioria dos estágios após a primitiva de escrita inicial foi reformulada.

1. Novo estágio de root compatível com KDP

O desfecho de patching de credenciais foi substituído por um item de workqueue forjado direcionado ao caminho de execução do usermode-helper.

Isso evita escrever inteiramente em estruturas cred protegidas.

2. Novo oráculo de slide de KASLR

A abordagem anterior de ancoragem por perf-event era não confiável neste dispositivo.

Em vez disso, o exploit usa três ponteiros deslizados da entrada ctl_table de boot_id:

procname
data
proc_handler

Todos os três são validados de forma cruzada antes de aceitar o slide.

3. Descoberta da workqueue em tempo de execução

cpu_pwq é descoberto percorrendo:

system_wq → pwqs

em vez de depender de um deslocamento fixo específico do dispositivo.

4. Saída limpa do exploit

O canal original deixa alterações colaterais no estado de struct page que podem acionar PANIC_ON_OOPS durante o encerramento.

A cadeia atual evita a falha no encerramento e foi demonstrada saindo de forma limpa após obter root.

5. Shell root

O auxiliar de modo usuário inicia:

g4d

que escuta no socket Unix abstrato:

@ghostlockd

g4sh conecta-se a ele e fornece uma shell root interativa ou execução de comando único.

/data/local/tmp/a/g4sh
/data/local/tmp/a/g4sh -c "id"

Por que o Galaxy A17 é interessante

Este alvo combina várias proteções que quebram técnicas comuns de exploração do kernel Android:

  • Samsung KDP — protege dados do kernel relacionados a credenciais no EL2
  • DEFEX — restringe a execução privilegiada a partir de caminhos não confiáveis
  • SELinux
  • PANIC_ON_OOPS / PANIC_ON_BUG
  • Grandes deslocamentos de KASLR no arm64
  • Primitiva de escrita restrita apenas a ponteiros

Isso forçou uma estratégia de exploração diferente da usual:

arbitrary RW → patch cred → disable SELinux

Em vez disso:

arbitrary RW → recover runtime state → forge kernel work → execute usermode helper

Compilação

Requer um Android NDK recente.

make        # BZA5 firmware (kernel 6.12.23)
make czg1   # CZG1 firmware (kernel 6.12.38): per-target slide anchors,
            # offsets are uname-keyed at runtime

Produz:

ghostlock   # exploit (ghostlock-czg1 for the CZG1 build)
g4d         # static root-shell daemon
g4sh        # root-shell client

Executar

Envie os binários:

adb push ghostlock /data/local/tmp/a/g4
adb push g4d /data/local/tmp/a/g4d
adb push g4sh /data/local/tmp/a/g4sh

adb shell 'chmod 755 /data/local/tmp/a/g4 /data/local/tmp/a/g4d /data/local/tmp/a/g4sh'

Execute o loop de exploit com reconhecimento de reinicialização:

./scripts/rr_loop4.sh

Após ROOTED:

adb shell /data/local/tmp/a/g4sh

Ou execute um único comando:

adb shell '/data/local/tmp/a/g4sh -c "id"'

Resultado esperado:

uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0

Confiabilidade

A primitiva é probabilística e fortemente dependente das condições de boot.

A exploração bem-sucedida pode exigir tentativas repetidas. O script incluído rr_loop4.sh lida com novas tentativas e ciclos de reinicialização automaticamente.

Este é um exploit de pesquisa, não uma ferramenta de rooting instantânea de uso único.


Validação em QEMU

qemu-e2e/ contém um harness de validação ponta a ponta usando o kernel Samsung extraído.

O harness foi usado para testar:

  • alterações na cadeia de exploit
  • tratamento de KASLR
  • forja de workqueue
  • execução de usermode-helper
  • encerramento limpo do exploit
  • idas e voltas de g4d / g4sh

A imagem do kernel Samsung em si não está incluída.

Veja:

qemu-e2e/

para instruções de configuração.


Estrutura do repositório

Makefile
src/                  exploit source and device profiles
src/daemon/           g4d root daemon + g4sh client
docs/OFFSETS.md       validated device offsets
docs/PORTING.md       porting notes
examples/             proof-of-root artifacts
scripts/rr_loop4.sh   reboot-aware exploit loop
qemu-e2e/             end-to-end QEMU validation

Pesquisa relacionada

Baixar ferramenta