Security analysts have found a new malware that infects mobile devices and subscribes the victims to premium subscription provided by telecom companies, and the victim remains oblivious to this.
The CAPTCHA verification that is usually required to subscribe to these services is bypassed via Machine Learning using the services of a Chinese company named “Super Eagle”.
This malware has been christened WAPDropper, and belongs to a new class of malwares that have been recently discovered.
How does WAPDropper work?
WAPDropper consists of two modules,
- The dropper module
- Premium dialer module
The dropper module is responsible for downloading the 2nd stage malware and the premium dialer module subscribes the victims to legitimate premium services. In this case, services are provided by Thai and Malaysian telecom providers.
The flow of the attack is described in the below diagram:
WAPDropper, once installed on the victim device begins to collect the below information Device ID
- Mac Address
- Subscriber ID
- Device model
- List of all installed apps
- List of running services
- Topmost activity package name
- Is the screen turned on
- Are notifications enabled for this app
- Can this app draw overlays
- Amount of available free storage space
- Total amount of RAM and available RAM
- List of non-system applications
WAPDropper then sends the collected information to a hardcoded C&C, which is the main C&C server, and then sends the malware a list of additional C&Cs from which a random URL is picked in future.
After it receives a response from the C&C server, WAPDropper parses the JSON configuration. The JSON configuration includes instructions concerning the additional payloads that the dropper module downloads, which includes:
- The payload’s download URL
- MD5 verification of the downloaded file
- Class Name and Method Name for the reflection call
- Execution frequency (minutes)
- Maximum number of executions
As it finishes downloading each payload, WAPDropper decrypts the downloaded DEX files to .jar files and stores them locally on the infected device, while it downloads the pending payloads in the background.
Once this is done, WAPDropper loads the decrypted .jar files and deletes them from the device right away, to avoid leaving traces behind.
WAPDropper monitors the frequency of the payloads and continually sends a report on the payload’s current status to one of its C&C servers and then the dialer module decrypts a DEX file and writes it as a “data.jar”.
WAPDropper then sends a request thread to the C&C server for the server to send an ad offer.
After it receives an ad offer, the malware constructs a 1×1 pixel dialog. This tiny dialog allows the malware to load the previously unpacked native library which is responsible for removing all “X-Requested-With” HTTP headers from all HTTP requests.
WAPDropper replaces all of the occurrences of “X-Requested-With” string with “Accept-Encoding” string, which leads to immediately disabling the protection against CSRF attacks.
- Obtain the victim’s phone number.
- Obtain the victim’s phone information.
- Obtain an SMS list.
- Send SMS to a specified number.
- Send POST requests to a specified URL.
- Malware recognizes CAPTCHA capability also
- WAPDropper chooses whether to download the picture and send it to the server or to parse the DOM tree of the picture, extract it, encode it with Base64 and then send it to the server.
When the malware submits the verification code image to the service, the platform returns the coordinate position of the recognition result in the picture and then parses the coordinate simulation landing.
Cause and Effect
The result of this malware is that all the victims would receive massive phone bills at the end of the month, until they subscribe from this premium service.
This type of attack was very common in the late 2000s and early 2010s but was extinct with the advent of the smartphone. It made a comeback in the latter half of the 2010s when the attackers realized that the newer smartphones and telecom operators supported the older WAP standard.