Sploitus

Exploit for CVE-2026-0073

kitploit ¡ 2026-08-27

Exploit Code

MARKDOWN138 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-DEVTINT-CVE-2026-0073
# 🔓 CVE-2026-0073: Android adbd Authentifizierungs-Bypass

> **Weaponisierter Proof of Concept fĂźr die Wireless-ADB-TLS-Auth-Bypass-Schwachstelle.** _Entdeckt von Barghest, weaponisierter PoC von devtint._

![CVSS Score](https://img.shields.io/badge/CVSS-8.8-red.svg) ![Android Version](https://img.shields.io/badge/Android-11--15-success.svg) ![Interaction](https://img.shields.io/badge/Interaction-Zero--Click-blue.svg)

## 📋 Überblick

CVE-2026-0073 ist ein kritischer kryptografischer Logikfehler im Android Debug Bridge-Daemon (`adbd`), der einem nicht authentifizierten Angreifer im selben lokalen Netzwerk **Zero-Click-Remote-Root-Zugriff** gewährt.

Dieses Repository enthält:

  * **`adb_tls_auth_bypass.py`** — Sauberer, eigenständiger PoC für den STLS/TLS-Authentifizierungs-Bypass.
  * **`main.py`** — Maximiertes Exploitation-Framework mit automatisierter Profilerstellung, Artefakt-Extraktion und Persistenz-Injektion.



### Der kryptografische Fehler

Die Schwachstelle existiert in `daemon/auth.cpp` innerhalb der Funktion `adbd_tls_verify_cert()`. Wenn ein Client sich ßber **Wireless ADB (STLS-Pfad)** verbindet, findet ein gegenseitiger TLS-1.3-Handshake statt. Das Gerät vergleicht den Üffentlichen Schlßssel des Clients mit gespeicherten autorisierten Schlßsseln mithilfe von OpenSSLs `EVP_PKEY_cmp()`.

root@kitploit:~
    
    
    // daemon/auth.cpp — Die verwundbare Logik
    if (EVP_PKEY_cmp(stored_key, client_key)) {
        // EVP_PKEY_cmp gibt zurĂźck:
        //   1  = SchlĂźssel stimmen Ăźberein
        //   0  = SchlĂźssel unterscheiden sich
        //  -1  = Typkonflikt (RSA vs. EC)  ← FEHLER: truthy in C++
        authorized = true;
    }
    

  * Wenn der gespeicherte Schlßssel **RSA** ist und der Client einen **EC-P-256** -Schlßssel präsentiert, gibt `EVP_PKEY_cmp()` `-1` (Typkonflikt) zurßck.
  * In C/C++ wird `-1` als `true` ausgewertet.
  * Die `adbd`-Logik interpretiert dieses `-1` als **perfekte Übereinstimmung**.
  * Das Gerät gewährt stillschweigend eine Root-Shell, ohne jemals den Bildschirm zu aktivieren oder das Opfer zu benachrichtigen.



* * *

## ⚠️ Kritisch: STLS vs. AUTH — Port-Anforderungen

Dieser Exploit funktioniert **nur auf dem Wireless-Debugging-STLS-Pfad** , nicht auf dem veralteten `adb tcpip`-Pfad.

Verbindungsmodus  
---  
  
### So identifizieren Sie den richtigen Port

  1. Auf dem Zielgerät: **Einstellungen → Entwickleroptionen → Wireless-Debugging → AN**
  2. Die IP-Adresse und der **zufällige Port** werden auf diesem Bildschirm angezeigt (z. B. `192.168.1.34:38741`)
  3. Dieser Port ändert sich jedes Mal, wenn Wireless-Debugging umgeschaltet wird oder das Gerät sich erneut mit dem WLAN verbindet



### Fehler: „Gerät antwortete mit AUTH statt STLS"

Das bedeutet, dass Sie sich mit einem **veralteten ADB-TCP-Port** (typischerweise 5555) verbinden. Der veraltete Pfad verwendet den alten RSA-AUTH-Handshake — ein völlig anderer Codepfad in `adbd`, der **von dieser CVE nicht betroffen ist**. Sie müssen sich stattdessen mit dem Wireless-Debugging-Port verbinden.

* * *

## ⚡ Maximierte Fähigkeiten

Das Framework (`main.py`) erweitert den Kern-TLS-Bypass zu einem modularen Post-Exploitation-Toolkit:

  * 💻 **Interaktive Shell:** Wechselt direkt in ein stabiles, persistentes `uid=0(root)`-Pseudo-Terminal.
  * 🔍 **Automatisierte Profilerstellung (`--profile`):** Identifiziert sofort das Ziel-Betriebssystem, den Sicherheits-Patch-Level, die SELinux-Durchsetzung und aktive Routing-Tabellen für internes Netzwerk-Pivoting.
  * 📂 **Artefakt-Extraktion (`--extract`):** Extrahiert automatisch hochsensible Systemdateien (z. B. `/data/misc/adb/adb_keys`, `/system/build.prop`) direkt über den Bypass-Socket.
  * 🔑 **Stealth-Persistenz (`--persist`):** Injiziert einen betrügerischen RSA-öffentlichen Schlüssel in die Datei der autorisierten Schlüssel des Ziels. Nach der Injektion behält der Angreifer dauerhaften, vollständig authentifizierten Zugriff, selbst wenn die CVE später gepatcht wird.



* * *

## 🏃 Verwendung

  1. **Abhängigkeiten installieren:**

root@kitploit:~
         
         pip install cryptography
         

  2. **Ziel lokalisieren:** Finden Sie ein Android-Gerät mit aktiviertem **Wireless-Debugging** in Ihrem lokalen Subnetz. Notieren Sie den **dynamischen Port** vom Bildschirm der Entwickleroptionen des Geräts.

  3. **Das Exploit-Framework ausfĂźhren:**

root@kitploit:~
         
         # Interaktive Shell (Standard)
         python main.py <IP> <PORT>
         
         # Einzelne BefehlsausfĂźhrung
         python main.py <IP> <PORT> --cmd "id"
         
         # Automatisierte Systemprofilerstellung
         python main.py <IP> <PORT> --profile
         
         # Stealth-Artefakt-Extraktion
         python main.py <IP> <PORT> --extract
         
         # Permanenten Backdoor-SchlĂźssel injizieren
         python main.py <IP> <PORT> --persist
         

  4. **Eigenständiger PoC (minimal):**

root@kitploit:~
         
         python adb_tls_auth_bypass.py <IP> <PORT> --cmd "id; whoami"
         




* * *

## 🔧 Fehlerbehebung

* * *

## 🛡️ Gegenmaßnahmen

  * **Patch:** Aktualisieren Sie auf das **Android-Sicherheitsbulletin vom Mai 2026** (2026-05-01 oder später).
  * **Dienst deaktivieren:** Halten Sie **Wireless-Debugging** ausgeschaltet, wenn Sie nicht aktiv eine Anwendung profilieren.
  * **Schlüsselrotation:** Widerrufen Sie regelmäßig „USB-Debugging-Autorisierungen" in den Entwickleroptionen, um veraltete RSA-Schlüssel aus dem Geräte-Keystore zu entfernen.



* * *

## ⚖️ Rechtlicher Haftungsausschluss

Dieses Repository dient ausschließlich **Bildungs-, Red-Teaming- und autorisierten Sicherheitstestzwecken**. Unautorisierter Zugriff auf Computersysteme ist illegal. Der Autor übernimmt keine Haftung für Missbrauch dieser Informationen.