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
Tools/GitHubGitHub/martinpsdev/cve-2026-0073-android-adbd-bypass-poc
Android-SicherheitSchwachstellenanalyseExploitationPenetrationstestsMobile SicherheitRed Teaming
GitHubmartinpsdev/cve-2026-0073-android-adbd-bypass-poc

CVE-2026-0073-Android-ADBD-bypass-POC

CVE-2026-0073 — Umgehung der TLS-Authentifizierung im Android-ADB-Daemon (adbd) durch Typverwechslung bei EVP_PKEY_cmp. Erlangen Sie unbefugten Shell-Zugriff über WLAN mithilfe von EC/Ed25519-Schlüsselabweichungen. PoC-Exploit für Android 14+.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
226vor 3 MonatenVon Kitploit geprüft

CVE-2026-0073 — Android ADBD TLS Auth Bypass

EVP_PKEY_cmp() Typverwechslung → nicht autorisierte ADB-Shell

Python 3.10+ CVE-2026-0073 Android License


🔥 Übersicht

Eine kritische Authentifizierungsumgehung im ADB-Daemon von Android (adbd) ermöglicht es jedem Angreifer im lokalen Netzwerk, ohne Benutzerautorisierung eine vollständige Shell auf einem Zielgerät zu erhalten.

Die Schwachstelle existiert in adbd_tls_verify_cert() innerhalb von daemon/auth.cpp, wo EVP_PKEY_cmp() als boolescher Wert verwendet wird. Wenn der gespeicherte Schlüssel RSA ist und das vorgelegte TLS-Client-Zertifikat einen Nicht-RSA-Schlüssel (EC P-256 oder Ed25519) trägt, gibt EVP_PKEY_cmp() -1 (Typkonflikt) zurück, was in C/C++ wahr ist, sodass authorized = true gesetzt wird.

root@kitploit:~
// Verwundbares Codemuster in daemon/auth.cpp
if (EVP_PKEY_cmp(peer_key, stored_key)) {  // ← FEHLER: -1 ist wahr!
    authorized = true;
}

⚡ Schnellstart

Abhängigkeiten installieren

root@kitploit:~
pip install cryptography

Exploit ausführen

root@kitploit:~
# Interaktive Shell
python adb_tls_auth_bypass.py <ZIEL_IP> <PORT>

# Einzelne Befehlsausführung
python adb_tls_auth_bypass.py 192.168.1.42 37521 --cmd "id"

# Ausführlicher Modus (vollständiges Protokoll-Trace anzeigen)
python adb_tls_auth_bypass.py 192.168.1.42 37521 -v --cmd "id"

Bestimmten Schlüsseltyp erzwingen

root@kitploit:~
python adb_tls_auth_bypass.py 192.168.1.42 5555 --key-type ec
python adb_tls_auth_bypass.py 192.168.1.42 5555 --key-type ed25519

Standardmäßig versucht das Skript automatisch EC P-256 → Ed25519 → EC/TLS 1.2, bis einer erfolgreich ist.


🎯 Exploit-Ablauf

root@kitploit:~
   Angreifer                          Ziel (adbd)
      │                                    │
      │──── TCP-Verbindung ───────────────►│
      │──── CNXN (Klartext) ──────────────►│
      │◄─── STLS (TLS-Upgrade-Anfrage) ───│
      │──── STLS-Antwort ─────────────────►│
      │                                    │
      │════ TLS 1.3 Handshake ════════════│
      │  (EC P-256 Client-Zertifikat vorgelegt) │
      │  EVP_PKEY_cmp(EC, RSA) → -1       │
      │  -1 ist wahr → authorized=true    │
      │════════════════════════════════════│
      │                                    │
      │◄─── CNXN (Geräteinformationen) ───│
      │──── OPEN "shell:" ───────────────►│
      │◄─── OKAY ────────────────────────│
      │◄──► WRTE/OKAY (Shell-I/O) ──────►│
      │                                    │
    [VOLLSTÄNDIGER SHELL-ZUGRIFF]          │

📋 Voraussetzungen

⚠️ Wichtig: Der RSA-Schlüssel muss in /data/misc/adb/adb_keys liegen, das über die USB-Debugging-Kopplung (Annehmen des Dialogs „USB-Debugging erlauben?") befüllt wird. Die Kopplung über drahtloses Debugging (adb pair) speichert Schlüssel an einem anderen Ort (adb_known_hosts.pb) und erfüllt diese Anforderung NICHT.


🛡️ Betroffene Versionen

  • Android 14 (AOSP) — ✅ Als verwundbar bestätigt
  • Android 15 (AOSP) — Wahrscheinlich verwundbar (ungepatchte Builds)
  • Herstellerspezifische Builds können abweichen (Samsung One UI, Pixel usw.)

Patch-Level prüfen

root@kitploit:~
adb shell getprop ro.build.version.security_patch

🧪 Testumgebung

Getestet und als funktionierend bestätigt auf:

root@kitploit:~
Kernel:   6.1.23-android14-4-00257-g7e35917775b8-ab9964412
Plattform: Android 14 (Android Studio Emulator)

🔧 Verbesserungen gegenüber dem Original

Dieser Fork enthält mehrere Verbesserungen:

  • ✅ Multi-Schlüssel-Fallback — Versucht automatisch EC P-256 → Ed25519 → EC/TLS 1.2
  • ✅ Ed25519-Unterstützung — Alternativer Schlüsseltyp für breitere Kompatibilität
  • ✅ TLS 1.2-Fallback — Anderer Client-Zertifikatsablauf (während des Handshakes vs. nach dem Handshake gesendet)
  • ✅ Erweitertes Zertifikat — Korrekte X.509-Erweiterungen (BasicConstraints, KeyUsage)
  • ✅ Windows-kompatibel — Verwendet Thread-basiertes I/O statt select() für plattformübergreifende Unterstützung
  • ✅ Erhöhte Timeouts — Bessere Zuverlässigkeit bei langsameren Netzwerken
  • ✅ Ausführliche Diagnose — Detailliertes Protokoll-Trace mit -v-Flag

📁 Projektstruktur

root@kitploit:~
CVE-2026-0073-Android-ADBD-bypass-POC/
├── adb_tls_auth_bypass.py    # Haupt-Exploit-Skript
└── README.md                 # Diese Datei

⚠️ Haftungsausschluss

Dieses Tool wird ausschließlich für autorisierte Sicherheitstests und Bildungszwecke bereitgestellt. Unautorisierter Zugriff auf Computersysteme ist illegal. Holen Sie immer eine ordnungsgemäße Autorisierung ein, bevor Sie testen. Der Autor übernimmt keine Haftung für Missbrauch dieser Software.


📚 Referenzen

  • CVE-2026-0073 — MITRE
  • Android Security Bulletin
  • OpenSSL EVP_PKEY_cmp Dokumentation
  • ADB-Protokollreferenz

Wenn dies Ihrer Forschung geholfen hat, hinterlassen Sie einen ⭐

Tool herunterladen
EVP_PKEY_cmp() RückgabeBedeutungWahr in C?Ergebnis
1Schlüssel stimmen überein✅Autorisiert (korrekt)
0Schlüssel unterscheiden sich❌Abgelehnt (korrekt)
-1Typkonflikt✅Autorisiert (FEHLER)
Anforderung
Details
EntwickleroptionenAuf dem Zielgerät aktiviert
Drahtloses DebuggingAktiviert (oder ADB über TCP auf Port 5555)
Gespeicherter RSA-SchlüsselGerät muss mindestens einmal per USB gekoppelt worden sein (/data/misc/adb/adb_keys)
NetzwerkzugriffAngreifer muss den adbd-TCP-Port erreichen können