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
hp-slate7-root-kit — Kit de root para HP Slate 7 2800 com Android 4.1.1 usando CVE-2015-1805. | Kitploit
Ferramentas/GitHubGitHub/valentineus/hp-slate7-root-kit
Segurança AndroidEscalada de PrivilégiosMecanismos de PersistênciaAnálise de VulnerabilidadesExploraçãoPós-ExploraçãoSegurança MóvelDesenvolvimento de PayloadsExploração de Binários
GitHubvalentineus/hp-slate7-root-kit

hp-slate7-root-kit

136há 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

Kit de root para HP Slate 7 2800 com Android 4.1.1 usando CVE-2015-1805.

Ver Repositório

Root para o HP Slate 7 2800 no Android 4.1.1

English | Русский

Este repositório contém um kit completo e autossuficiente para obter acesso root persistente no HP Slate 7 2800 executando o firmware 1.05.18 e o kernel Linux 3.0.8+ por meio da exploração da vulnerabilidade local CVE-2015-1805. O kit foi executado no tablet real e o resultado foi verificado a partir de uma nova sessão ADB e após uma reinicialização normal.

Este não é uma ferramenta universal de root para Android. O exploit é específico para esta configuração de kernel da HP. Não o execute em um modelo, firmware ou versão de kernel diferente.

Configuração verificada

ParâmetroValor verificado
Fabricante e modeloHP Slate 7 2800
Android4.1.1, API 16, build JRO03H
Produto / dispositivot7h / pine
ProcessadorRockchip RK3066, ARMv7
Impressão digital da compilaçãohp/t7h/pine:4.1.1/JRO03H/v1.05.18_user:user/release-keys
Kernel3.0.8+ #13 SMP PREEMPT Tue Jul 28 15:24:30 CST 2015
ABI32-bit ARM EABI5
SELinuxnão presente na configuração do kernel (CONFIG_SECURITY está desativado)
Partição /systemext4, montada somente leitura por padrão

Você pode inspecionar o dispositivo sem fazer qualquer alteração:

adb devices -l
adb shell getprop ro.product.model
adb shell getprop ro.build.fingerprint
adb shell getprop ro.build.version.sdk
adb shell cat /proc/version

Alternativamente, use o script abaixo. Ele se recusará a continuar se a impressão digital ou a versão do kernel não corresponder:

./scripts/check-target.sh
./scripts/check-target.sh ADB_SERIAL

Conteúdo do repositório

.
├── bin/
│   ├── hp-slate7-cve-2015-1805-root  # verified exploit
│   ├── hp-slate7-install-root        # installs su into /system
│   └── hp-slate7-su                  # minimal setuid-root wrapper
├── src/
│   ├── exploit/                      # CVE source and device-specific changes
│   ├── installer/install-root.c      # installer source
│   └── su/rootsh.S                   # minimal su source
├── scripts/
│   ├── build.sh                      # rebuilds all three ELF files
│   ├── check-target.sh               # safe compatibility check
│   └── root-device.sh                # verifies, uploads, and runs the kit
├── SHA256SUMS                        # hashes of the verified bin/* files
├── NOTICE                            # attribution for the original PoC
└── LICENSE                           # GPL-3.0

Formatos e finalidades dos arquivos

ArquivoFormatoTamanhoFinalidade
bin/hp-slate7-cve-2015-1805-rootELF 32-bit ARM EABI5, static, unstripped2,722,320 bytesExplora a CVE, obtém uid 0 e inicia o instalador
bin/hp-slate7-install-rootELF 32-bit ARM EABI5, static, stripped22,596 bytesRemonta temporariamente /system como rw, instala o su e restaura ro
bin/hp-slate7-suELF 32-bit ARM EABI5, static, stripped656 bytesChama setresgid(0,0,0) e setresuid(0,0,0) e, em seguida, inicia /system/bin/sh

Checksums SHA-256 dos binários verificados:

6bf8ea09efb9f409dfc7aa5efbc3108e5c1a19fc5b07ae913328ef4639a7644f  bin/hp-slate7-cve-2015-1805-root
4857c71efc846636afc5b50d7f3c971c6eb68d3760f652086f2a38c5dc50bc4a  bin/hp-slate7-install-root
40626e555f71b71aa5ef7a727e9f6be55e552ef998ae3f49e9390f3e213c610e  bin/hp-slate7-su

Verificação no macOS:

shasum -a 256 -c SHA256SUMS

Verificação no Linux:

sha256sum -c SHA256SUMS

Use os arquivos de bin/ no tablet: estes são exatamente os bytes verificados no dispositivo. O diretório build/ destina-se a recompilações locais e não é rastreado pelo Git.

Vulnerabilidade utilizada

CVE-2015-1805 é uma falha nas implementações de pipe_read() e pipe_write() de kernels Linux mais antigos. Quando uma cópia atômica falha, o código continua incorretamente percorrendo o array iovec, potencialmente movendo um ponteiro para além dos seus limites. Como resultado, um processo local sem privilégios pode corromper memória, derrubar o kernel ou aumentar seus privilégios. Uma explicação detalhada do mecanismo foi publicada em oss-security. As correções podem ser encontradas, entre outros lugares, nos commits do Linux upstream 637b58c e f0d1bec.

O kernel 3.0.8+ do tablet mostrou-se vulnerável. Antes de modificar a memória do kernel, a mesma corrida foi testada separadamente com uma sonda inofensiva cujos dois alvos de escrita estavam ambos localizados na memória comum do processo de teste. Ela relatou CVE-2015-1805: VULNERABLE, e o tablet permaneceu acessível via ADB.

Cadeia de escalonamento de privilégios

  1. O exploit cria uma corrida entre readv(), alterações no mapeamento de memória e o processamento de um grande array iovec no código de pipe vulnerável do kernel.
  2. A primitiva de escrita resultante substitui temporariamente a entrada não utilizada 222 em sys_call_table pelo endereço de um pequeno trampolim ARM no processo do exploit.
  3. O endereço da tabela é calculado por meio do vetor alto em 0xffff0008. No dispositivo verificado, a instrução é 0xe59ff410, e seu literal aponta para vector_swi = 0xc04d0d40.
  4. vector_swi e sys_call_table foram montados de forma independente a partir do arquivo oficial do kernel HP Open Source 1.05.10 (SHA-256 do arquivo: dd69f0468973714fd9ba22cdfea7e96f39f651ee51b9cb537728d9dcadbafda2) com o defconfig rk30_t7h_dvt_defconfig. Seu deslocamento é 0xc4. O firmware instalado não possui OABI nem seccomp, portanto o endereço final da tabela em tempo de execução é 0xc04d0e04.
  5. O trampolim consiste em exatamente seis instruções ARM. Ele obtém o sp atual, o alinha ao tamanho da pilha do kernel de 8.192 bytes e escreve -1 apenas em thread_info.addr_limit no deslocamento 8. Ele não contém chamadas externas, prólogo ou código de runtime do compilador.
  6. Imediatamente após o retorno da syscall temporária, a entrada 222 é restaurada a partir da entrada 223. Ambas as entradas são sys_ni_syscall no código-fonte da HP; o ponteiro restaurado no kernel verificado é 0xc051900c.
  7. Depois que addr_limit é ampliado, a cópia via pipe lê a task_struct atual, localiza cred e valida a estrutura usando os valores atuais de uid/gid, alinhamento, contagem de referências e a condição real_cred == cred. Somente após essas verificações os valores de uid/gid são zerados e as máscaras de capacidade são preenchidas com uns.
  8. O processo obtém uid=0 e inicia /data/local/tmp/install-root. O instalador remonta /system como rw, copia o payload para /system/xbin/su, atribui o proprietário root:root e o modo 06755, chama sync() e remonta /system somente leitura.

A função original current_thread_info() dos cabeçalhos antigos do kernel era incompatível com o Clang moderno em -O0: um protótipo inicial lia uma palavra não inicializada em vez do registrador sp e poderia derrubar o kernel. Neste repositório, ela foi substituída por um trampolim ARM naked verificado. O binário inicial não está incluído no repositório.

Software necessário

Para usar os arquivos prontos de bin/

  • um computador com macOS ou Linux; Windows também é possível com um driver USB ADB adequado, mas este procedimento foi verificado no macOS;
  • adb das Android SDK Platform Tools;
  • um cabo USB de dados em funcionamento;
  • depuração USB habilitada e a chave RSA do computador aceita no tablet.
Baixar ferramenta