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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Огляд
Підміна в ланцюгу постачання файлу /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.alinked intolibandroid_runtime.soduring build (e.g.,vendor/mediatek/proprietary/external/libutils/arm[64]/libVndxUtils.a). - Firmware auditing: firmware images ship as Android Sparse
super.img; uselpunpack(or similar) to extract partitions and inspectlibandroid_runtime.sofor extra calls inprintln_native. - On-device artifacts: presence of
/data/dalvik-cache/arm*/system@framework@vndx_10x.jar@classes.jar, logcat tagAK_CPP, or protected broadcasts namedcom.action.SystemOptimizeService/com.action.SystemProtectServiceindicate 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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


