Firmware-vlak Android Backdoor via libandroid_runtime Zygote Injection

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Oorsig

Knoei met die toeleveringsketting van /system/lib[64]/libandroid_runtime.so kan android.util.Log.println_native kaap sodat elke app wat vanaf Zygote gefork word aanvallerkode uitvoer. Die Keenadu backdoor voeg ’n enkele oproep binne println_native by wat ’n native dropper aandryf. Omdat alle app-prosesse hierdie kode uitvoer, word Android se sandbox-grense en per-app permissies effektief omseil.

Dropper-pad: native patch → RC4 → DexClassLoader

  • Gekoppelde ingang: ekstra oproep binne println_native na __log_check_tag_count (geïnjekteerde statiese lib libVndxUtils.a).
  • Payload storage: RC4-decrypt blob ingebed in die .so, neersit na /data/dalvik-cache/arm[64]/system@framework@vndx_10x.jar@classes.jar.
  • Load & execute: DexClassLoader laai die jar en roep com.ak.test.Main.main aan. Runtime logs gebruik die tag AK_CPP (triage-artefak).
  • Anti-analysis: breek af in Google/Sprint/T-Mobile system apps of as kill-switch files bestaan.
  • Zygote rolverdeling:
  • In system_server → instansieer AKServer.
  • In enige ander app → instansieer AKClient.

Binder-gebaseerde client/server backdoor

  • AKServer (wat in system_server loop) stuur beskermde broadcasts:
  • com.action.SystemOptimizeService → binder interface vir clients.
  • com.action.SystemProtectService → binder interface vir downloaded modules.
  • AKClient (in elke app) ontvang die interface via uitsending en voer ’n attach transaksie uit, en oorhandig ’n IPC-wrapper sodat die server ewekansige DEX kan laai binne die huidige app-proses.
  • Blootgestelde geprivilegieerde operasies (via SystemProtectService): grant/revoke enige permissie vir enige pakket, haal geoligging op, en exfiltrate toestel-inligting. Dit sentraliseer voorreg-omseiling terwyl dit steeds kode in gekose teiken-apps (Chrome, YouTube, launcher, shopping apps, ens.) uitvoer.

C2 staging, crypto, en gating

  • Gasheer-opsporing: Base64 → gzip → AES-128-CFB decrypt met sleutel MD5("ota.host.ba60d29da7fd4794b5c5f732916f7d5c"), IV "0102030405060708".
  • Slagoffer-registrasie: versamel IMEI/MAC/model/OS, enkripteer met sleutel MD5("ota.api.bbf6e0a947a5f41d7f5226affcfd858c"), POST na /ak/api/pts/v4 met params m=MD5(IMEI) en n=w|m (netwerktipe). Response data is identies enkripteer.
  • Aktiveringsvertraging: C2 bedien modules slegs na ~2.5 maande vanaf ’n “activation time” in die versoek, wat sandbox-detonasies frustreer.
  • Module container (proprietêr):
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;
  • Integriteit: MD5 file check + DSA signature (only operator with private key can issue modules).
  • Ontsleuteling: AES-128-CFB, sleutel MD5("37d9a33df833c0d6f11f1b8079aaa2dc" + salt), IV "0102030405060708".

Persistensie & forensiese wenke

  • Voorsieningsketting-plaatsing: kwaadaardige statiese lib libVndxUtils.a gekoppeld aan libandroid_runtime.so tydens die build (e.g., vendor/mediatek/proprietary/external/libutils/arm[64]/libVndxUtils.a).
  • Firmware-ouditering: firmware images ship as Android Sparse super.img; gebruik lpunpack (or similar) om partisieë uit te pak en libandroid_runtime.so te inspekteer vir ekstra oproepe in println_native.
  • Op-toestel artefakte: aanwesigheid van /data/dalvik-cache/arm*/system@framework@vndx_10x.jar@classes.jar, logcat tag AK_CPP, of protected broadcasts named com.action.SystemOptimizeService/com.action.SystemProtectService dui op kompromittering.

Verwysings

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks