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
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
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_nativena__log_check_tag_count(ingespuite statiese liblibVndxUtils.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:
DexClassLoaderlaai die jar en roepcom.ak.test.Main.mainaan. Runtime logs gebruik tagAK_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→ instansieerAKServer. - In enige ander app → instansieer
AKClient.
Binder-based client/server backdoor
AKServer(lopend insystem_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 ’nattachtransaksie 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/v4met paramsm=MD5(IMEI)enn=w|m(network type). Responsedatais 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.awat tydens die build inlibandroid_runtime.sogekoppel word (bv.,vendor/mediatek/proprietary/external/libutils/arm[64]/libVndxUtils.a). - Firmware-audit: firmware images word as Android Sparse
super.imggelewer; gebruiklpunpack(of soortgelyk) om partisie te onttrek enlibandroid_runtime.sote inspekteer vir ekstra oproepe inprintln_native. - Op-toestel artefakte: aanwesigheid van
/data/dalvik-cache/arm*/system@framework@vndx_10x.jar@classes.jar, logcat tagAK_CPP, of protected broadcasts met namecom.action.SystemOptimizeService/com.action.SystemProtectServicedui 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
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.


