Lucene search

K
mmpcMicrosoft 365 Defender Threat Intelligence TeamMMPC:8BA703EFC5FB039CD898ED5AF845765D
HistorySep 21, 2022 - 5:00 p.m.

Rewards plus: Fake mobile banking rewards apps lure users to install info-stealing RAT on Android devices

2022-09-2117:00:00
Microsoft 365 Defender Threat Intelligence Team
www.microsoft.com
22

Our analysis of a recent version of a previously reported info-stealing Android malware, delivered through an ongoing SMS campaign, demonstrates the continuous evolution of mobile threats. Masquerading as a banking rewards app, this new version has additional remote access trojan (RAT) capabilities, is more obfuscated, and is currently being used to target customers of Indian banks. The SMS campaign sends out messages containing a link that points to the info-stealing Android malware. The malwareā€™s RAT capabilities allow the attacker to intercept important device notifications such as incoming messages, an apparent effort to catch two-factor authentication (2FA) messages often used by banking and financial institutions. The malwareā€™s ability to steal all SMS messages is also concerning since the data stolen can be used to further steal usersā€™ sensitive info like 2FA messages for email accounts and other personally identifiable information (PII).

This diagram illustrates the typical infection chain of this Android malware. The infection starts from an SMS message that contains a malicious link that leads to the malicious APK.Figure 1. Typical SMS campaign attack flow

Our investigation of this new Android malware version started from our receipt of an SMS message containing a malicious link that led us to the download of a fake banking rewards app. The fake app, detected as TrojanSpy:AndroidOS/Banker.O, used a different bank name and logo compared to a similar malware reported in 2021. Moreover, we found that this fake appā€™s command and control (C2) server is related to 75 other malicious APKs based on open-source intelligence. Some of the malicious APKs also use the same Indian bankā€™s logo as the fake app that we investigated, which could indicate that the actors are continuously generating new versions to keep the campaign going.

This blog details our analysis of the recent versionā€™s capabilities. We strongly advise users never to click on unknown links received in SMS messages, emails, or messaging apps. We also recommend seeking your bankā€™s support or advice on digital options for your bank. Further, ensure that your banking apps are downloaded from official app stores to avoid installing malware.

Observed activity

What the user sees

We have seen other campaigns targeting Indian banksā€™ customers based on the following app names:

  • Axisbank_rewards.apk
  • Icici_points.apk
  • Icici_rewards.apk
  • SBI_rewards.apk

Our investigation focused on icici_rewards.apk (package name: com.example.test_app), which presents itself as ICICI Rewards. The SMS campaign sends out messages containing a malicious link that leads to installing a malicious APK on a targetā€™s mobile device. To lure users into accessing the link, the SMS claims that the user is being notified to claim a reward from a known Indian bank.

Screenshot of the SMS message received. The message contains a link and mentions the name of a legitimate India-based bank.Figure 2. The text message with a malicious link sent to users

Upon user interaction, it displays a splash screen with the bank logo and proceeds to ask the user to enable specific permissions for the app.

Screenshots of the fake app installed on the mobile device and where it states the Android permissions it needs to be enabled. The app uses an India-based bank's logo to appear legitimate.Figures 3 and 4. App installed on the Android device. The app asks users to enable permissions on text messaging and contacts, to name a few

The fake app asks for credit card information upon being granted all permissions. This should raise usersā€™ suspicions on the appā€™s motive as apps typically ask for sensitive information only through user-driven transactions like paying for purchases.

The app displays another fake screen with further instructions to add to its legitimacy once users supply the information needed.

Screenshots of the fake app asking for the user's credit card information and message after user information has been supplied. The message adds to the fake app's supposed legitimacy.Figures 5 and 6. A fake page where the app asks users to provide information, and the resulting message once data is added

What happens in the background

Analyzing the XML file AndroidManifest further identifies the entry points of the malware along with the permissions requested. It also defines services that can run in the background without user interaction. The app uses the following permissions:

  • READ_PHONE_STATE
  • ACCESS_NETWORK_STATE
  • READ_SMS
  • RECEIVE_SMS
  • READ_CALL_LOG
  • FOREGROUND_SERVICE
  • MODIFY_AUDIO_SETTINGS
  • READ_CONTACTS
  • RECEIVE_BOOT_COMPLETED__
  • WAKE_LOCK__

The malware uses MainActivity, AutoStartService, and RestartBroadCastReceiverAndroid functions to carry out most of its routines. These three functions interact to ensure all the malwareā€™s routines are up and running and allow the app to remain persistent on the mobile device.

MainActivity

MainActivity, also called the launcher activity, is defined under _com.example.test_app.MainActivity. _It is launched first after installation to display the fake appā€™s ICICI splash screen. This launcher activity then calls OnCreate() method to check the deviceā€™s internet connectivity and record the timestamp of the malwareā€™s installation, and Permission_Activity to launch permission requests. Once the permissions are granted, Permission_Activity further calls _AutoStartService _and login_kotak.

Screenshot of the malware's code showing the actions covered under the MainActivity function._Figure 7. Actions under MainActivity _

The class login_kotak is responsible for stealing the userā€™s card information. It shows the fake credit card input page (Figure 5) and temporarily stores the information in the device while waiting for commands from the attacker.

Screenshot of the malware's code used to steal all information.Figure 8. login_kotak class steals card information and other personally identifiable information (PII)

AutoStartService

_AutoStartService, _themain handler of the malware, functions based on the commands it receives. The handler provides the malware with the following capabilities:

Enforcing its RAT commands

This malwareā€™s new version adds several RAT capabilities that expands its information stealing. It enables the malware to add call log uploading, SMS message and calls interception, and card blocking checks.

Screenshots of codes comparing the malware samples as reported in 2021 and 2022. The 2022 sample has added commands compared to the 2021 sample.Figure 9. Code comparison of 2021 (left) and 2022 (right) samples

These commands are described below.

Command Name Description
all_sms_received Flags to enable/disable SMS upload
all_call_received Flags to enable/disable call log upload
silent Put the mobile device on silent
block Checks if the userā€™s card is blocked
sms_filter Filters SMS based on strings (defaults to ā€œICICIā€)
online Checks if the user has an active internet connection
force_online Uploads received SMS messages to the C2 server
is_online Checks if the device is connected to the C2 server
force_calls Uploads call logs to the C2 server

The _silent _command, which the malware uses to keep the remote attackerā€™s SMS sending activities undetected, stands out from the list of commands. Many banking apps require two-factor authentication (2FA), often sent through SMS messages. This malware enabling an infected deviceā€™s silent mode allows attackers to catch 2FA messages undetected, further facilitating information theft.

Screenshot of the code where the malware turns on the mobile device's silent mode.Figure 10. This code is responsible for turning the mobile deviceā€™s silent mode on

Encryption and decryption of SMS messages

In addition to encrypting all data it sends to the attacker, the malware also encrypts the SMS commands it receives from the attacker. The malware decrypts the commands through its decryption and decoding modules. The malware uses a combination of Base64 encoding/decoding and AES encryption/decryption methods.

This screenshot shows the AES and Base64 encryption and decryption modules within the malware's code.Figure 11. The malwareā€™s encoding and decoding modules, as seen in its code

Stealing SMS messages

The malware steals all SMS messages from the mobile deviceā€™s inbox. It collects all received, sent, read, and even unread messages. Collecting all SMS messages might allow attackers to use the data to expand their stealing range, especially if any messages contain other sensitive information such as SMS-based 2FA for email accounts, oneā€™s personal identification like the Aadhar card commonly used in India, or other financial-related information.

Screenshot of the malware's code used to steal all SMS messages.Figure 12. Code used to steal all SMS messages

Uploading all call logs

The malware also uploads call logs stored on the mobile device. This data may be used for the attackerā€™s surveillance purposes.

Screenshot of the malware's code that steals all call logs.Figure 13. The malware code for stealing call logs

Communicating with its C2

This malware uses the open-source library socket.io to communicate with its C2 server.

Screenshot of the code showing the malware's C2 server connection.Figure 14. Code showing the malwareā€™s C2 server connection

RestartBroadCastReceiver

The malware also uses the Android component _RestartBroadcastReceive_r, which functions based on the type of events received by the mobile device. This receiver launches a job scheduler named JobService, which eventually calls AutoStartService in the background. The receiver reacts when the device is restarted, if the device is connected to or disconnected from charging, when the deviceā€™s battery status changes, and changes in the deviceā€™s Wi-Fi state. RestartBroadcastReceiver ensures that the main command handler AutoStartService is always up and running.

Screenshot of the malware's action using the AutoStartService functions.Figure 15. How the Receiver starts AutoStartService

Mitigating the fake appā€™s unwanted extras

This malwareā€™s continuing evolution highlights the need to protect mobile devices. Its wider SMS stealing capabilities might allow attackers to the stolen data to further steal from a userā€™s other banking apps. Its ability to intercept one-time passwords (OTPs) sent over SMS thwarts the protections provided by banksā€™ two-factor authentication mechanisms, which users and institutions rely on to keep their transactions safe. Its use of various banking and financial organizationsā€™ logos could also attract more targets in the future.

App installation on Android is relatively easy due to the operating systemā€™s open nature. However, this openness is often abused by attackers for their gain. Apart from exercising utmost care when clicking on links in messages and installing apps, we recommend that users follow these steps to protect their devices from fake apps and malware:

  • Download and install applications only from official app stores.
  • Android device users can keep the Unknown sources option disabled to stop app installation from unknown sources.
  • Use mobile solutions such as Microsoft Defender for Endpoint on Android to detect malicious applications.

Appendix

Indicators of compromise

Indicator**** Type**** Description****
734048bfa55f48a05326dc01295617d932954c02527b8cb0c446234e1a2ac0f7 SHA-256 icici_rewards.apk
da4e28acdadfa2924ae0001d9cfbec8c8cc8fd2480236b0da6e9bc7509c921bd SHA-256 icici_rewards.apk
65d5dea69a514bfc17cba435eccfc3028ff64923fbc825ff8411ed69b9137070 SHA-256 icici_rewards.apk
3efd7a760a17366693a987548e799b29a3a4bdd42bfc8aa0ff45ac560a67e963 SHA-256 icici_rewards.apk (first reported by MalwareHunterTeam)
hxxps://server4554ic[.]herokuapp[.]com/ URL C2 server

MITRE ATT&CK techniques

Execution**** Persistence**** Defense Evasion**** Credential Access**** Collection**** Command & Control**** Exfiltration**** Impact****
[T1603 Scheduled
Task/Job](<http://attack.mitre.org/techniques/T1603&gt;) T1624 Event Triggered Execution T1406 Obfuscated files/information T1417 Input capture T1417 Input capture T1437 Application Layer Protocol T1646 Exfiltration Over C2 Channel T1582 SMS Control
T1603 Scheduled Task/Job T1636 Protected User Data T1521 Encrypted Channel

Shivang Desai,Abhishek Pustakala, andHarshita Tripathi
Microsoft 365 Defender Research Team

The post Rewards plus: Fake mobile banking rewards apps lure users to install info-stealing RAT on Android devices appeared first on Microsoft Security Blog.