Firmware-level Android Backdoor via libandroid_runtime Zygote Injection

Tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

सारांश

सप्लाई-चेन छेड़छाड़ /system/lib[64]/libandroid_runtime.so को hijack कर सकती है ताकि android.util.Log.println_native इस तरह काम करे कि Zygote से fork होने वाला हर ऐप हमलावर का कोड चलाता है। The Keenadu backdoor println_native के अंदर एक single call जोड़ता है जो एक native dropper चलाता है। चूंकि सभी ऐप प्रोसेस यह कोड चलाते हैं, Android sandbox boundaries और per-app permissions प्रभावी रूप से bypass हो जाते हैं।

Dropper path: native patch → RC4 → DexClassLoader

  • Hooked entry: println_native के अंदर अतिरिक्त कॉल __log_check_tag_count (injected static lib libVndxUtils.a)।
  • Payload storage: .so में embedded RC4-decrypt blob, /data/dalvik-cache/arm[64]/system@framework@vndx_10x.jar@classes.jar पर drop।
  • Load & execute: DexClassLoader jar को load करता है और com.ak.test.Main.main को invoke करता है। Runtime logs टैग AK_CPP का उपयोग करते हैं (triage artifact)।
  • Anti-analysis: Google/Sprint/T-Mobile system apps में या अगर kill-switch files मौजूद हों तो abort करता है।
  • Zygote role split:
    • system_server में → AKServer को instantiate करता है।
    • किसी भी अन्य ऐप में → AKClient को instantiate करता है।

Binder-based client/server backdoor

  • AKServer (जो system_server में चलता है) protected broadcasts भेजता है:
    • com.action.SystemOptimizeService → clients के लिए binder interface।
    • com.action.SystemProtectService → downloaded modules के लिए binder interface।
  • AKClient (हर ऐप के अंदर) broadcast के जरिए interface प्राप्त करता है और एक attach transaction करता है, IPC wrapper सौंपता है ताकि server arbitrary DEX को वर्तमान ऐप प्रोसेस के अंदर load कर सके।
  • Exposed privileged operations (via SystemProtectService): किसी भी पैकेज के लिए किसी भी permission को grant/revoke करना, geolocation प्राप्त करना, और device info exfiltrate करना। यह privilege bypass को centralize करता है जबकि चुने हुए target apps (Chrome, YouTube, launcher, shopping apps, आदि) में कोड execute कराता है।

C2 staging, crypto, and gating

  • Host discovery: Base64 → gzip → AES-128-CFB decrypt with key MD5("ota.host.ba60d29da7fd4794b5c5f732916f7d5c"), IV "0102030405060708".
  • Victim registration: IMEI/MAC/model/OS संग्रह करता है, MD5("ota.api.bbf6e0a947a5f41d7f5226affcfd858c") key से encrypt करता है, /ak/api/pts/v4 पर POST करता है with params m=MD5(IMEI) और n=w|m (network type)। Response का data भी उसी तरह encrypt होता है।
  • Activation delay: C2 modules केवल अनुरोध में मौजूद “activation time” से लगभग ~2.5 महीने बाद सर्व करता है, जिससे sandbox detonations विफल होते हैं।
  • 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;
  • अखंडता: MD5 file check + DSA signature (केवल निजी कुंजी वाले ऑपरेटर ही मॉड्यूल जारी कर सकते हैं)।
  • डिक्रिप्शन: AES-128-CFB, key MD5("37d9a33df833c0d6f11f1b8079aaa2dc" + salt), IV "0102030405060708"

स्थायित्व और फोरेंसिक सुझाव

  • सप्लाई-चेन प्लेसमेंट: दुर्भावनापूर्ण static lib libVndxUtils.a बिल्ड के दौरान libandroid_runtime.so में लिंक की जाती है (उदा., vendor/mediatek/proprietary/external/libutils/arm[64]/libVndxUtils.a)।
  • फर्मवेयर ऑडिट: फर्मवेयर इमेजें Android Sparse super.img के रूप में भेजी जाती हैं; विभाजन निकालने के लिए lpunpack (या समान) का उपयोग करें और libandroid_runtime.so में println_native के अतिरिक्त कॉल्स की जांच करें।
  • डिवाइस पर आर्टिफैक्ट्स: /data/dalvik-cache/arm*/system@framework@vndx_10x.jar@classes.jar की उपस्थिति, logcat टैग AK_CPP, या com.action.SystemOptimizeService/com.action.SystemProtectService नामक प्रोटेक्टेड ब्रॉडकास्ट्स समझौते का संकेत देते हैं।

संदर्भ

Tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें