- Since April 2022, Cisco Talos has been tracking a malicious campaign operated by the espionage-motivated Arid Viper advanced persistent threat (APT) group targeting Arabic-speaking Android users. In this campaign, the actors leverage custom mobile malware, also known as Android Package files (APKs), to collect sensitive information from targets and deploy additional malware onto infected devices.
- Although Arid Viper is believed to be based out of Gaza, Cisco Talos has no evidence indicating or refuting that this campaign is related in any way to the Israel-Hamas war. Furthermore, the publication of this research was delayed while Talos was performing the due diligence with law enforcement.
- The mobile malware used in this campaign shares similarities with a non-malicious online dating application, referred to as Skipped. The malware specifically uses a similar name and the same shared project on the applications’ development platform. This overlap suggests the Arid Viper operators are either linked to Skipped’s developer or somehow gained illicit access to the shared project’s database.
- Our analysis uncovered an array of simulated dating applications that are linked to Skipped, leading us to assess that Arid Viper operators may seek to leverage these additional applications in future malicious campaigns.
- In order to coerce users into downloading their mobile malware, Arid Viper operators share malicious links masquerading as updates to the dating applications, that instead deliver malware to the user’s device.
- Arid Viper’s Android malware has a number of features that enable the operators to disable security notifications, collect users’ sensitive information, and deploy additional malicious applications on the compromised device.
Arid Viper mobile malware shares similarities with non-malicious dating application
The mobile malware deployed by Arid Viper in this campaign shares similarities with the non-malicious dating application Skipped, in that it has a similar name and uses the same shared project on the application development platform Firebase. These overlaps, explained in further detail below, suggest the Arid Viper operators may be linked to Skipped’s developers, and/or they may have illicitly copied characteristics of the non-malicious application in order to entice and deceive users into downloading their malware. Of note, the technique of leveraging legitimate application names in order to coerce users into downloading malicious software is in line with the “honey trap” tactics used by Arid Viper in the past.
The name of Arid Viper’s mobile malware, “Skipped_Messenger,” appears to be a reference to Skipped, which is listed on some application stores as “Skipped - Chat, Match & Dating.” The “Skipped_Messenger” malware uses Google’s Firebase messaging system as a command and control (C2) channel, while the non-malicious Skipped application uses it for pushing out notifications. Google’s Firebase messaging system works via the creation of a named project, along with other unique identifiers. This project is protected with a set of credentials and API keys. In order for developers to write applications that use the same project and Firebase databases, they need credentials in the form of API keys, and project and application IDs that are generated in the Firebase project’s console.
The Android malware deployed in this malicious campaign extensively uses the same Firebase databases used by Skipped, however, both the malware and the non-malicious application use their own set of distinct credentials, including API keys and Client Application IDs. This observation indicates that the malware developers had access to the same Firebase project and backend database that are used by the non-malicious dating application, and generated their own set of credentials.
Talos also considered, though assessed it was unlikely, that Skipped’s Firebase databases were configured in test mode, made publicly available, and abused by Arid Viper. Test mode allows a developer to quickly set up a database for testing purposes, which makes it available to everyone who knows the URL. This mode needs to be set when the database is first created and is only available for 30 days. After this duration, the database is locked and needs to be specifically re-configured to provide public access. The passive DNS data for the Skipped Firebase project’s domain shows that the URL for the database was first seen on August 9, 2021, while Arid Viper’s malware started using this infrastructure beginning on November 11, 2022. Given the malware used Skipped’s Firebase project almost a year after the infrastructure was set up (and well outside the 30 day window of public access), it is unlikely Arid Viper leveraged unintentional public access to the database.
Furthermore, this mode does not provide any management capabilities for the overall Firebase project, but rather only provides data read and write capabilities to the backend database. The generation of API keys and registration of the Android malware for the project would still need to be provisioned on the project’s management console.
Finally, Talos found no public evidence of the Firebase/Google Cloud project being compromised such that it may be used by any parties except the project’s original creators. This supports our assessment that Skipped developers likely shared their Firebase project with Arid Viper operators.
As seen below, the malware used by Arid Viper in this campaign is very similar to remote access trojans (RATs) used by the threat actor in previous campaigns. The previous versions of the malware all allude to the Skipped application, either via references in Android package names or in the malware’s Graphical User Interface (GUI).
|Malicious App Hash||Package/Name|
User interface for an Arid Viper sample masquerading as the “Skipped” dating App.
A web of related dating applications may present opportunities for future campaigns
Our analysis uncovered an extended web of companies that create dating-themed applications that are similar or identical to Skipped. Given the aforementioned connections between Arid Viper’s mobile malware and Skipped, we assess that Arid Viper operators may seek to leverage the infrastructure and/or names of these additional applications in future malicious campaigns.
The publisher of Skipped, a company called “Skipped GmbH,” was registered and is headquartered in Germany, and appears to be linked to a multitude of seemingly non-malicious dating applications published by companies in Singapore and Dubai. We found that the domains used by these additional companies to distribute their dating applications, which are available on the Google and Apple application stores, were registered by Skipped GmbH. Most of these applications provide their users with a chatting service, where no face-to-face interaction is possible. During these conversations, the application will interrupt and request the user buys “coins” in order to continue the interaction. This feature is notable as, if there is a current or potential connection between Arid Viper and these applications, it could generate revenue for the APT operators.
The following online dating applications that are connected to Skipped GmbH can be installed from the Google Play Store or the Apple App Store:
- “SKIPPED - Chat, Match & Dating” : 50K downloads on Google Play.
- “Joostly - Dating App! Singles,” : 10K downloads on Google Play.
- “VIVIO - Chat, flirt & Dating” : Available on Apple App Store.
- “Meeted (previously Joostly) - Flirt, Chat & Dating” : Available on Apple App Store.
“Skipped” Application preview as shown in the Google Play store.
Capture of the meeted[.]de website where the verbiage at the end states the nature of the application.
We were able to connect Skipped GmbH, the central entity in this ecosystem, to individual(s) operating under multiple monikers. Pivoting off the individual(s) we were able to identify at least three different yet related companies in Germany that author and distribute mobile applications that are usually dating themed:
|Company Name||Established Date|
|Skipped GmbH||Feb 13, 2023|
|Dateed GmbH||July 3, 2020|
|Pyramids Media GmbH||Jan 28, 2019|
These applications are distributed over both Apple and Google’s application stores and use German in their advertisements and content. All of these applications contain romance or dating themes, a common characteristic of applications abused by the Arid Viper group in the past.
Talos discovered multiple domains registered by Skipped GmbH that serve as product home pages and host artifacts like application service agreements. The applications that these domains pertain to are all romance and dating themed and are distributed on the App Stores using a variety of publisher entities. A high-level timeline of events for the companies, domains and applications involved in this ecosystem is shown below:
|Company||Pyramids Media GmbH||January 28, 2019||None|
|Domain||skipped[.]at||January 16, 2020||Skipped GmbH|
|Domain||balou[.]app||April 8, 2020||Skipped GmbH|
|Domain||meeted[.]at||April 11, 2020||Skipped GmbH|
|Company||Dateed GmbH||July 3, 2020||None|
|Application||Juola/Skipped App||February 11, 2021||Published by NYUTAINMENT PTE. LTD|
|Company||Dream DDF FZ-LLC,Dubai, UAE||Unknown.Public domain registered on July 4, 2021||None|
|Application||Meeted App||August 25, 2021||Published by Skipped GmbH|
|Domain||lovbedo[.]com||September 22, 2021||Unknown|
|Domain||skpd[.]app||February 15, 2022||Owned by Skipped GmbH|
|Company||NYUTAINMENT PTE. LTD, Singapore||March 31, 2022||None|
|Application||VIVIO/Lovbedo app||April 7, 2022||Published by Adx Consulting|
|Company||Adx Consulting DSO-IFZA, Dubai, UAE||Unknown. Public domain registered on April 26, 2022||NEW publisher of Vivio/Lovbedo|
|Domain||isingles[.]app||April 19, 2022||Owned by Skipped GmbH|
|Domain||joula[.]app||April 28, 2022||Owned by Skipped GmbH|
|Domain||hellovy[.]app||October 13, 2022||Owned by Skipped GmbH|
|Domain||meetey[.]app||October 14, 2022||Owned by Skipped GmbH|
|Domain||vivio[.]app||October 31, 2022||Owned by Skipped GmbH|
|Company||Skipped GmbH||February 13, 2023||None|
|Company||QUVY CORE PTE. LTD, Singapore||May 26, 2023||None|
|Domain||imatched[.]app||June 13, 2023||Owned by Skipped GmbH|
|Domain||skipped[.]us||July 7, 2023||Owned by Skipped GmbH|
|Domain||meeted[.]app||July 25, 2023||Owned by Skipped GmbH|
All websites listed above use the exact same template to present their content, with minor variations in the content itself, captions and images. The websites provide links to download the application from application stores in the website footer. The legal agreement and publisher information on these sites, however, may not refer to Skipped GmbH. In fact, many of the websites list companies based out of different countries:
|App Name||Developer Name|
|Skipped GmbH, Flensburg, Germany
VAT number: DE328073875
|VIVIO (Android)||Adx Consulting DSO-IFZA
Dubai Silicon Oasis
|Meeted (Android)||QUVY CORE PTE. LTD, Singapore,
VAT ID: 202320706D
|NYUTAINMENT PTE. LTD
(Singapore VAT ID: 202210925E)
|Meetey (Android)||Dream DDF FZ-LLC
Although there is a concrete connection between Skipped GmbH and the domains associated with these applications as evidenced by their domain registration information, it is currently unclear if there is a direct relationship between Skipped GmbH and the other developers listed above that distribute these applications.
Talos produced a graph to map the connections between the application companies, domains, and websites, which can be seen below. This graph includes a connection to Arid Viper’s Android malware based on the malware’s overlapping use of Firebase with Skipped, as explained above. At the center of the graph lies Skipped GmbH, which is used for registering domains and establishing websites for the various dating applications. These applications and their websites are connected to additional developers and publishers located globally. For example, the “Joula” application is distributed by a company called “NYUTAINMENT PTE. LTD”, based out of Singapore. However, the domain for Joula, joula[.]app was registered by Skipped GmbH.
Notably, although this ecosystem of applications and publishers cannot be explicitly categorized as a scam operation, at least one of these companies, NYUTAINMENT PTE. LTD, was issued Cease and Desist orders in January 2022 by the Berlin Regional Court for operating websites and applications using fake profiles.
Graph showing the network of companies
Malicious campaign distributes mobile malware disguised as legitimate application updates
Arid Viper’s latest campaign, which Talos observed occurring since at least April 2022, targets Arabic-speaking Android users through mobile malware that masquerades as application updates. Arid Viper has a history of disguising their malware as updates, either for dating applications or for popular messaging applications such as WhatsApp, Signal, or Telegram. The attackers typically send targets a link to a tutorial video for the application, which is posted on a media sharing website like YouTube.
The tutorial video will provide a step-by-step account of all features of the application and instructions on how to operate it in Arabic, suggesting a specific targeting of Arabic-speaking individuals. One such video depicts an individual narrating in Arabic in Levantine dialect. A URL is provided in the video’s description, which directs to an attacker-controlled domain that serves a copy of Arid Viper’s APK malware.
Youtube video with link to download malicious APK (Arabic language).
Talos identified a YouTube account that hosted such a video. The account was created on March 17, 2022 and has uploaded only one video, suggesting Arid Viper may use such accounts to host a limited number of videos at a time. The video, as shown in the screen capture above, had approximately 50 views at the time of writing.
We assess that all the domains used by the attackers in this campaign are solely registered, operated and controlled by Arid Viper. These domains follow the same naming schema observed in previous Arid Viper infrastructure and are not only used to host malicious APKs, but also act as C2 servers for the implants. The domains are typically administered by the attackers by using webshells such as “ALFA TEaM Shell”.
ALFA TEaM Webshell prompt on Arid Viper’s domain.
As previously mentioned, some of the malware deployed in this campaign used Google’s Firebase platform as C2 infrastructure for the malicious applications. The Firebase platform primarily serves as a C2 channel to issue commands, and to download and upload files. The platform also has the ability to provide a new C2 server address to the malware so that it can switch from the Firebase platform to another attacker-controlled C2 host. One of the Firebase projects used by Arid Viper in this campaign dates back to 2021 and has some non-malicious mobile APKs associated with it, indicating operators have been trying to create, test and popularize other APK software out of the same account for years.
Mobile malware enables operators to collect targets’ information and deploy additional malware
Arid Viper’s Android malware has a number of features that enable the operators to surreptitiously collect sensitive information from victims’ devices and deploy additional executables. The malware uses native code to hide some of its activities, meaning it can leverage Android’s capability that allows for the execution of assembly-based shared libraries. Android applications can usually be built from Java code, however for performance reasons, applications have the ability to load libraries which are compiled into native code (shared libraries). This native code is also harder to analyze and reverse engineer.
Once deployed, the malware attempts to hide itself on a victim machine by disabling system or security notifications from the operating system. The malware completely disables notifications on Samsung mobile devices and on any device with an Android package that contains the word “security”. The malware makes notifications less visible on Huawei, Google, Oppo and Xiaomi mobile devices.
This malware loads a library typically called “libuoil.so” or “libdalia.so”, which exports four main functions. Each of these functions will return the name of an administration package installed by vendors on their version of the Android Open Source Project (AOSP).
Example of an exported function
These names will then be used to hide notifications from the security packages from the four vendors mentioned above. It is unclear why these vendors require a different obfuscation procedure since the code strings are not obfuscated in the native code library.
Arid Viper has been using native code libraries since at least 2021 with the intent of obfuscating C2 hostnames. However, in this campaign, the strings are not obfuscated at all and are used just to nullify the notifications from built-in security packages, a notable development in the way in which the threat actor is developing and packaging their Android malware.
The malware is configured to obtain a number of permissions from the infected device, including the abilities to:
- Record audio
- Read contacts
- Disable Keyguard, which disables keylocks and associated password security measures
- Read call logs
- Send, receive and read SMS messages
- View and change Wi-Fi settings
- Kill background apps
- Read contents of external storage
- Access the camera to take pictures and record video
- Retrieve information on currently running tasks on the device
- Download files without notifications to users
- Create system alerts
These capabilities and the code used to implement them are explored in greater detail below.
From the capability point of view, this RAT exhibits all the classic functionalities of an Android-based RAT including system fingerprinting, data exfiltration and payload deployment, to name a few.
Executes trojanized apps
The malware has the capability to download additional malware, which is typically masquerading as updates for legitimate applications. It can also display notifications that specific applications have updates available, potentially prompting users to install the malicious updates. The malware has the capability to download, rename, and run the following applications:
- “.whatsapp-update.apk” to “whatsapp-update.apk”
- “.messenger-update.apk” to “messenger-update.apk”
- “.google-play-update.apk” to “google-play-update.apk”
- “.instagram-update.apk” to “instagram-update.apk”
App name construction.
Retrieves system information
The implant has the ability to get system information from locations such as “/proc/cpuinfo“, and from systems services such as “activity”. It will also get memory information from the device using the StatFs API which is a wrapper for statvfs() Unix call.
The malware can retrieve the following SIM information for dual SIM devices for each SIM:
- Number of SIM slots
- SIM state
- SIM Service Provider Name (SPN)
- SIM serial number
- SIM Device ID (IMEI or MEID)
- SIM subscriber ID (IMSI)
It can also retrieve the following battery information for the device:
- Battery health
- Battery status
- Average battery level
The malware can identify the manufacturer of the device if it is one of the following:
It can get the following network information:
- Public IPv4 and IPv6 address using https://api.ipify.org
- MAC address
- WIFI network name
Finally, the malware is able to retrieve additional information, including:
- Whether the phone supports 2G, 3G, or 4G
- Device ID
- Email address of account associated with the phone
- Device brand and model.
- OS release and API versions
Receives additional C2 domains from the current C2
The Android implant can ask the current C2 for an updated C2 domain and store it in its configuration, as shown below:
Exfiltrates collected credentials
It can also exfiltrate credentials collected from Facebook and relay them to the C2 server:
Record, send and receive calls and SMS messages
The implant has the ability to record telephone calls made on the compromised device. This is done by recording the MIC audio source, capturing the recording to a specified location on disk, and subsequently uploading all files in the directory to the C2 server.
The malware can also capture SMS messages received by the device, send new SMS messages, and make calls to phone numbers specified by the C2:
Finally, the implant records the following information for all SMS messages stored on the compromised device:
- Sender ID and address
- Read status
- Date received
The malware can record contact information from the device and save it in a file in a folder specified by the implant:
- Contact ID
- Display name
- Phone number
Record call history
The implant has the ability to record the call history information on the compromised device and save it in a specific file and folder. This information can include:
- Phone number and name of caller
- Call type, either incoming or outgoing
- Call date and time
- Call duration in seconds
Finally, Arid Viper’s malware has the ability to copy all files with the following extensions in a specified directory to another directory for exfiltration to C2: jpg, jpeg, png, pdf, doc, docx, ppt, pptx, xls, mpp, accdb, xlsx, mdb
Ways our customers can detect and block this threat are listed below.
Cisco Secure Web Appliance web scanning prevents access to malicious websites and detects malware used in these attacks.
Cisco Secure Firewall (formerly Next-Generation Firewall and Firepower NGFW) appliances such as Threat Defense Virtual, Adaptive Security Appliance and Meraki MX can detect malicious activity associated with this threat.
Cisco Secure Malware Analytics (Threat Grid) identifies malicious binaries and builds protection into all Cisco Secure products.
Umbrella, Cisco's secure internet gateway (SIG), blocks users from connecting to malicious domains, IPs and URLs, whether users are on or off the corporate network. Sign up for a free trial of Umbrella here.
Cisco Secure Web Appliance (formerly Web Security Appliance) automatically blocks potentially dangerous sites and tests suspicious sites before users access them.
Additional protections with context to your specific environment and threat data are available from the Firewall Management Center.
Cisco Duo provides multi-factor authentication for users to ensure only those authorized are accessing your network.
Open-source Snort Subscriber Rule Set customers can stay up to date by downloading the latest rule pack available for purchase on Snort.org.
IOCs for this research can also be found in our GitHub repository here.
from Cisco Talos Blog https://bit.ly/3SDZbiz