Analysis Overview
SHA256
136d00629e8cd59a6be639b0eaef925fd8cd68cbcbdb71a3a407836c560b8579
Threat Level: Likely malicious
The file excess.undrilled.improper.crushing.apk was found to be: Likely malicious.
Malicious Activity Summary
Removes its main activity from the application launcher
Makes use of the framework's Accessibility service
Queries the phone number (MSISDN for GSM devices)
Loads dropped Dex/Jar
Obtains sensitive information copied to the device clipboard
Requests dangerous framework permissions
Reads information about phone network operator.
Requests disabling of battery optimizations (often used to enable hiding in the background).
Declares services with permission to bind to the system
Makes use of the framework's foreground persistence service
Performs UI accessibility actions on behalf of the user
Queries the mobile country code (MCC)
Registers a broadcast receiver at runtime (usually for listening for system events)
Checks CPU information
Checks memory information
MITRE ATT&CK
Mobile Matrix V15
Analysis: static1
Detonation Overview
Reported
2024-10-14 17:23
Signatures
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 |
Requests dangerous framework permissions
| Description | Indicator | Process | Target |
| Required to be able to connect to paired Bluetooth devices. | android.permission.BLUETOOTH_CONNECT | N/A | N/A |
| Allows read access to the device's phone number(s). | android.permission.READ_PHONE_NUMBERS | N/A | N/A |
| Allows an app to post notifications. | android.permission.POST_NOTIFICATIONS | N/A | N/A |
| Allows an application to send SMS messages. | android.permission.SEND_SMS | 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 |
| Allows an application to read the user's contacts data. | android.permission.READ_CONTACTS | N/A | N/A |
| Allows applications to use exact alarm APIs. | android.permission.SCHEDULE_EXACT_ALARM | N/A | N/A |
| Allows an application to receive SMS messages. | android.permission.RECEIVE_SMS | N/A | N/A |
| Allows an application to read SMS messages. | android.permission.READ_SMS | 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 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 a broad access to external storage in scoped storage. | android.permission.MANAGE_EXTERNAL_STORAGE | N/A | N/A |
| Allows an application to read or write the system settings. | android.permission.WRITE_SETTINGS | N/A | N/A |
Analysis: behavioral2
Detonation Overview
Submitted
2024-10-14 17:23
Reported
2024-10-14 17:24
Platform
android-33-x64-arm64-20240624-en
Max time kernel
27s
Max time network
36s
Command Line
Signatures
Loads dropped Dex/Jar
| Description | Indicator | Process | Target |
| N/A | /data/data/excess.undrilled.improper.crushing/code_cache/decrypted.dex | N/A | N/A |
| N/A | /data/data/excess.undrilled.improper.crushing/code_cache/decrypted.dex | N/A | N/A |
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 |
Obtains sensitive information copied to the device clipboard
| Description | Indicator | Process | Target |
| Framework service call | android.content.IClipboard.addPrimaryClipChangedListener | N/A | N/A |
Queries the phone number (MSISDN for GSM devices)
Makes use of the framework's foreground persistence service
| Description | Indicator | Process | Target |
| Framework service call | android.app.IActivityManager.setServiceForeground | N/A | N/A |
Performs UI accessibility actions on behalf of the user
| Description | Indicator | Process | Target |
| N/A | android.accessibilityservice.IAccessibilityServiceConnection.performGlobalAction | N/A | N/A |
| N/A | android.accessibilityservice.IAccessibilityServiceConnection.performGlobalAction | N/A | N/A |
| N/A | android.accessibilityservice.IAccessibilityServiceConnection.performGlobalAction | N/A | N/A |
| N/A | android.accessibilityservice.IAccessibilityServiceConnection.performGlobalAction | N/A | N/A |
| N/A | android.accessibilityservice.IAccessibilityServiceConnection.performGlobalAction | N/A | N/A |
Reads information about phone network operator.
Requests disabling of battery optimizations (often used to enable hiding in the background).
| Description | Indicator | Process | Target |
| Intent action | android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS | N/A | N/A |
Checks CPU information
| Description | Indicator | Process | Target |
| File opened for read | /proc/cpuinfo | N/A | N/A |
Checks memory information
| Description | Indicator | Process | Target |
| File opened for read | /proc/meminfo | N/A | N/A |
Processes
excess.undrilled.improper.crushing
excess.undrilled.improper.crushing:webview_process
Network
| Country | Destination | Domain | Proto |
| GB | 216.58.201.100:443 | udp | |
| N/A | 224.0.0.251:5353 | udp | |
| GB | 216.58.201.100:443 | tcp | |
| GB | 216.58.201.100:443 | tcp | |
| GB | 216.58.204.78:443 | tcp | |
| GB | 216.58.204.78:443 | tcp | |
| US | 1.1.1.1:53 | cmsspain.homes | udp |
| US | 1.1.1.1:53 | cmsspain.homes | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.homes | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.net | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.click | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.com | udp |
Files
/data/data/excess.undrilled.improper.crushing/code_cache/decrypted.dex
| MD5 | dfde1000d6b51cdc38b21ac5fbaa462a |
| SHA1 | 8389cd13c15f316d55f7909e6ae71f56dfa8ea1b |
| SHA256 | 09e3db729b16cf271d9be99996334422b372bafaae9ba95f65828c5b2bc97d34 |
| SHA512 | 3f11d6d1c0f4063bb79771834959e8a9d10b7210138fbde88fdf504138ff74c4467b1ca746e341b845ebd10ceb82a122386c1f4f57e2a1ea33f1d51063b08038 |
Analysis: behavioral1
Detonation Overview
Submitted
2024-10-14 17:23
Reported
2024-10-14 17:23
Platform
android-x86-arm-20240624-en
Max time kernel
24s
Max time network
34s
Command Line
Signatures
Removes its main activity from the application launcher
| Description | Indicator | Process | Target |
| N/A | N/A | N/A | N/A |
Loads dropped Dex/Jar
| Description | Indicator | Process | Target |
| N/A | /data/data/excess.undrilled.improper.crushing/code_cache/decrypted.dex | N/A | N/A |
| N/A | /data/data/excess.undrilled.improper.crushing/code_cache/decrypted.dex | N/A | N/A |
| N/A | /data/data/excess.undrilled.improper.crushing/code_cache/decrypted.dex | N/A | N/A |
| N/A | /data/data/excess.undrilled.improper.crushing/code_cache/decrypted.dex | N/A | N/A |
| N/A | /data/data/excess.undrilled.improper.crushing/code_cache/decrypted.dex | N/A | N/A |
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 |
Queries the phone number (MSISDN for GSM devices)
Makes use of the framework's foreground persistence service
| Description | Indicator | Process | Target |
| Framework service call | android.app.IActivityManager.setServiceForeground | N/A | N/A |
Performs UI accessibility actions on behalf of the user
| Description | Indicator | Process | Target |
| N/A | android.accessibilityservice.IAccessibilityServiceConnection.performGlobalAction | N/A | N/A |
| N/A | android.accessibilityservice.IAccessibilityServiceConnection.performGlobalAction | N/A | N/A |
| N/A | android.accessibilityservice.IAccessibilityServiceConnection.performGlobalAction | N/A | N/A |
| N/A | android.accessibilityservice.IAccessibilityServiceConnection.performGlobalAction | N/A | N/A |
| N/A | android.accessibilityservice.IAccessibilityServiceConnection.performGlobalAction | N/A | N/A |
Queries the mobile country code (MCC)
| Description | Indicator | Process | Target |
| Framework service call | com.android.internal.telephony.ITelephony.getNetworkCountryIsoForPhone | N/A | N/A |
Reads information about phone network operator.
Requests disabling of battery optimizations (often used to enable hiding in the background).
| Description | Indicator | Process | Target |
| Intent action | android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS | 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 |
| Framework service call | android.app.IActivityManager.registerReceiver | N/A | N/A |
Checks CPU information
| Description | Indicator | Process | Target |
| File opened for read | /proc/cpuinfo | N/A | N/A |
Checks memory information
| Description | Indicator | Process | Target |
| File opened for read | /proc/meminfo | N/A | N/A |
Processes
excess.undrilled.improper.crushing
/system/bin/dex2oat --instruction-set=x86 --instruction-set-features=ssse3,-sse4.1,-sse4.2,-avx,-avx2,-popcnt --runtime-arg -Xhidden-api-checks --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=x86 --instruction-set-features=default --inline-max-code-units=0 --compact-dex-level=none --dex-file=/data/data/excess.undrilled.improper.crushing/code_cache/decrypted.dex --output-vdex-fd=41 --oat-fd=42 --oat-location=/data/data/excess.undrilled.improper.crushing/code_cache/oat/x86/decrypted.odex --compiler-filter=quicken --class-loader-context=&
excess.undrilled.improper.crushing:webview_process
Network
| Country | Destination | Domain | Proto |
| N/A | 224.0.0.251:5353 | udp | |
| GB | 142.250.187.202:443 | tcp | |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | cmsspain.homes | udp |
| US | 1.1.1.1:53 | cmsspain.homes | udp |
| GB | 142.250.200.46:443 | tcp | |
| US | 1.1.1.1:53 | android.apis.google.com | udp |
| US | 1.1.1.1:53 | android.apis.google.com | udp |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | semanticlocation-pa.googleapis.com | udp |
| US | 1.1.1.1:53 | cmsspain.homes | udp |
| US | 1.1.1.1:53 | cmsspain.homes | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.homes | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.net | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.homes | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.net | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.com | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.com | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.click | udp |
| US | 1.1.1.1:53 | 4665e98d65bbac5.click | udp |
Files
/data/data/excess.undrilled.improper.crushing/code_cache/decrypted.dex
| MD5 | dfde1000d6b51cdc38b21ac5fbaa462a |
| SHA1 | 8389cd13c15f316d55f7909e6ae71f56dfa8ea1b |
| SHA256 | 09e3db729b16cf271d9be99996334422b372bafaae9ba95f65828c5b2bc97d34 |
| SHA512 | 3f11d6d1c0f4063bb79771834959e8a9d10b7210138fbde88fdf504138ff74c4467b1ca746e341b845ebd10ceb82a122386c1f4f57e2a1ea33f1d51063b08038 |
/data/data/excess.undrilled.improper.crushing/code_cache/decrypted.dex
| MD5 | 3eb5114b544c4c195d7d55f6c99f7868 |
| SHA1 | f6f7cb27e2c3bb3b2ba8334924f0c7bd5ac701c5 |
| SHA256 | 2d217f39b0abb2c9c16783af3a2327b52d189f3d5ac479efefaaa982998a8c20 |
| SHA512 | 13f95117cb48e80ac99d10a255112032b563e33854c09944818ed7d733f66788517372f18a9f735feed9520a5682607e280de2b912178426d73973263214237a |