Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
hp-slate7-root-kit — Kit de root pour HP Slate 7 2800 sous Android 4.1.1 utilisant CVE-2015-1805. | Kitploit
Outils/GitHubGitHub/valentineus/hp-slate7-root-kit
Sécurité AndroidEscalade de PrivilègesMécanismes de PersistanceAnalyse des VulnérabilitésExploitationPost-ExploitationSécurité MobileDéveloppement de Charges UtilesExploitation de Binaires
GitHubvalentineus/hp-slate7-root-kit

hp-slate7-root-kit

118il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Kit de root pour HP Slate 7 2800 sous Android 4.1.1 utilisant CVE-2015-1805.

Voir le dépôt

Root pour la HP Slate 7 2800 sous Android 4.1.1

Anglais | Русский

Ce dépôt contient un kit complet et autonome permettant d'obtenir un accès root persistant sur la HP Slate 7 2800 fonctionnant sous le firmware 1.05.18 et le noyau Linux 3.0.8+, en exploitant la vulnérabilité locale CVE-2015-1805. Le kit a été exécuté sur la tablette réelle, et le résultat a été vérifié depuis une nouvelle session ADB et après un redémarrage normal.

Ce n'est pas un outil de root Android universel. L'exploit est spécifique à cette configuration du noyau HP. Ne l'exécutez pas sur un autre modèle, un autre firmware ou une autre version de noyau.

Configuration vérifiée

ParamètreValeur vérifiée
Fabricant et modèleHP Slate 7 2800
Android4.1.1, API 16, build JRO03H
Produit / appareilt7h / pine
ProcesseurRockchip RK3066, ARMv7
Empreinte de buildhp/t7h/pine:4.1.1/JRO03H/v1.05.18_user:user/release-keys
Noyau3.0.8+ #13 SMP PREEMPT Tue Jul 28 15:24:30 CST 2015
ABIARM EABI5 32 bits
SELinuxnon présent dans la configuration du noyau (CONFIG_SECURITY est désactivé)
Partition /systemext4, montée en lecture seule par défaut

Vous pouvez inspecter l'appareil sans rien modifier :

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

Vous pouvez également utiliser le script ci-dessous. Il refusera de continuer si l'empreinte de build ou la version du noyau ne correspond pas :

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

Contenu du dépôt

.
├── 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

Formats de fichiers et rôles

FichierFormatTailleRôle
bin/hp-slate7-cve-2015-1805-rootELF 32-bit ARM EABI5, static, unstripped2,722,320 octetsExploite la CVE, obtient l'uid 0 et lance l'installateur
bin/hp-slate7-install-rootELF 32-bit ARM EABI5, static, stripped22,596 octetsRemonte temporairement /system en rw, installe su et restaure le mode ro
bin/hp-slate7-suELF 32-bit ARM EABI5, static, stripped656 octetsAppelle setresgid(0,0,0) et setresuid(0,0,0), puis lance /system/bin/sh

Sommes de contrôle SHA-256 des binaires vérifiés :

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

Vérification sur macOS :

shasum -a 256 -c SHA256SUMS

Vérification sur Linux :

sha256sum -c SHA256SUMS

Utilisez les fichiers de bin/ sur la tablette : ce sont exactement les octets qui ont été vérifiés sur l'appareil. Le répertoire build/ est destiné aux reconstructions locales et n'est pas suivi par Git.

Vulnérabilité utilisée

CVE-2015-1805 est un défaut dans les implémentations de pipe_read() et pipe_write() des anciens noyaux Linux. Lorsqu'une copie atomique échoue, le code continue incorrectement de parcourir le tableau iovec, ce qui peut déplacer un pointeur au-delà de ses limites. Par conséquent, un processus local non privilégié peut corrompre la mémoire, faire planter le noyau ou élever ses privilèges. Une explication détaillée du mécanisme a été publiée sur oss-security. Les correctifs se trouvent, entre autres, dans les commits Linux amont 637b58c et f0d1bec.

Le noyau 3.0.8+ de la tablette s'est révélé vulnérable. Avant de modifier la mémoire du noyau, la même course a été testée séparément avec une sonde inoffensive dont les deux cibles d'écriture étaient toutes deux situées dans la mémoire ordinaire du processus de test. Elle a rapporté CVE-2015-1805: VULNERABLE, et la tablette est restée accessible via ADB.

Chaîne d'élévation de privilèges

  1. L'exploit crée une course entre readv(), les changements de mappage mémoire et le traitement d'un grand tableau iovec dans le code vulnérable des pipes du noyau.
  2. La primitive d'écriture obtenue remplace temporairement l'entrée inutilisée 222 de sys_call_table par l'adresse d'une petite trampoline ARM dans le processus de l'exploit.
  3. L'adresse de la table est calculée via le vecteur haut à 0xffff0008. Sur l'appareil vérifié, l'instruction est 0xe59ff410 et sa valeur littérale pointe vers vector_swi = 0xc04d0d40.
  4. vector_swi et sys_call_table ont été assemblés indépendamment à partir de l'archive officielle du noyau Open Source HP 1.05.10 (SHA-256 de l'archive : dd69f0468973714fd9ba22cdfea7e96f39f651ee51b9cb537728d9dcadbafda2) avec la defconfig rk30_t7h_dvt_defconfig. Leur décalage est 0xc4. Le firmware installé ne comporte ni OABI ni seccomp, si bien que l'adresse d'exécution finale de la table est 0xc04d0e04.
  5. La trampoline est composée d'exactement six instructions ARM. Elle récupère le sp courant, l'aligne sur la taille de pile noyau de 8 192 octets et écrit -1 uniquement dans thread_info.addr_limit au décalage 8. Elle ne contient aucun appel externe, prologue ni code runtime du compilateur.
  6. Immédiatement après le retour de l'appel système temporaire, l'entrée 222 est restaurée depuis l'entrée 223. Les deux entrées correspondent à sys_ni_syscall dans la source HP ; le pointeur restauré sur le noyau vérifié est 0xc051900c.
  7. Une fois addr_limit élargi, la copie par pipe lit le task_struct courant, localise cred et valide la structure à l'aide des valeurs uid/gid courantes, de l'alignement, du compteur de références et de la condition real_cred == cred. Ce n'est qu'après ces vérifications que les valeurs uid/gid sont mises à zéro et les masques de capacités remplis de uns.
  8. Le processus obtient uid=0 et lance /data/local/tmp/install-root. L'installateur remonte /system en rw, copie la charge utile vers /system/xbin/su, attribue la propriété root:root et le mode 06755, appelle sync() et remonte /system en lecture seule.

La fonction d'origine current_thread_info() des anciens en-têtes du noyau était incompatible avec Clang moderne à -O0 : un prototype précoce lisait un mot non initialisé au lieu du registre sp et pouvait faire planter le noyau. Dans ce dépôt, elle a été remplacée par une trampoline ARM nue vérifiée. Le binaire précoce n'est pas inclus dans le dépôt.

Logiciels requis

Pour utiliser les fichiers prêts à l'emploi de bin/

Télécharger l’outil