Firmware-level Android Backdoor via libandroid_runtime Zygote Injection

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Pregled

Manipulacija u lancu snabdevanja datotekom /system/lib[64]/libandroid_runtime.so može preuzeti kontrolu nad android.util.Log.println_native tako da svaka aplikacija fork-ovana iz Zygote izvršava kod napadača. The Keenadu backdoor dodaje jedan poziv unutar println_native koji pokreće native dropper. Pošto svi procesi aplikacija izvršavaju ovaj kod, granice Android sandboxa i dozvole po aplikaciji se efikasno zaobilaze.

Dropper path: native patch → RC4 → DexClassLoader

  • Hooked entry: extra call inside println_native to __log_check_tag_count (injected static lib libVndxUtils.a).
  • Payload storage: RC4-decrypt blob embedded in the .so, drop to /data/dalvik-cache/arm[64]/system@framework@vndx_10x.jar@classes.jar.
  • Load & execute: DexClassLoader loads the jar and invokes com.ak.test.Main.main. Runtime logs use tag AK_CPP (triage artifact).
  • Anti-analysis: prekida izvršavanje u Google/Sprint/T-Mobile sistemskim aplikacijama ili ako postoje kill-switch fajlovi.
  • Zygote role split:
  • U system_server → instancira se AKServer.
  • U bilo kojoj drugoj aplikaciji → instancira se AKClient.

Backdoor klijent/server zasnovan na Binder-u

  • AKServer (koji radi u system_server) šalje zaštićene broadcasts:
  • com.action.SystemOptimizeService → binder interface za klijente.
  • com.action.SystemProtectService → binder interface za preuzete module.
  • AKClient (unutar svake aplikacije) prima interfejs preko broadcast-a i izvršava attach transakciju, predajući IPC wrapper tako da server može učitati proizvoljan DEX unutar trenutnog procesa aplikacije.
  • Izložene privilegovane operacije (preko SystemProtectService): grant/revoke bilo koje dozvole za bilo koji paket, pribaviti geolokaciju i exfiltrate informacije o uređaju. Ovo centralizuje zaobilaženje privilegija dok se kod i dalje izvršava u izabranim ciljanim aplikacijama (Chrome, YouTube, launcher, shopping apps, itd.).

C2 staging, crypto, and gating

  • Otkrivanje hosta: Base64 → gzip → AES-128-CFB decrypt sa ključem MD5("ota.host.ba60d29da7fd4794b5c5f732916f7d5c"), IV "0102030405060708".
  • Registracija žrtve: prikupljanje IMEI/MAC/model/OS, enkripcija sa ključem MD5("ota.api.bbf6e0a947a5f41d7f5226affcfd858c"), POST na /ak/api/pts/v4 sa parametrima m=MD5(IMEI) i n=w|m (tip mreže). Odgovor data je enkriptovan identično.
  • Kašnjenje aktivacije: C2 isporučuje module tek nakon ~2.5 meseca od “activation time” u zahtevu, otežavajući detonacije u sandbox okruženjima.
  • Module container (vlasnički):
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;
  • Integritet: MD5 provera fajla + DSA potpis (samo operator sa privatnim ključem može da izdaje module).
  • Decryption: AES-128-CFB, key MD5("37d9a33df833c0d6f11f1b8079aaa2dc" + salt), IV "0102030405060708".

Persistencija & forenzički saveti

  • Mesto u lancu snabdevanja: maliciozna statička biblioteka libVndxUtils.a povezana u libandroid_runtime.so tokom izrade (npr., vendor/mediatek/proprietary/external/libutils/arm[64]/libVndxUtils.a).
  • Revizija firmware-a: firmware slike se isporučuju kao Android Sparse super.img; koristite lpunpack (ili slično) da izvadite particije i pregledate libandroid_runtime.so zbog dodatnih poziva u println_native.
  • Artefakti na uređaju: prisustvo /data/dalvik-cache/arm*/system@framework@vndx_10x.jar@classes.jar, logcat taga AK_CPP, ili zaštićenih broadcast poruka nazvanih com.action.SystemOptimizeService/com.action.SystemProtectService ukazuje na kompromitaciju.

References

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks