Firmware-level 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

Supply-chain tampering of /system/lib[64]/libandroid_runtime.so can hijack android.util.Log.println_native so that elke app wat uit Zygote gefork is, voer die aanvallers se kode uit. 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 sandbox-grense en per-app permisies effektief omseil.

Dropper path: native patch → RC4 → DexClassLoader

  • Hooked entry: addisionele oproep binne println_native na __log_check_tag_count (ingespuite statiese lib libVndxUtils.a).
  • Payload storage: RC4-ontsleutelde blob ingebed in die .so, neergesit 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 tag AK_CPP (triage artefak).
  • Anti-analysis: beëindig in Google/Sprint/T-Mobile stelsel-apps of as kill-switch lêers bestaan.
  • Zygote role split:
  • In system_server → instansieer AKServer.
  • In enige ander app → instansieer AKClient.

Binder-based client/server backdoor

  • AKServer (lopend in system_server) stuur beskermde broadcasts:
  • com.action.SystemOptimizeService → binder interface vir clients.
  • com.action.SystemProtectService → binder interface vir downloaded modules.
  • AKClient (binne elke app) ontvang die interface via broadcast en voer ’n attach transaksie uit, en lewer ’n IPC-wrapper sodat die server willekeurige DEX in die huidige app-proses kan laai.
  • Geëksposeerde bevoorregte operasies (via SystemProtectService): verleen/intrek enige toestemming vir enige package, haal geoligging op, en eksfiltreer toestel-inligting. Dit sentraliseer privilege bypass terwyl kode steeds in gekose teiken-apps uitgevoer word (Chrome, YouTube, launcher, shopping apps, ens.).

C2 staging, crypto, and gating

  • Host discovery: Base64 → gzip → AES-128-CFB decrypt with key MD5("ota.host.ba60d29da7fd4794b5c5f732916f7d5c"), IV "0102030405060708".
  • Victim registration: versamel IMEI/MAC/model/OS, enkripteer met key MD5("ota.api.bbf6e0a947a5f41d7f5226affcfd858c"), POST na /ak/api/pts/v4 met params m=MD5(IMEI) en n=w|m (network type). Response data is encrypted identically.
  • Activation delay: C2 bedien modules eers na ~2.5 maande vanaf ‘activation time’ in die versoek, wat sandbox-detonasies frustreer.
  • 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;
  • Integriteit: MD5 lêerkontrole + DSA-handtekening (slegs operateur met private sleutel kan modules uitreik).
  • Ontsleuteling: AES-128-CFB, sleutel MD5("37d9a33df833c0d6f11f1b8079aaa2dc" + salt), IV "0102030405060708".

Persistensie en forensiese wenke

  • Plaas in die voorsieningsketting: skadelike statiese lib libVndxUtils.a wat tydens die build in libandroid_runtime.so gekoppel word (bv., vendor/mediatek/proprietary/external/libutils/arm[64]/libVndxUtils.a).
  • Firmware-audit: firmware images word as Android Sparse super.img gelewer; gebruik lpunpack (of soortgelyk) om partisie te onttrek 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 met name com.action.SystemOptimizeService/com.action.SystemProtectService dui op kompromittering.

References

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