Analysis Overview
SHA256
a2f0430bebf1a55da1d7aab31021a90b49290df5bead76ee49f27ee37bd1e03a
Threat Level: Known bad
The file com.android.core.service.hms.apk was found to be: Known bad.
Malicious Activity Summary
WyrmSpy
WyrmSpy payload
Wyrmspy family
Makes use of the framework's Accessibility service
Removes its main activity from the application launcher
Queries information about the current Wi-Fi connection
Reads the content of the call log.
Queries the phone number (MSISDN for GSM devices)
Makes use of the framework's foreground persistence service
Reads the contacts stored on the device.
Registers a broadcast receiver at runtime (usually for listening for system events)
Reads information about phone network operator.
Declares broadcast receivers with permission to handle system events
Declares services with permission to bind to the system
Requests dangerous framework permissions
Checks if the internet connection is available
MITRE ATT&CK
Mobile Matrix V15
Analysis: static1
Detonation Overview
Reported
2024-05-21 05:51
Signatures
WyrmSpy payload
| Description | Indicator | Process | Target |
| N/A | N/A | N/A | N/A |
Wyrmspy family
Declares broadcast receivers with permission to handle system events
| Description | Indicator | Process | Target |
| Required by device admin receivers to bind with the system. Allows apps to manage device administration features. | android.permission.BIND_DEVICE_ADMIN | N/A | N/A |
Declares services with permission to bind to the system
| Description | Indicator | Process | Target |
| Required by accessibility services to bind with the system. Allows apps to access accessibility features. | android.permission.BIND_ACCESSIBILITY_SERVICE | N/A | N/A |
| Required by notification listener services to bind with the system. Allows apps to listen to and interact with notifications on the device. | android.permission.BIND_NOTIFICATION_LISTENER_SERVICE | N/A | N/A |
Requests dangerous framework permissions
| Description | Indicator | Process | Target |
| Allows an application to read SMS messages. | android.permission.READ_SMS | N/A | N/A |
| Allows an application to send SMS messages. | android.permission.SEND_SMS | N/A | N/A |
| Allows an application to receive SMS messages. | android.permission.RECEIVE_SMS | N/A | N/A |
| Allows an application to monitor incoming MMS messages. | android.permission.RECEIVE_MMS | N/A | N/A |
| Allows an application to read from external storage. | android.permission.READ_EXTERNAL_STORAGE | N/A | N/A |
| Allows an application to write to external storage. | android.permission.WRITE_EXTERNAL_STORAGE | N/A | N/A |
| Allows an application to read the user's contacts data. | android.permission.READ_CONTACTS | N/A | N/A |
| Allows an application to write the user's contacts data. | android.permission.WRITE_CONTACTS | N/A | N/A |
| Allows an application to read the user's call log. | android.permission.READ_CALL_LOG | N/A | N/A |
| Allows an application to write and read the user's call log data. | android.permission.WRITE_CALL_LOG | N/A | N/A |
| Allows an app to access precise location. | android.permission.ACCESS_FINE_LOCATION | N/A | N/A |
| Allows an app to access approximate location. | android.permission.ACCESS_COARSE_LOCATION | N/A | N/A |
| Allows an app to create windows using the type LayoutParams.TYPE_APPLICATION_OVERLAY, shown on top of all other apps. | android.permission.SYSTEM_ALERT_WINDOW | N/A | N/A |
| Allows access to the list of accounts in the Accounts Service. | android.permission.GET_ACCOUNTS | N/A | N/A |
| Allows an application to read or write the system settings. | android.permission.WRITE_SETTINGS | N/A | N/A |
| Allows read only access to phone state, including the current cellular network information, the status of any ongoing calls, and a list of any PhoneAccounts registered on the device. | android.permission.READ_PHONE_STATE | N/A | N/A |
| Required to be able to access the camera device. | android.permission.CAMERA | N/A | N/A |
| Allows an application to record audio. | android.permission.RECORD_AUDIO | N/A | N/A |
| Allows an application to see the number being dialed during an outgoing call with the option to redirect the call to a different number or abort the call altogether. | android.permission.PROCESS_OUTGOING_CALLS | N/A | N/A |
| Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call. | android.permission.CALL_PHONE | N/A | N/A |
| Allows an application to read the user's calendar data. | android.permission.READ_CALENDAR | N/A | N/A |
| Allows an application to write the user's calendar data. | android.permission.WRITE_CALENDAR | N/A | N/A |
| Allows an application to collect component usage statistics. | android.permission.PACKAGE_USAGE_STATS | N/A | N/A |
Analysis: behavioral1
Detonation Overview
Submitted
2024-05-21 05:51
Reported
2024-05-21 06:46
Platform
android-x86-arm-20240514-en
Max time kernel
175s
Max time network
184s
Command Line
Signatures
WyrmSpy
Removes its main activity from the application launcher
| Description | Indicator | Process | Target |
| N/A | N/A | N/A | N/A |
Makes use of the framework's foreground persistence service
| Description | Indicator | Process | Target |
| Framework service call | android.app.IActivityManager.setServiceForeground | N/A | N/A |
Queries information about the current Wi-Fi connection
| Description | Indicator | Process | Target |
| Framework service call | android.net.wifi.IWifiManager.getConnectionInfo | N/A | N/A |
Queries the phone number (MSISDN for GSM devices)
Reads the contacts stored on the device.
| Description | Indicator | Process | Target |
| URI accessed for read | content://com.android.contacts/contacts | N/A | N/A |
Reads the content of the call log.
| Description | Indicator | Process | Target |
| URI accessed for read | content://call_log/calls | N/A | N/A |
Registers a broadcast receiver at runtime (usually for listening for system events)
| Description | Indicator | Process | Target |
| Framework service call | android.app.IActivityManager.registerReceiver | N/A | N/A |
Checks if the internet connection is available
| Description | Indicator | Process | Target |
| Framework service call | android.net.IConnectivityManager.getActiveNetworkInfo | N/A | N/A |
Reads information about phone network operator.
Processes
com.android.core.service.hms
Network
| Country | Destination | Domain | Proto |
| GB | 142.250.187.195:443 | tcp | |
| GB | 142.250.200.14:443 | tcp | |
| N/A | 224.0.0.251:5353 | udp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| GB | 216.58.204.78:443 | tcp | |
| US | 1.1.1.1:53 | android.apis.google.com | udp |
| GB | 142.250.200.46:443 | android.apis.google.com | tcp |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp | |
| SG | 8.219.55.216:443 | tcp |
Files
/data/data/com.android.core.service.hms/cache/config-journal
| MD5 | a5f3df49d1d35c26ce79e7b15e3dd227 |
| SHA1 | 347d0fd73c871aa1ba5c29ae6c99e1d7afee661f |
| SHA256 | 37d4dbec4efb50680a7fa5eacf2ded031dd7fa09e252324cbfed1ffa7462b2a7 |
| SHA512 | e9b2e02dee6aa4688388e07ffde432cc3ca3ffa46d81fbcb2e91eafe6ac15e48c24dcd6599c7d46703bc6fa56f816c6fb1267c1e0cb7909644e0788bdb80c690 |
/data/data/com.android.core.service.hms/cache/config
| MD5 | ec0699a2a426d8c8c9c76e33b0d1a186 |
| SHA1 | 8e0c8f4b7a650dab625431d8a79bccf3f899f1ca |
| SHA256 | bdfce87fd3f04e6b49cb8c95cd20ed189997e8bdc383b4fa7655b37730b9db3d |
| SHA512 | e3c9bb66b056336401406b33e4debf3de3c7b3b4d1f2328a64f2bf45a0d383de24a9ecacd68bdeb2756da5089d443ad605a8bfeaf7caa026091be65784b0c440 |
/data/data/com.android.core.service.hms/cache/config-shm
| MD5 | bb7df04e1b0a2570657527a7e108ae23 |
| SHA1 | 5188431849b4613152fd7bdba6a3ff0a4fd6424b |
| SHA256 | c35020473aed1b4642cd726cad727b63fff2824ad68cedd7ffb73c7cbd890479 |
| SHA512 | 768007e06b0cd9e62d50f458b9435c6dda0a6d272f0b15550f97c478394b743331c3a9c9236e09ab5b9cb3b423b2320a5d66eb3c7068db9ea37891ca40e47012 |
/data/data/com.android.core.service.hms/cache/config-wal
| MD5 | a48301921b1e3027fa133ffcdf477c39 |
| SHA1 | 4b3f4d58465bd9d99bef0c46fadbe6607dd34bef |
| SHA256 | fb1a6508a6eadd550519b7e1f24e88d30406973cdfc83a2baa859e7409c9fedd |
| SHA512 | be9781141414cc7562560ed23f811c467de97bcb999ef276e85e07af20ec3390257ce831e34d969d87ddad0935fade227f7df26c5579ac0bbff3e28f666fe064 |
Analysis: behavioral2
Detonation Overview
Submitted
2024-05-21 05:51
Reported
2024-05-21 06:46
Platform
android-x86-arm-20240514-en
Max time kernel
174s
Max time network
150s
Command Line
Signatures
Makes use of the framework's Accessibility service
| Description | Indicator | Process | Target |
| Framework service call | android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfoByAccessibilityId | N/A | N/A |
| Framework service call | android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfosByViewId | N/A | N/A |
Processes
com.android.aliveservices
Network
| Country | Destination | Domain | Proto |
| N/A | 224.0.0.251:5353 | udp | |
| GB | 142.250.200.3:443 | tcp | |
| GB | 142.250.180.14:443 | tcp | |
| US | 1.1.1.1:53 | android.apis.google.com | udp |
| GB | 142.250.187.206:443 | android.apis.google.com | tcp |
| GB | 142.250.187.206:443 | android.apis.google.com | tcp |
Files
/data/data/com.android.aliveservices/files/mmkv/KaClientKv
| MD5 | 620f0b67a91f7f74151bc5be745b7110 |
| SHA1 | 1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d |
| SHA256 | ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7 |
| SHA512 | 2d23913d3759ef01704a86b4bee3ac8a29002313ecc98a7424425a78170f219577822fd77e4ae96313547696ad7d5949b58e12d5063ef2ee063b595740a3a12d |