Malware Analysis Report

2025-01-23 12:30

Sample ID 241031-e4kqbszhkp
Target ready.apk
SHA256 7126d929d329e5f0fe69290814abbbf57ad2ff35d05de5ef00d0d4b053ac4686
Tags
spynote banker collection credential_access discovery evasion execution persistence
score
10/10

Table of Contents

Analysis Overview

MITRE ATT&CK

Mobile Matrix V15

Analysis: static1

Detonation Overview

Signatures

Analysis: behavioral1

Detonation Overview

Command Line

Signatures

Processes

Network

Files

Analysis: behavioral2

Detonation Overview

Command Line

Signatures

Processes

Network

Files

Analysis: behavioral3

Detonation Overview

Command Line

Signatures

Processes

Network

Files

Analysis Overview

score
10/10

SHA256

7126d929d329e5f0fe69290814abbbf57ad2ff35d05de5ef00d0d4b053ac4686

Threat Level: Known bad

The file ready.apk was found to be: Known bad.

Malicious Activity Summary

spynote banker collection credential_access discovery evasion execution persistence

Spynote payload

Spynote family

Queries a list of all the installed applications on the device (Might be used in an attempt to overlay legitimate apps)

Makes use of the framework's Accessibility service

Requests dangerous framework permissions

Makes use of the framework's foreground persistence service

Attempts to obfuscate APK file format

Declares broadcast receivers with permission to handle system events

Acquires the wake lock

Performs UI accessibility actions on behalf of the user

Declares services with permission to bind to the system

Requests disabling of battery optimizations (often used to enable hiding in the background).

Registers a broadcast receiver at runtime (usually for listening for system events)

Schedules tasks to execute at a specified time

MITRE ATT&CK

Analysis: static1

Detonation Overview

Reported

2024-10-31 04:29

Signatures

Spynote family

spynote

Spynote payload

Description Indicator Process Target
N/A N/A N/A N/A

Attempts to obfuscate APK file format

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 VPN services to bind with the system. Allows apps to provision VPN services. android.permission.BIND_VPN_SERVICE N/A N/A
Required by input method services to bind with the system. Allows apps to provide custom input methods (keyboards). android.permission.BIND_INPUT_METHOD N/A N/A

Requests dangerous framework permissions

Description Indicator Process Target
Allows an application to send SMS messages. android.permission.SEND_SMS N/A N/A
Allows an application to read SMS messages. android.permission.READ_SMS 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 read the user's contacts data. android.permission.READ_CONTACTS N/A N/A
Allows access to the list of accounts in the Accounts Service. android.permission.GET_ACCOUNTS 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 app to access approximate location. android.permission.ACCESS_COARSE_LOCATION N/A N/A
Allows an app to access precise location. android.permission.ACCESS_FINE_LOCATION 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 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 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 request installing packages. android.permission.REQUEST_INSTALL_PACKAGES N/A N/A

Analysis: behavioral1

Detonation Overview

Submitted

2024-10-31 04:29

Reported

2024-10-31 04:31

Platform

android-x86-arm-20240624-en

Max time kernel

59s

Max time network

41s

Command Line

routers.competing.cruz

Signatures

Makes use of the framework's Accessibility service

collection evasion credential_access
Description Indicator Process Target
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfoByAccessibilityId N/A N/A
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfosByText N/A N/A
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfosByViewId N/A N/A

Queries a list of all the installed applications on the device (Might be used in an attempt to overlay legitimate apps)

banker discovery

Acquires the wake lock

Description Indicator Process Target
Framework service call android.os.IPowerManager.acquireWakeLock N/A N/A

Makes use of the framework's foreground persistence service

evasion persistence
Description Indicator Process Target
Framework service call android.app.IActivityManager.setServiceForeground N/A N/A

Performs UI accessibility actions on behalf of the user

evasion
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

Requests disabling of battery optimizations (often used to enable hiding in the background).

evasion
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)

persistence
Description Indicator Process Target
Framework service call android.app.IActivityManager.registerReceiver N/A N/A

Schedules tasks to execute at a specified time

execution persistence
Description Indicator Process Target
Framework service call android.app.job.IJobScheduler.schedule N/A N/A

Processes

routers.competing.cruz

Network

Country Destination Domain Proto
N/A 224.0.0.251:5353 udp
FI 109.107.182.213:7771 tcp
GB 142.250.200.46:443 tcp
US 1.1.1.1:53 android.apis.google.com udp
GB 142.250.179.238:443 android.apis.google.com tcp

Files

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 1d8b5f0135eca5b8c727aba60f715ca8
SHA1 eed286ab3329d5f37fda5c274e552739e1d8b52e
SHA256 6b28e5ccd53d436c7910e01d805f55612a3a60253390a530de7e6f0919fdc33d
SHA512 2aee10ef49de59a5d10e4a24bf7ef67f1fbb17178bc8bd22f571224202d36bc186a71a27aba82d11424438308ef3e7eb64ac299f87c7d7d1ab6144df6efcc5b4

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 ba30336bf53d54ed3c0ea69dd545de8c
SHA1 ce99c6724c75b93b7448e2d9fac16ca702a5711f
SHA256 2d6988fb5afdaafc4e33fa1f71d6f10c95ab5a49a8ec820add5b13eef05439af
SHA512 eea34ca526e03349e746d3687ea660b4748f0174fe2ffdb65161e232e08630b345e03329614852ce881a71362ba68575e9dd08fa361a416e5b2fb231e21a0a3e

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 0758cc3c7296e2a58552fb6eb30f3029
SHA1 901c75d0a855c0b1dc0a48534e619ca7fbad7407
SHA256 d4c88ee148b8ffa2a769a3932a0267983943349cd4feb4c6babc95fb72e30c63
SHA512 786bd69b1c19b7574e75eee4619effc2f70d91409fc765df6ba218e7066fb3704f2ea8b206c1babb7cb644f67e4e15dccf7a205a277423baf121415a6495ce9c

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 3af69119804d1d999d56d230338ffd36
SHA1 69350826205583c8acc385ee0a6e3fc2673ee2ca
SHA256 10994862cb263ab6b1e4428cc24cc9c585458fc67544fe0f5dfea81a5a7a115c
SHA512 4a41b19d28f637b397d9dff225621694c44c750a9bd65f3e6ad5d3b9acf0d118910ddf53d4618213f9e14c61e0fb154f33f2747dd3b8d50459990767f42fc8cb

Analysis: behavioral2

Detonation Overview

Submitted

2024-10-31 04:29

Reported

2024-10-31 04:31

Platform

android-x64-20240624-en

Max time kernel

59s

Max time network

57s

Command Line

routers.competing.cruz

Signatures

Makes use of the framework's Accessibility service

collection evasion credential_access
Description Indicator Process Target
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfosByViewId N/A N/A
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfoByAccessibilityId N/A N/A
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfosByText N/A N/A

Queries a list of all the installed applications on the device (Might be used in an attempt to overlay legitimate apps)

banker discovery

Acquires the wake lock

Description Indicator Process Target
Framework service call android.os.IPowerManager.acquireWakeLock N/A N/A

Makes use of the framework's foreground persistence service

evasion persistence
Description Indicator Process Target
Framework service call android.app.IActivityManager.setServiceForeground N/A N/A

Performs UI accessibility actions on behalf of the user

evasion
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

Registers a broadcast receiver at runtime (usually for listening for system events)

persistence
Description Indicator Process Target
Framework service call android.app.IActivityManager.registerReceiver N/A N/A

Schedules tasks to execute at a specified time

execution persistence
Description Indicator Process Target
Framework service call android.app.job.IJobScheduler.schedule N/A N/A

Processes

routers.competing.cruz

Network

Country Destination Domain Proto
N/A 224.0.0.251:5353 udp
US 1.1.1.1:53 ssl.google-analytics.com udp
GB 142.250.200.8:443 ssl.google-analytics.com tcp
FI 109.107.182.213:7771 tcp
GB 142.250.187.206:443 tcp
US 1.1.1.1:53 android.apis.google.com udp
GB 216.58.201.110:443 android.apis.google.com tcp
GB 142.250.180.4:443 tcp
GB 142.250.180.4:443 tcp

Files

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 1d8b5f0135eca5b8c727aba60f715ca8
SHA1 eed286ab3329d5f37fda5c274e552739e1d8b52e
SHA256 6b28e5ccd53d436c7910e01d805f55612a3a60253390a530de7e6f0919fdc33d
SHA512 2aee10ef49de59a5d10e4a24bf7ef67f1fbb17178bc8bd22f571224202d36bc186a71a27aba82d11424438308ef3e7eb64ac299f87c7d7d1ab6144df6efcc5b4

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 cccac2c2a5ccbbc19de1e65f4a713fde
SHA1 8f81bdc29817ff1359ce9cf1f86a6e5ca6bd4839
SHA256 b0a40190c703a9589642e774b871e2c82ccc0d47351d225d3cd39073b0ad4570
SHA512 1356bc74b373ea3bd39fe7220019d85734ebcf632f30dfce7af89c80c744a1567ef2ec50d3476394665d302aa5ddee7debdbdef66ff5bc5b66ed7db3d6fc39d3

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 3f15e6b141cb03b4756e16ca7dcfdc4b
SHA1 39672a78a3082d32657e11fb688589b97f48a2de
SHA256 489fdd9cd94764756b096fb79860fadc227651fb58f19bfad82e717dc76466e4
SHA512 1b1d98c950da687e662efc1966375395db5ef00e1f5fda1d031c3262da34edc9f0941da4ee72bba9a5594b976f63f0ed0e878080447ccfb25392e0fda5941c20

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 8259933c1e49b310382102fcf4443eab
SHA1 f03a129d3431bd6d72932d2201487cb687e74676
SHA256 24f094d11bc63b8a579456797d01a416be8dc10bf05af534d46771556ae5ee47
SHA512 6019567441be091cfe45c66cbd6ff808a7aff89c3bb4b3968ee566e795af84edba69d9226acdbc570bc832bea6c0b5d0669dc49259fe18d7fc2ff0748a639311

Analysis: behavioral3

Detonation Overview

Submitted

2024-10-31 04:29

Reported

2024-10-31 04:31

Platform

android-x64-arm64-20240624-en

Max time kernel

59s

Max time network

51s

Command Line

routers.competing.cruz

Signatures

Makes use of the framework's Accessibility service

collection evasion credential_access
Description Indicator Process Target
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfosByViewId N/A N/A
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfoByAccessibilityId N/A N/A
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfosByText N/A N/A

Queries a list of all the installed applications on the device (Might be used in an attempt to overlay legitimate apps)

banker discovery

Acquires the wake lock

Description Indicator Process Target
Framework service call android.os.IPowerManager.acquireWakeLock N/A N/A

Makes use of the framework's foreground persistence service

evasion persistence
Description Indicator Process Target
Framework service call android.app.IActivityManager.setServiceForeground N/A N/A

Performs UI accessibility actions on behalf of the user

evasion
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

Requests disabling of battery optimizations (often used to enable hiding in the background).

evasion
Description Indicator Process Target
Intent action android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS N/A N/A

Schedules tasks to execute at a specified time

execution persistence
Description Indicator Process Target
Framework service call android.app.job.IJobScheduler.schedule N/A N/A

Processes

routers.competing.cruz

Network

Country Destination Domain Proto
N/A 224.0.0.251:5353 udp
GB 142.250.179.238:443 tcp
GB 142.250.179.238:443 tcp
US 1.1.1.1:53 android.apis.google.com udp
GB 216.58.201.110:443 android.apis.google.com tcp
FI 109.107.182.213:7771 tcp
US 1.1.1.1:53 ssl.google-analytics.com udp
GB 142.250.180.8:443 ssl.google-analytics.com tcp
GB 142.250.187.196:443 tcp
GB 142.250.187.196:443 tcp

Files

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 1d8b5f0135eca5b8c727aba60f715ca8
SHA1 eed286ab3329d5f37fda5c274e552739e1d8b52e
SHA256 6b28e5ccd53d436c7910e01d805f55612a3a60253390a530de7e6f0919fdc33d
SHA512 2aee10ef49de59a5d10e4a24bf7ef67f1fbb17178bc8bd22f571224202d36bc186a71a27aba82d11424438308ef3e7eb64ac299f87c7d7d1ab6144df6efcc5b4

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 cccac2c2a5ccbbc19de1e65f4a713fde
SHA1 8f81bdc29817ff1359ce9cf1f86a6e5ca6bd4839
SHA256 b0a40190c703a9589642e774b871e2c82ccc0d47351d225d3cd39073b0ad4570
SHA512 1356bc74b373ea3bd39fe7220019d85734ebcf632f30dfce7af89c80c744a1567ef2ec50d3476394665d302aa5ddee7debdbdef66ff5bc5b66ed7db3d6fc39d3

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 3f15e6b141cb03b4756e16ca7dcfdc4b
SHA1 39672a78a3082d32657e11fb688589b97f48a2de
SHA256 489fdd9cd94764756b096fb79860fadc227651fb58f19bfad82e717dc76466e4
SHA512 1b1d98c950da687e662efc1966375395db5ef00e1f5fda1d031c3262da34edc9f0941da4ee72bba9a5594b976f63f0ed0e878080447ccfb25392e0fda5941c20

/storage/emulated/0/Config/sys/apps/log/log-2024-10-31.txt

MD5 8259933c1e49b310382102fcf4443eab
SHA1 f03a129d3431bd6d72932d2201487cb687e74676
SHA256 24f094d11bc63b8a579456797d01a416be8dc10bf05af534d46771556ae5ee47
SHA512 6019567441be091cfe45c66cbd6ff808a7aff89c3bb4b3968ee566e795af84edba69d9226acdbc570bc832bea6c0b5d0669dc49259fe18d7fc2ff0748a639311