Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
hp-slate7-root-kit — Kit de root para HP Slate 7 2800 con Android 4.1.1 usando CVE-2015-1805. | Kitploit
Herramientas/GitHubGitHub/valentineus/hp-slate7-root-kit
Seguridad AndroidEscalada de PrivilegiosMecanismos de PersistenciaAnálisis de VulnerabilidadesExplotaciónPost-ExplotaciónSeguridad MóvilDesarrollo de PayloadsExplotación de Binarios
GitHubvalentineus/hp-slate7-root-kit

hp-slate7-root-kit

136hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

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

Ver Repositorio

Root para HP Slate 7 2800 en Android 4.1.1

English | Русский

Este repositorio contiene un kit completo e independiente para obtener acceso root persistente en la HP Slate 7 2800 con firmware 1.05.18 y kernel Linux 3.0.8+ mediante la explotación de la vulnerabilidad local CVE-2015-1805. El kit se ejecutó en la tableta real y el resultado se verificó desde una sesión ADB nueva y después de un reinicio normal.

Esta no es una herramienta universal de root para Android. El exploit es específico de esta configuración de kernel de HP. No lo ejecute en un modelo, firmware o versión de kernel diferentes.

Configuración verificada

ParámetroValor verificado
Fabricante y modeloHP Slate 7 2800
Android4.1.1, API 16, build JRO03H
Producto / dispositivot7h / pine
ProcesadorRockchip RK3066, ARMv7
Huella de compilaciónhp/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
SELinuxno presente en la configuración del kernel (CONFIG_SECURITY está deshabilitado)
Partición /systemext4, montada de solo lectura de forma predeterminada

Puede inspeccionar el dispositivo sin realizar ningún cambio:

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 el siguiente script. Se negará a continuar si la huella de compilación o la versión del kernel no coinciden:

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

Contenido del repositorio

.
├── 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 de archivo y propósitos

ArchivoFormatoTamañoPropósito
bin/hp-slate7-cve-2015-1805-rootELF 32-bit ARM EABI5, estático, sin depurar2,722,320 bytesExplota la CVE, obtiene uid 0 e inicia el instalador
bin/hp-slate7-install-rootELF 32-bit ARM EABI5, estático, depurado22,596 bytesVuelve a montar temporalmente /system en rw, instala su y restaura ro
bin/hp-slate7-suELF 32-bit ARM EABI5, estático, depurado656 bytesLlama a setresgid(0,0,0) y setresuid(0,0,0), y luego lanza /system/bin/sh

Sumas de verificación SHA-256 de los binarios verificados:

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

Verificación en macOS:

shasum -a 256 -c SHA256SUMS

Verificación en Linux:

sha256sum -c SHA256SUMS

Use los archivos de bin/ en la tableta: son los bytes exactos que se verificaron en el dispositivo. El directorio build/ está pensado para recompilaciones locales y no está rastreado por Git.

Vulnerabilidad utilizada

CVE-2015-1805 es una falla en las implementaciones de pipe_read() y pipe_write() de los kernels de Linux más antiguos. Cuando una copia atómica falla, el código continúa incorrectamente recorriendo el arreglo iovec, lo que potencialmente mueve un puntero más allá de sus límites. Como resultado, un proceso local sin privilegios puede corromper memoria, bloquear el kernel o escalar sus privilegios. Se publicó una explicación detallada del mecanismo en oss-security. Las correcciones se pueden encontrar, entre otros lugares, en los commits de Linux ascendentes 637b58c y f0d1bec.

El kernel 3.0.8+ de la tableta resultó vulnerable. Antes de modificar la memoria del kernel, la misma condición de carrera se probó por separado con una sonda inofensiva cuyos dos objetivos de escritura estaban ubicados en la memoria ordinaria del proceso de prueba. Informó CVE-2015-1805: VULNERABLE y la tableta permaneció accesible a través de ADB.

Cadena de escalada de privilegios

  1. El exploit crea una condición de carrera entre readv(), los cambios de mapeo de memoria y el procesamiento de un arreglo iovec grande en el código de pipe vulnerable del kernel.
  2. La primitiva de escritura resultante reemplaza temporalmente la entrada no utilizada 222 en sys_call_table con la dirección de un pequeño trampolín ARM en el proceso del exploit.
  3. La dirección de la tabla se calcula mediante el vector alto en 0xffff0008. En el dispositivo verificado, la instrucción es 0xe59ff410 y su literal apunta a vector_swi = 0xc04d0d40.
  4. vector_swi y sys_call_table se ensamblaron de forma independiente a partir del archivo de kernel de código abierto oficial de HP 1.05.10 (SHA-256 del archivo: dd69f0468973714fd9ba22cdfea7e96f39f651ee51b9cb537728d9dcadbafda2) con el defconfig rk30_t7h_dvt_defconfig. Su desplazamiento es 0xc4. El firmware instalado no tiene ni OABI ni seccomp, por lo que la dirección final en tiempo de ejecución de la tabla es 0xc04d0e04.
  5. El trampolín consta de exactamente seis instrucciones ARM. Obtiene el sp actual, lo alinea al tamaño de pila del kernel de 8192 bytes y escribe -1 únicamente en thread_info.addr_limit en el desplazamiento 8. No contiene llamadas externas, prólogo ni código de tiempo de ejecución del compilador.
  6. Inmediatamente después de que la syscall temporal regresa, la entrada 222 se restaura desde la entrada 223. Ambas entradas son sys_ni_syscall en el código fuente de HP; el puntero restaurado en el kernel verificado es 0xc051900c.
  7. Una vez que se ha ampliado addr_limit, la copia de pipe lee el task_struct actual, localiza cred y valida la estructura mediante los valores uid/gid actuales, la alineación, el recuento de referencias y la condición real_cred == cred. Solo después de estas comprobaciones los valores uid/gid se ponen a cero y las máscaras de capacidades se rellenan con unos.
  8. El proceso obtiene uid=0 y lanza /data/local/tmp/install-root. El instalador vuelve a montar /system en rw, copia la carga útil a /system/xbin/su, asigna la propiedad root:root y el modo 06755, llama a sync() y vuelve a montar /system en modo de solo lectura.

La función original current_thread_info() de los encabezados antiguos del kernel era incompatible con el Clang moderno en -O0: un prototipo inicial leía una palabra no inicializada en lugar del registro sp y podía bloquear el kernel. En este repositorio se ha reemplazado con un trampolín ARM naked verificado. El binario inicial no está incluido en el repositorio.

Software necesario

Para usar los archivos listos de bin/

Descargar herramienta