A sophisticated CAPTCHA-bypassing Android malware has been found harbored in Google Play apps seeking to covertly subscribe thousands of users to premium-rate services.
Identified by Bitdefender as Android.Trojan.MKero.A, the malware was first spotted in late 2014, but was only distributed via third-party marketplaces or local popular social networks in Eastern Europe. One of the most affected countries was Russia.
At the time, Bitdefender was conducting its own research into the malware’s behavior and found that recent versions had stopped using the highly advanced packer – that eased its detection but still uses obfuscated strings.
This is the malware’s first occurrence in the official Google Play store, suggesting its developers found new ways of packing it into seemingly legitimate apps that can bypass Google Bouncer – the Google’s vetting system.
The Trojan’s sophistication lies in its ability to bypass CAPTCHA authentication systems by redirecting these requests to an online image-to-text recognition service, Antigate.com. Because the online service relies on actual individuals to recognize CAPTPCHA images, requests are sent back to the malware within seconds so that it can proceed with the covert subscription process.
Fig.1 Antigate workers distribution by countries. Source: Antigate.com
The Trojan relies on a Command and Control (C&C) infrastructure to receive configuration settings about desired subscription services and relay received SMS messages. The subscription procedure involves the following steps:
- Loading a target website received from the C&C server;
- Extracting CAPTCHA image and sending it for image-to-text recognition;
- Loading the CATPCHA code on the targeted website;
- Parsing SMS code for code or activation link;
- Loading activation link;
- Sending confirmation SMS;
- Loading website with SMS code.
Fig. 2 General subscription procedure.
To further complicate analysis of the malware, its developers used obfuscation tools to hide classes, functions and C&C servers from where it receives commands and instructions.
After analyzing a list of seven malware-harboring Google Play applications, a list of 29 randomly generated C&C servers names were pulled from a single sample that did not have encrypted strings. If any one of these locations becomes unresponsive due to a takedown or any other reason the malware on any infected device will automatically try to connect to the next C&C server in the preconfigured list and wait for instructions.
Fig.3 C&C server list to which the malware connects to.
Among Google Play apps that disseminate the Trojan, two have between 100,000 and 500,000 installs each, raising the potential victim count to staggering numbers.
For each of the applications found in Google Play, we also analyzed previous versions to discern if they had just been recently weaponized or had been hiding in plain sight for a while. Our findings confirmed that several go back at least five iterations, meaning they have been in the official Google Play marketplace for a long time – exhibiting malicious behavior – and have been constantly updated.
At least one developer, by the name of Like Gaming, has been found publishing more than one of these malicious apps. However, he has stopped using the Trojan in certain versions of his application.
Here’s the list of the malicious apps that at the time of writing have been found in Google Play, along with the MD5 for each version known to have harbored the same malicious behavior:
Version: 8 1.0.8 – MD5: c8455e21d9768d5976fdfe867605a8de
Version: 3 1.3 – MD5: e3b1ecb491ecf424358ead583b21d8f6
Version: 5 1.5 392d9472352a1af31acde7cbb26c854e
Version:Â 1 1.0 – MD5: 14cdf116704af262174eb0678fd1b368
Version: 4 1.3 – MD5: 869624aeef3a9c848ed4e657dc852fff
Version: 7 1.6 – MD5: 39b84a45e82d547dc967d282d7a7cd1e
Version: 5 1.4 – MD5: 3692d7b6e121d36106f808622cdd52e7
Version: 10 1.8 – MD5: 0460d0a51dcf3e4b16c2303d5c36e0ee
Version:Â 6 1.4 – MD5: 569c4a7a0309477c7b17fb549b4a956a
Version:Â 7 1.5 – MD5: f6c0409fffa4a8f5ca6b4f444bae297c
Version:Â 8 1.6 – MD5: df32f9d5ff0572a8f40d8d9edadb1968
Version:Â 9 1.7 – MD5: 61f0c2e4eaa49dd49c43f2caef83b1bf
Version:Â 9 18.104.22.168 – MD5: 7238fc5f14bdee958c7b41b13d6f3ca8
Version: 10 22.214.171.124 – MD5: 69820ddcab4fe0c6ff6a77865abf30b9
Version: 19 1.96 – MD5: 72ba0eef80e7abe28ff8ab40ffb301d2
Considering the malware has been built with convert capabilities to operate completely silent on the victim’s Android device, user detection and removal is extremely difficult. To this end, a mobile security solution needs to be installed on the device to identify malicious applications – regardless from where they have been downloaded – and block threats from causing irreparable financial harm or personal data loss.
At the time of writing, Google has been notified of the existence of these malicious apps in Google Play.
Note: This article is based on technical information provided courtesy of Alin Barbatei, Bitdefender Researcher.