Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
hp-slate7-root-kit — Rooting-Kit für HP Slate 7 2800 mit Android 4.1.1 unter Verwendung von CVE-2015-1805. | Kitploit
Tools/GitHubGitHub/valentineus/hp-slate7-root-kit
Android-SicherheitPrivilege EscalationPersistenzmechanismenSchwachstellenanalyseExploitationPost-ExploitationMobile SicherheitPayload-EntwicklungBinary-Exploitation
GitHubvalentineus/hp-slate7-root-kit

hp-slate7-root-kit

Rooting-Kit für HP Slate 7 2800 mit Android 4.1.1 unter Verwendung von CVE-2015-1805.

137vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen

Root für das HP Slate 7 2800 unter Android 4.1.1

English | Русский

Dieses Repository enthält ein vollständiges, eigenständiges Kit zur Erlangung dauerhafter Root-Zugriffsrechte auf dem HP Slate 7 2800 mit Firmware 1.05.18 und Kernel Linux 3.0.8+ durch Ausnutzung der lokalen Schwachstelle CVE-2015-1805. Das Kit wurde auf dem tatsächlichen Tablet ausgeführt, und das Ergebnis wurde aus einer frischen ADB-Sitzung sowie nach einem normalen Neustart verifiziert.

Dies ist kein universelles Android-Rooting-Tool. Der Exploit ist spezifisch für diese HP-Kernel-Konfiguration. Führen Sie ihn nicht auf einem anderen Modell, einer anderen Firmware oder einer anderen Kernel-Version aus.

Verifizierte Konfiguration

ParameterVerifizierter Wert
Hersteller und ModellHP Slate 7 2800
Android4.1.1, API 16, Build JRO03H
Produkt / Gerätt7h / pine
ProzessorRockchip RK3066, ARMv7
Build-Fingerprinthp/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
SELinuxnicht in der Kernel-Konfiguration vorhanden (CONFIG_SECURITY ist deaktiviert)
/system-Partitionext4, standardmäßig schreibgeschützt eingehängt

Sie können das Gerät prüfen, ohne Änderungen vorzunehmen:

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

Alternativ verwenden Sie das folgende Skript. Es verweigert die Ausführung, wenn entweder der Fingerprint oder die Kernel-Version nicht übereinstimmt:

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

Repository-Inhalt

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

Dateiformate und Zwecke

DateiFormatGrößeZweck
bin/hp-slate7-cve-2015-1805-rootELF 32-Bit-ARM-EABI5, statisch, nicht gestrippt2.722.320 ByteNutzt die CVE aus, erlangt uid 0 und startet den Installer
bin/hp-slate7-install-rootELF 32-Bit-ARM-EABI5, statisch, gestrippt22.596 ByteHängt /system vorübergehend rw ein, installiert su und stellt ro wieder her
bin/hp-slate7-suELF 32-Bit-ARM-EABI5, statisch, gestrippt656 ByteRuft setresgid(0,0,0) und setresuid(0,0,0) auf und startet dann /system/bin/sh

SHA-256-Prüfsummen der verifizierten Binaries:

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

Überprüfung unter macOS:

shasum -a 256 -c SHA256SUMS

Überprüfung unter Linux:

sha256sum -c SHA256SUMS

Verwenden Sie auf dem Tablet die Dateien aus bin/: Es handelt sich um exakt die Bytes, die auf dem Gerät verifiziert wurden. Das Verzeichnis build/ ist für lokale Neubauten gedacht und wird nicht von Git verfolgt.

Verwendete Schwachstelle

CVE-2015-1805 ist ein Fehler in den pipe_read()- und pipe_write()-Implementierungen älterer Linux-Kernel. Wenn eine atomare Kopie fehlschlägt, fährt der Code fälschlicherweise mit dem Durchlaufen des iovec-Arrays fort und kann dabei einen Zeiger über dessen Grenzen hinaus verschieben. Dadurch kann ein lokaler Prozess ohne Privilegien Speicher beschädigen, den Kernel zum Absturz bringen oder seine Privilegien erweitern. Eine detaillierte Erklärung des Mechanismus wurde auf oss-security veröffentlicht. Die Korrekturen finden sich unter anderem in den Upstream-Linux-Commits 637b58c und f0d1bec.

Der 3.0.8+-Kernel des Tablets erwies sich als verwundbar. Vor der Änderung von Kernel-Speicher wurde dieselbe Race-Bedingung separat mit einer harmlosen Sonde getestet, deren beide Schreibziele sich im normalen Speicher des Testprozesses befanden. Sie meldete CVE-2015-1805: VULNERABLE, und das Tablet blieb über ADB erreichbar.

Kette zur Rechteausweitung

  1. Der Exploit erzeugt eine Race-Bedingung zwischen readv(), Änderungen am Speicher-Mapping und der Verarbeitung eines großen iovec-Arrays im verwundbaren Pipe-Code des Kernels.
  2. Die resultierende Schreib-Primitive ersetzt vorübergehend den ungenutzten Eintrag 222 in sys_call_table durch die Adresse eines kleinen ARM-Trampolins im Exploit-Prozess.
  3. Die Tabellenadresse wird über den High-Vektor bei 0xffff0008 berechnet. Auf dem verifizierten Gerät lautet die Instruktion 0xe59ff410, und ihr Literal zeigt auf vector_swi = 0xc04d0d40.
  4. vector_swi und sys_call_table wurden unabhängig aus dem offiziellen HP-Open-Source-Kernelarchiv 1.05.10 (Archiv-SHA-256: dd69f0468973714fd9ba22cdfea7e96f39f651ee51b9cb537728d9dcadbafda2) mit der Defconfig rk30_t7h_dvt_defconfig assembliert. Ihr Offset beträgt 0xc4. Die installierte Firmware besitzt weder OABI noch seccomp, daher lautet die endgültige Laufzeitadresse der Tabelle 0xc04d0e04.
  5. Das Trampolin besteht aus exakt sechs ARM-Instruktionen. Es ermittelt das aktuelle sp, richtet es an der Kernel-Stack-Größe von 8.192 Byte aus und schreibt -1 ausschließlich in thread_info.addr_limit an Offset 8. Es enthält keine externen Aufrufe, kein Prolog und keinen Compiler-Runtime-Code.
  6. Unmittelbar nachdem der temporäre Syscall zurückkehrt, wird Eintrag 222 aus Eintrag 223 wiederhergestellt. Beide Einträge sind im HP-Quellcode sys_ni_syscall; der auf dem verifizierten Kernel wiederhergestellte Zeiger ist 0xc051900c.
  7. Sobald addr_limit erweitert wurde, liest das Pipe-Kopieren das aktuelle task_struct, lokalisiert cred und validiert die Struktur anhand der aktuellen uid/gid-Werte, der Ausrichtung, des Referenzzählers und der Bedingung real_cred == cred. Erst nach diesen Prüfungen werden die uid/gid-Werte auf null gesetzt und die Capability-Masken mit Einsen gefüllt.
  8. Der Prozess erlangt uid=0 und startet /data/local/tmp/install-root. Der Installer hängt /system rw ein, kopiert die Nutzlast nach /system/xbin/su, setzt die Eigentümerschaft root:root und den Modus 06755, ruft sync() auf und hängt /system wieder schreibgeschützt ein.

Die ursprüngliche Funktion current_thread_info() aus den alten Kernel-Headern war mit modernem Clang bei -O0 inkompatibel: Ein früher Prototyp las anstelle des sp-Registers ein nicht initialisiertes Wort und konnte den Kernel zum Absturz bringen. In diesem Repository wurde sie durch ein verifiziertes nacktes ARM-Trampolin ersetzt. Das frühe Binary ist nicht im Repository enthalten.

Erforderliche Software

Zur Verwendung der vorgefertigten Dateien aus bin/

Tool herunterladen