This malicious program can be found in Android firmware installed on certain handset models. The program features a multicomponent design and can secretly download, install and uninstall various applications and block SMS messages coming from certain phone numbers. The malware is located in /system/app/Cube_CJIA01.apk (the package com.cube.activity). Being digitally signed, it posesses unlimited privileges and can perform any actions without user intervention.
Android.Becu.1.origin begins malicious activities when one of the following system events occurs:
- A new SMS is received (Android.provider.Telephony.SMS_RECEIVED);
- The mobile device has booted up (Android.intent.action.BOOT_COMPLETED).
The malware decrypts its configuration file (AES-encrypted), which contains a link to download one of its components, and then generates the key and downloads another AES-encrypted data package from the specified address.
Lorg/json/JSONObject;->getString(Ljava/lang/String;=a_ps)Ljava/lang/String;=
=android.permission.RECEIVE_SMS
Lorg/json/JSONObject;->getString(Ljava/lang/String;=a_a)Ljava/lang/String;=
=android.provider.Telephony.SMS_RECEIVED
Lorg/json/JSONObject;->getString(Ljava/lang/String;=u_ac)Ljava/lang/String;=
=http://[xxxxxxx]qs.mobi/cube/ubcore?token=%s
Lorg/json/JSONObject;->getString(Ljava/lang/String;=u_acf)Ljava/lang/String;=uac.apk
Lorg/json/JSONObject;->getString(Ljava/lang/String;=u_ad)Ljava/lang/String;=
=http://[xxxxxxx]qs.mobi/cube/adgroup?token=%s
Lorg/json/JSONObject;->getString(Ljava/lang/String;=u_adf)Ljava/lang/String;=uad.apk
The downloaded package is decrypted and saved as the file uac.apk located in the program's installation directory data/data/com.cube.activity/files/. This package incorporates an auxiliary component of Android.Becu.1.origin which is loaded into the memory by means of the routine DexClassLoader. The malware also loads its another component uac.dex into the memory. The file is stored in the same installation directory in the format .odex.
uad.apk and uac.dex (detected as Android.Becu.2.origin) bear the payload that enables Android.Becu.1.origin to perform the necessary actions with applications on the infected device—namely, covertly download, install and uninstall programs upon a command from the command and control server.
Having started these components, Android.Becu.1.origin checks whether the application com.zgs.ga.pack (detected as Android.Becu.3.origin) which Is the third module of the malware is installed on the mobile device. If it is missing, the malware downloads and installs it.
Android.Becu.1.origin can block all SMS messages that come from numbers on its black list.