Backdoor Android a livello firmware via libandroid_runtime Zygote Injection
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Panoramica
Manomissione della supply-chain di /system/lib[64]/libandroid_runtime.so può dirottare android.util.Log.println_native in modo che ogni app forkata da Zygote esegua il codice dell’attaccante. Il backdoor Keenadu aggiunge una singola chiamata all’interno di println_native che avvia un dropper nativo. Poiché tutti i processi delle app eseguono questo codice, i confini del sandbox Android e i permessi per singola app sono effettivamente aggirati.
Dropper path: native patch → RC4 → DexClassLoader
- Hooked entry: chiamata extra dentro
println_nativea__log_check_tag_count(injected static liblibVndxUtils.a). - Payload storage: blob cifrato RC4 incorporato nella
.so, drop to/data/dalvik-cache/arm[64]/system@framework@vndx_10x.jar@classes.jar. - Load & execute:
DexClassLoaderloads the jar and invokescom.ak.test.Main.main. Runtime logs use tagAK_CPP(triage artifact). - Anti-analysis: aborts in Google/Sprint/T-Mobile system apps or if kill-switch files exist.
- Zygote role split:
- In
system_server→ instantiateAKServer. - In any other app → instantiate
AKClient.
Binder-based client/server backdoor
AKServer(running insystem_server) sends protected broadcasts:com.action.SystemOptimizeService→ binder interface for clients.com.action.SystemProtectService→ binder interface for downloaded modules.AKClient(inside every app) receives the interface via broadcast and performs anattachtransaction, handing an IPC wrapper so the server can load arbitrary DEX inside the current app process.- Exposed privileged operations (via
SystemProtectService): grant/revoke any permission for any package, retrieve geolocation, and exfiltrate device info. This centralizes privilege bypass while still executing code in chosen target apps (Chrome, YouTube, launcher, shopping apps, etc.).
C2 staging, crypto, and gating
- Host discovery: Base64 → gzip → AES-128-CFB decrypt with key
MD5("ota.host.ba60d29da7fd4794b5c5f732916f7d5c"), IV"0102030405060708". - Victim registration: collect IMEI/MAC/model/OS, encrypt with key
MD5("ota.api.bbf6e0a947a5f41d7f5226affcfd858c"), POST to/ak/api/pts/v4with paramsm=MD5(IMEI)andn=w|m(network type). Responsedatais encrypted identically. - Activation delay: C2 serves modules only after ~2.5 months from an “activation time” in the request, frustrating sandbox detonations.
- Module container (proprietary):
struct KeenaduPayload {
int32_t version;
uint8_t padding[0x100];
uint8_t salt[0x20];
KeenaduChunk config; // size + data
KeenaduChunk payload; // size + data
KeenaduChunk signature;// size + data
} __packed;
- Integrità: MD5 file check + DSA signature (solo l’operatore con la chiave privata può emettere moduli).
- Decrittazione: AES-128-CFB, key
MD5("37d9a33df833c0d6f11f1b8079aaa2dc" + salt), IV"0102030405060708".
Persistenza & consigli forensi
- Posizionamento nella supply chain: libreria statica malevola
libVndxUtils.acollegata alibandroid_runtime.sodurante la build (es.,vendor/mediatek/proprietary/external/libutils/arm[64]/libVndxUtils.a). - Analisi del firmware: le immagini del firmware sono distribuite come Android Sparse
super.img; usarelpunpack(o simile) per estrarre le partizioni e ispezionarelibandroid_runtime.soper chiamate aggiuntive inprintln_native. - Artefatti sul dispositivo: la presenza di
/data/dalvik-cache/arm*/system@framework@vndx_10x.jar@classes.jar, il tag logcatAK_CPP, o broadcast protetti chiamaticom.action.SystemOptimizeService/com.action.SystemProtectServiceindicano compromissione.
References
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.


