Trend Micro security researchers going through the 400 GB Hacking Team data leak have found that the company was selling a "Remote Control System" (RCS) not just for jailbroken (and non-jailbroken) iPhones and iPads, but also for Android devices. Citizen Lab researchers have been aware that a Hacking Team RCS for Android existed since last year.
As the name implies, an RCS can be installed on the targets' devices, and then the devices can be controlled remotely almost completely. Some of the "features" of RCSAndroid include the ability to:
- Capture screenshots using the "screencap" command and framebuffer direct reading
- Monitor clipboard content
- Collect passwords for Wi-Fi networks and online accounts, including Skype, Facebook, Twitter, Google, WhatsApp, Mail, and LinkedIn
- Record using the microphone
- Collect SMS, MMS, and Gmail messages
- Record location
- Gather device information
- Capture photos using the front and back cameras
- Collect contacts and decode messages from IM accounts, including Facebook Messenger, WhatsApp, Skype, Viber, Line, WeChat, Hangouts, Telegram, and BlackBerry Messenger
- Capture real-time voice calls in any network or app by hooking into the "mediaserver" system service
Trend Micro's analysis concluded that RCSAndroid (AndroidOS_RCSAgent.HRX) has existed in the wild at least since 2012. The tool implants Android devices with multiple exploits to infect them more easily. The system is comprised of the following components:
- Penetration solutions, ways to get inside the device, either via SMS/email or a legitimate app
- Low-level native code, advanced exploits and spy tools beyond Android's security framework
- High-level Java agent – the app's malicious APK
- Command-and-control (C&C) servers, used to remotely send/receive malicious commands
One of the ways in which the malware is delivered to users is through a web link that takes advantage of certain unpatched vulnerabilities in the default browsers from Android 4.0 and Android 4.3. This allows the malware to escalate to root privileges, and then a shell backdoor is installed along with the RCSAndroid APK, which greatly expands the list of capabilities that the malicious attacker can use.
Another way to install the malware is through a more stealthy backdoor app such as ANDROIDOS_HTBENEWS.A, which can hide from the regular Google Play scan. The role of the backdoor is to take advantage of a local privilege escalation vulnerability to root the device and install a shell backdoor, which is then used to install the RCSAndroid agent.
The RCSAndroid agent contains two main modules, one focused on logging user activities for surveillance purposes such as recording voice calls in real-time, and one that can perform certain actions such as communicating with the command and control server, uploading and purging the collected evidence, executing shell commands, disabling the network and even destroying the device by resetting the locking password.
The Trend Micro researchers reiterated what many others have said before: "In a root broken device, security is a fairy tale." Rooting (or jailbreaking) a device makes it dramatically easier for malware and attackers to take control of the device.
They recommended that to avoid such malware from taking over your device, you need to keep the installation from "unknown sources" feature disabled in your phone, and update your device to the latest version of Android. The RCSAndroid malware only works up to Android 4.4.4, but the Hacking Team was already working on an Android 5.0 exploit. Trend Micro also recommended that users install a security solution to protect themselves from known threats (it also happens to offer one).
The company also said that it may be possible to detect when you have the RCSAndroid by watching for random reboots, discovering unfamiliar apps on your phone, or having instant messaging applications freeze on you (due to interference with the spying tool).
Trend Micro researchers said that the RCSAndroid malware cannot be removed without root privileges because the malware uses root privileges to install itself. However, that doesn't mean the users have root privileges themselves until they go through the typical rooting process for an Android phone.
An alternative solution would be to get support from the smartphone manufacturer for flashing the original firmware. However, installing another ROM yourself should also work.