Security researchers have discovered a series of Google Play apps that have been stealing text messages from users and making unauthorized purchases on users’ dimes.
The malware, which was hidden in eight apps that had more than 700,000 downloads, hijacked text message notifications and then made unauthorized purchases, mobile researchers from McAfee Sang Ryol Ryu and Chanung Pak said Monday. McAfee calls the malware Android/Etinu.
User data free for the taking
The researchers said an examination of the attacker-operated server that managed infected devices showed that it stored all sorts of data from users’ phones, including mobile carrier, phone number, text messages, IP address, country and network status. The server also stored auto-renewing subscriptions, some of which looked like this:
The malware is reminiscent, if not identical, to a prolific family of Android malware known as Joker, which also steals text messages and signs users up for expensive services.
While the researchers say Etinu is a malware family distinct from Joker, security software from Microsoft, Sophos and other companies use the word “Joker” in their detection names of some of the newly discovered malicious apps. Etinu’s decoding flow and use of multi-stage payloads are also similar.
In an email, McAfee’s Sang Ryol Ryu wrote, “While Etinu is very similar to Joker, the payload loading, encryption, and geographic targeting processes are different from Joker.”
The Etinu payloads appear in an Android Assets folder with file names such as “cache.bin”, “settings.bin”, “data.droid”, or “image files”.
As shown in the decryption flowchart above, malicious code hidden in the main installation file downloaded from Play opens an encrypted file called “1.png” and decrypts it using a key that is the same as the package name. The resulting file, “loader.dex”, is then executed, resulting in an HTTP POST request to the C2 server.
“Interestingly, this malware uses key management servers,” the McAfee researchers wrote. “It requests keys from the servers for the AES encrypted second payload, ‘2.png.’ And the server returns the key as the ‘s’ value of JSON. This malware also has a self-update feature. When the server replies with the ‘URL’ value, the content in the URL is used instead of ‘2.png’. However, servers do not always respond to the request or return the secret key.”
The apps and associated cryptographic hashes are:
Some apps look like this:
The researchers said they reported the apps to Google and the company removed them.