Backdoor на рівні прошивки Android через libandroid_runtime Zygote Injection

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

Огляд

Підміна в ланцюгу постачання файлу /system/lib[64]/libandroid_runtime.so може перехопити android.util.Log.println_native, так що кожен додаток, породжений Zygote, виконує код атакуючого. Keenadu backdoor додає один виклик всередині println_native, який запускає native dropper. Оскільки цей код виконується у всіх процесах додатків, межі Android sandbox та дозволи на рівні окремих додатків фактично обходяться.

Шлях dropper’а: native patch → RC4 → DexClassLoader

  • Точка підключення: додатковий виклик всередині println_native до __log_check_tag_count (інжектована статична бібліотека libVndxUtils.a).
  • Зберігання payload: blob, вбудований у .so та RC4-розшифровується, скидається в /data/dalvik-cache/arm[64]/system@framework@vndx_10x.jar@classes.jar.
  • Завантаження й виконання: DexClassLoader завантажує jar і викликає com.ak.test.Main.main. Логи виконання використовують тег AK_CPP (артефакт триажу).
  • Анти-аналіз: припиняє виконання у системних додатках Google/Sprint/T-Mobile або якщо присутні файли kill-switch.
  • Розподіл ролей Zygote:
  • У system_server → інстанціюється AKServer.
  • У будь-якому іншому додатку → інстанціюється AKClient.

Client/server backdoor на основі Binder

  • AKServer (запущений у system_server) надсилає захищені broadcast-и:
  • com.action.SystemOptimizeService → binder інтерфейс для клієнтів.
  • com.action.SystemProtectService → binder інтерфейс для завантажених модулів.
  • AKClient (всередині кожного додатку) отримує інтерфейс через broadcast і виконує транзакцію attach, передаючи IPC-обгортку, щоб сервер міг завантажувати довільний DEX всередині поточного процесу додатку.
  • Експозовані привілейовані операції (через SystemProtectService): надання/відкликання будь-якого дозволу для будь-якого пакета, отримання геолокації та ексфільтрація інформації про пристрій. Це централізує обходження привілеїв, при цьому код виконується в обраних цільових додатках (Chrome, YouTube, launcher, shopping apps, тощо).

C2 staging, crypto, and gating

  • Виявлення хостів: Base64 → gzip → AES-128-CFB розшифровка з ключем MD5("ota.host.ba60d29da7fd4794b5c5f732916f7d5c"), IV "0102030405060708".
  • Реєстрація жертви: збір IMEI/MAC/model/OS, шифрування з ключем MD5("ota.api.bbf6e0a947a5f41d7f5226affcfd858c"), POST на /ak/api/pts/v4 з параметрами m=MD5(IMEI) та n=w|m (тип мережі). Повернені data шифруються так само.
  • Затримка активації: C2 подає модулі тільки після ~2.5 місяців від “activation time” в запиті, що ускладнює детонацію в sandbox.
  • Контейнер модулів (пропрієтарний):
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;
  • Integrity: MD5 file check + DSA signature (only operator with private key can issue modules).
  • Decryption: AES-128-CFB, key MD5("37d9a33df833c0d6f11f1b8079aaa2dc" + salt), IV "0102030405060708".

Персистентність та судово-аналітичні поради

  • Supply chain placement: malicious static lib libVndxUtils.a linked into libandroid_runtime.so during build (e.g., vendor/mediatek/proprietary/external/libutils/arm[64]/libVndxUtils.a).
  • Firmware auditing: firmware images ship as Android Sparse super.img; use lpunpack (or similar) to extract partitions and inspect libandroid_runtime.so for extra calls in println_native.
  • On-device artifacts: presence of /data/dalvik-cache/arm*/system@framework@vndx_10x.jar@classes.jar, logcat tag AK_CPP, or protected broadcasts named com.action.SystemOptimizeService/com.action.SystemProtectService indicate compromise.

References

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks