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
android-hardware-attestation-demo — Ein Android-HW-Attestierungs-Demo | Kitploit
Tools/GitHubGitHub/quarkslab/android-hardware-attestation-demo
Android-SicherheitAuthentifizierung & AutorisierungMobile App-PenetrationstestsMobile SicherheitHardware-SicherheitLernen & Bildung
GitHubquarkslab/android-hardware-attestation-demo

android-hardware-attestation-demo

Ein Android-HW-Attestierungs-Demo

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
47651vor 1 MonatNoch nicht geprüft

Android-Hardware-Attestierungs-Bypass — Demo

Dieses Repository begleitet einen Quarkslab-Artikel über die Android-Hardware-Key-Attestierung und dient zu deren Veranschaulichung.

Es ist ein kleiner End-to-End-Proof-of-Concept, der einen einfachen Bypass zeigt: Ein Analyst auf einem gerooteten Telefon umgeht die Hardware-Attestierungsprüfung eines Backends, indem er die Attestierung an ein zweites, sauberes Gerät weiterleitet. Nichts wird gefälscht. Eine echte Attestierungskette, erzeugt von einem unveränderten Gerät und gebunden an den eigenen Nonce des Backends, wird anstelle der abgelehnten Kette des gerooteten Geräts weitergeleitet.

Umfang und Ethik. Dies ist Lehrmaterial für die Sicherheitsforschung. Es verwendet reines HTTP und deaktiviert absichtlich Sicherheitsprüfungen („nur zu Demo-Zwecken"-Markierungen durchgängig). Führen Sie es gegen Ihre eigenen Geräte und Ihr eigenes Backend in einem vertrauenswürdigen lokalen Netzwerk aus.

So funktioniert der Bypass

Die Keystore-Attestierung eines gerooteten Geräts meldet einen entsperrten Bootloader, weshalb das Backend sie ablehnt. Statt die Kryptografie anzugreifen, fängt der Analyst den Attestierungsaufruf der App ab und setzt eine Kette ein, die live von einem sauberen Gerät für dieselbe Challenge abgerufen wurde.

Der Hook ersetzt KeystoreAttestation.generateAttestedKey(challenge) in der Demo-App und ruft den lokalen Keystore nie auf, sodass die Kette des gerooteten Geräts nie erzeugt wird. Die weitergeleitete Kette ist echt und besteht die Verified-Boot- und hardwaregestützten Prüfungen des Backends.

Komponenten

Jede Komponente hat ein eigenes README mit allen Details; diese Datei führt sie zusammen.

Voraussetzungen

  • Zwei physische Geräte. Attestierung erfordert echte Hardware; Emulatoren liefern eine softwaregestützte Kette, die das Backend ablehnt.
    • Ein gerootetes „Analyse"-Gerät, auf dem frida-server 17.16.4 läuft, mit installierter Demo-App.
    • Ein sauberes, unverändertes Gerät mit installierter Attestierungsserver-App (gesperrter Bootloader, StrongBox oder TEE).
  • Ein Rechner im selben Netzwerk für das Backend (Python 3, Abhängigkeiten in backend/requirements.txt).
  • Ein JDK 17-21, um die beiden Android-Apps zu bauen, entweder aus Android Studio oder über die Kommandozeile mit dem Gradle-Wrapper (./gradlew assembleDebug).
  • Node 20 oder 22 LTS auf der Workstation nur, wenn Sie den Frida-Agenten neu bauen. Der kompilierte Agent (instrumentation/_agent.js) ist eingecheckt, ein Neubau ist also optional.
  • Alle drei (Geräte und Backend) müssen sich über das Netzwerk gegenseitig erreichen können.

End-to-End-Durchlauf

Starten Sie die Komponenten in dieser Reihenfolge.

  1. Backend. Auf einem Rechner, der von beiden Geräten erreichbar ist:

    root@kitploit:~
    cd backend
    pip install -r requirements.txt
    python3 attestation_backend.py      # listens on 0.0.0.0:8080
    
  2. Sauberes Gerät. Bauen und installieren Sie die Attestierungsserver-App, öffnen Sie sie, tippen Sie auf START SERVER und notieren Sie die angezeigte URL, z. B. http://192.168.1.42:8080.

  3. Gerootetes Gerät. Starten Sie frida-server, bauen und installieren Sie die Demo-App, öffnen Sie sie und geben Sie die Backend-Adresse ein (host:port).

    Beide Apps lassen sich aus Android Studio oder über die Kommandozeile mit dem Gradle-Wrapper bauen (./gradlew assembleDebug, JDK 17-21); die Details finden Sie im README der jeweiligen App.

  4. Weiterleitung. Auf der Workstation:

    root@kitploit:~
    cd instrumentation
    python3 control.py --host <clean-device-ip> --port 8080
    

    Der Controller startet die Demo-App, installiert den Hook und setzt sie anschließend fort.

  5. Auslösen. Tippen Sie in der Demo-App auf RUN ATTESTATION. Das Backend gibt gültig zurück: Die weitergeleitete Kette meldet einen gesperrten Bootloader.

  6. Negativkontrolle. Stoppen Sie control.py und tippen Sie erneut auf . Die Demo-App sendet nun die eigene Kette des gerooteten Geräts und das Backend lehnt sie ab. Genau diese Prüfung umgeht die Weiterleitung.

Den Agenten neu bauen (nur wenn Sie agent/agent.ts ändern):

root@kitploit:~
cd instrumentation
nvm use          # Node 22 from .nvmrc
npm install
npm run build    # regenerates _agent.js

Repository-Struktur

root@kitploit:~
apps/
  QuarkslabAttestationDemo/     target client app (Android Studio project)
  QuarkslabAttestationServer/   clean-device attestation oracle (Android Studio project)
instrumentation/                Frida agent + relay controller
backend/                        Python attestation validator
LICENSE                         MIT

Lizenz und Namensnennung

Copyright 2026 Quarkslab. Lizenziert unter der MIT-Lizenz. Siehe LICENSE.

Dieses Repository veranschaulicht einen Quarkslab-Artikel.

Tool herunterladen
KomponentePfadRolleLäuft auf
Demo-Clientapps/QuarkslabAttestationDemo/Ziel-App. Fordert einen Nonce an, attestiert, sendet die Kette an das Backend. Per Frida gehookt.Gerootetes Analysegerät
Attestierungsserverapps/QuarkslabAttestationServer/Attestierungs-Orakel. Erzeugt für einen gegebenen Nonce eine echte Kette. Validiert nichts.Sauberes, unverändertes Gerät
Instrumentierunginstrumentation/Frida-Agent (der Hook) plus der Controller, der den Nonce an das saubere Gerät weiterleitet.Analysten-Workstation + gerootetes Gerät
Backendbackend/Vertrauenspartei. Gibt Nonces aus und validiert Attestierungsketten.Beliebiges Gerät, das von den Geräten erreichbar ist
RUN ATTESTATION