The invisible passenger in your car

The invisible passenger in your car
Researchers uncovered a new Android malware campaign targeting Android-based automotive head unit firmware through the legitimate TWCore updater, making this the first documented infection chain of its kind on a car head unit. The multi-stage payload ends in a clicker and the zhima reverse proxy module, and Kaspersky attributes the activity with high confidence to the MoYu Group, an actor linked to BADBOX. #TWCore #JarService #zhima #MoYuGroup #BADBOX #DoFun

Keypoints

  • The malware is a multi-stage Android downloader whose end goals are ad fraud and proxy-botnet creation.
  • It was distributed through the built-in TWCore updater on Android-based automotive head units.
  • This is the first documented case of malware found on a car head unit with a device-specific infection chain.
  • Stage 1, called JarService, is a UI-less dropper that decrypts embedded payload blocks and launches the next stage.
  • Stage 2 is a loader that contacts attacker infrastructure, retrieves stage 3, and uses reflection to execute it.
  • Stage 3 functions as a clicker/reverse proxy loader, periodically contacting C2 for configuration and tasking.
  • The zhima reverse proxy module and network overlap support attribution to MoYu Group, linked to BADBOX.

MITRE Techniques

  • [T1105 ] Ingress Tool Transfer – The malware downloads successive payloads from attacker servers and pulls updated modules like the stage 3 payload and zhima. (‘downloading APK files’, ‘returns a link for downloading the stage 3 payload’, ‘download and execute arbitrary code’)
  • [T1059.005 ] Command and Scripting Interpreter: Java – The Android malware stages are implemented in Java and execute payload logic through Java classes and methods. (‘the entry point for the next-stage payload was the wa method of the com.c.j.qbh class’, ‘the init method of the com.ast.sdk.BillingMain class’)
  • [T1027 ] Obfuscated Files or Information – The payloads use XOR-encrypted blocks, encrypted strings, and serialized data to hide code and configuration. (‘XOR-encrypted with a single-byte key’, ‘contains encrypted strings’, ‘decrypt the strings in the loader’s code’)
  • [T1140 ] Deobfuscate/Decode Files or Information – The malware decrypts embedded blocks and serialized payload data before loading the next stage. (‘decrypted data contains serialized information about the payload version and entry point’, ‘XOR-decrypt the stage 3 payload’)
  • [T1055 ] Process Injection – The loader uses reflection to execute the next-stage payload in memory-like fashion within the app context. (‘execute the stage 3 payload using the reflection mechanism’)
  • [T1102 ] Web Service – The malware uses HTTP/POST/GET requests to attacker-controlled services to fetch configuration, tasking, and payloads. (‘sends a POST request to /cpc/api/task’, ‘sends a GET request to /cpc/api/xml’, ‘Make a POST/GET HTTP request’)
  • [T1219 ] Remote Access Software – The zhima module acts as a reverse proxy to relay traffic through infected devices. (‘the payload downloaded via the loadlib2 command is a reverse proxy module named “zhima”’)
  • [T1036 ] Masquerading – The malware is installed as an ordinary system app update via TWCore and abuses legitimate update functionality to blend in. (‘installed like an ordinary user app’, ‘distribution through the legitimate update functionality of a system application’)
  • [T1518.001 ] Software Discovery: Security Software Discovery – The malware checks whether apps are already installed before installing when a flag allows it. (‘TWCore only checks whether an app is already installed’)
  • [T1090 ] Proxy – The operation builds a proxy botnet and uses proxy infrastructure and modules to relay connections. (‘creation of a proxy botnet’, ‘proxyforu[.]com’, ‘residential proxies’)
  • [T1071.001 ] Application Layer Protocol: Web Protocols – The malware communicates with C2 using HTTP-based APIs and JSON. (‘sends a POST request’, ‘returns updated configuration’, ‘command information for each unknown identifier’)
  • [T1123 ] Audio Capture – The article does not describe audio capture; no valid use confirmed. (‘no UI of any kind’)

Indicators of Compromise

  • [Domain ] C2 and infrastructure for payload delivery and configuration – cardoor[.]cn, kshahnd[.]sbs, and 2 more domains
  • [IP address ] C2 and reverse proxy infrastructure – 144.217.243[.]201, 107.151.248[.]132, and 1 more IP
  • [URL ] Stage 3 payload and zhima module delivery – hxxp://144.217.243[.]201/vr34der34/dex3.68.png, hxxp://144.217.243[.]201/vr34der34/sh65.io, and 2 more URLs
  • [File hash ] Malware and module samples – e9f3a0dab6949ce2cddab9e0aa80ae1a, 412e9243f2981bbea3894254d105b3b871ab5517f71866279d0d87d37f2ae32089ef78f716a75964539f2db6520be362a4223ce4288a230d1e6c3ff2c7639045bd4d81cd27125ad3d9a114922d468499c6bfb1643ac7474ed8a7b4f96a187fdbde77c3303e93c9450424759f1741441cf8cf8c23ff597700d471fb7767df8bac, and 3 more hashes
  • [Package name ] Android malware packages observed in the chain – com.tw.core, com.tw.jar1, and com.miyc.transfer.Client
  • [API path ] C2 endpoints used by the malware – /cpc/api/task, /cpc/api/report, and /cpc/api/xml
  • [File path ] TWCore download cache path for APK installation – /push/apk/
  • [Command name ] Command identifiers used by the stage 3 framework – loadlib2, http, and 7 more commands


Read more: https://securelist.com/android-head-unit-malware/121106/