Malware Analysis Report

2025-01-19 05:38

Sample ID 241209-15b1gaykcr
Target 80f29e78847d2b9d5dca2667884694147253bb52e609155ae668ef153fa711eb.bin
SHA256 80f29e78847d2b9d5dca2667884694147253bb52e609155ae668ef153fa711eb
Tags
ermac banker collection credential_access discovery evasion impact infostealer persistence stealth trojan
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

80f29e78847d2b9d5dca2667884694147253bb52e609155ae668ef153fa711eb

Threat Level: Known bad

The file 80f29e78847d2b9d5dca2667884694147253bb52e609155ae668ef153fa711eb.bin was found to be: Known bad.

Malicious Activity Summary

ermac banker collection credential_access discovery evasion impact infostealer persistence stealth trojan

Ermac2 payload

Ermac

Ermac family

Removes its main activity from the application launcher

Queries the phone number (MSISDN for GSM devices)

Makes use of the framework's Accessibility service

Obtains sensitive information copied to the device clipboard

Loads dropped Dex/Jar

Requests dangerous framework permissions

Declares broadcast receivers with permission to handle system events

Makes use of the framework's foreground persistence service

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

Declares services with permission to bind to the system

Attempts to obfuscate APK file format

Reads information about phone network operator.

Queries the mobile country code (MCC)

Acquires the wake lock

Queries the unique device ID (IMEI, MEID, IMSI)

Performs UI accessibility actions on behalf of the user

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

Uses Crypto APIs (Might try to encrypt user data)

Checks memory information

Checks CPU information

MITRE ATT&CK

Analysis: static1

Detonation Overview

Reported

2024-12-09 22:13

Signatures

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

Requests dangerous framework permissions

Description Indicator Process Target
Allows an application to request installing packages. android.permission.REQUEST_INSTALL_PACKAGES 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 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 send SMS messages. android.permission.SEND_SMS 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
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 read access to the device's phone number(s). android.permission.READ_PHONE_NUMBERS 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

Analysis: behavioral1

Detonation Overview

Submitted

2024-12-09 22:13

Reported

2024-12-09 22:16

Platform

android-x86-arm-20240910-en

Max time kernel

147s

Max time network

150s

Command Line

Com.build.bekemal.apk

Signatures

Ermac

banker trojan infostealer ermac

Ermac family

ermac

Ermac2 payload

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

Removes its main activity from the application launcher

stealth trojan evasion
Description Indicator Process Target
N/A N/A N/A N/A

Loads dropped Dex/Jar

evasion
Description Indicator Process Target
N/A /data/user/0/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin N/A N/A
N/A /data/user/0/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin N/A N/A
N/A /data/user/0/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin N/A N/A

Makes use of the framework's Accessibility service

collection evasion credential_access
Description Indicator Process Target
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfosByText N/A N/A
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)

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

discovery
Description Indicator Process Target
Framework service call com.android.internal.telephony.ITelephony.getNetworkCountryIsoForPhone N/A N/A

Queries the unique device ID (IMEI, MEID, IMSI)

discovery

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

Uses Crypto APIs (Might try to encrypt user data)

impact
Description Indicator Process Target
Framework API call javax.crypto.Cipher.doFinal 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

Com.build.bekemal.apk

/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/user/0/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin --output-vdex-fd=41 --oat-fd=42 --oat-location=/data/user/0/Com.build.bekemal.apk/app_apkprotector_dex/oat/x86/classes-v1.odex --compiler-filter=quicken --class-loader-context=&

Network

Country Destination Domain Proto
N/A 224.0.0.251:5353 udp
GB 142.250.178.14:443 tcp
GB 172.217.16.238:443 tcp
US 1.1.1.1:53 android.apis.google.com udp
GB 142.250.187.238:443 android.apis.google.com tcp
GB 172.217.169.74:443 tcp
US 1.1.1.1:53 ahmet10.duckdns.org udp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 1.1.1.1:53 ahmet10.duckdns.org udp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 1.1.1.1:53 ahmet10.duckdns.org udp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
GB 142.250.200.2:443 tcp

Files

/data/data/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin

MD5 60b930a8b3a464c74ff5dfdb649d5cc0
SHA1 1cb9addef2b45ce773de05cd12912456c55603a9
SHA256 80d458cbf1e6871d86853c47927b11ea241707aaaf9c14e29f73e6ec1071e129
SHA512 75e2ac99d68439ed517f2c3437483bece1244c0f8c4bfa5d7265a1fdb788911d5d64ff453a5bd1369bd18a5ee0c32b24dbdeb735c562720f339ae2fa8a44295a

/data/user/0/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin

MD5 a6a5c792cfa64e34b2437b5adcf13e92
SHA1 ed4154fb5dca6ab35b66ab51159f3ac4d40dfd1c
SHA256 ce0775853d85ec00625c9e43fb4939d4cadf425653ae6f8003d9346774579d71
SHA512 0761675f0431dd55bc821bbd6ad16438295f8ced8409e55c124f832a1340c21c9157deb2037af752475e5a9cf0c8caaed5a5848f6e1245fe7b35a477c9def2f8

Analysis: behavioral2

Detonation Overview

Submitted

2024-12-09 22:13

Reported

2024-12-09 22:16

Platform

android-x64-20240910-en

Max time kernel

145s

Max time network

147s

Command Line

Com.build.bekemal.apk

Signatures

Ermac

banker trojan infostealer ermac

Ermac family

ermac

Ermac2 payload

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

Removes its main activity from the application launcher

stealth trojan evasion
Description Indicator Process Target
N/A N/A N/A N/A

Loads dropped Dex/Jar

evasion
Description Indicator Process Target
N/A /data/user/0/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin N/A N/A
N/A /data/user/0/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin N/A N/A

Makes use of the framework's Accessibility service

collection evasion credential_access
Description Indicator Process Target
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfosByText N/A N/A
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

collection credential_access impact
Description Indicator Process Target
Framework service call android.content.IClipboard.addPrimaryClipChangedListener N/A N/A

Queries the phone number (MSISDN for GSM devices)

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

discovery
Description Indicator Process Target
Framework service call com.android.internal.telephony.ITelephony.getNetworkCountryIsoForPhone N/A N/A

Queries the unique device ID (IMEI, MEID, IMSI)

discovery

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

Uses Crypto APIs (Might try to encrypt user data)

impact
Description Indicator Process Target
Framework API call javax.crypto.Cipher.doFinal 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

Com.build.bekemal.apk

Network

Country Destination Domain Proto
GB 216.58.204.74:443 tcp
N/A 224.0.0.251:5353 udp
GB 142.250.200.46:443 tcp
GB 142.250.200.46:443 tcp
US 1.1.1.1:53 android.apis.google.com udp
GB 172.217.16.238:443 android.apis.google.com tcp
US 1.1.1.1:53 ahmet10.duckdns.org udp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 1.1.1.1:53 ssl.google-analytics.com udp
GB 142.250.179.232:443 ssl.google-analytics.com tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
GB 142.250.187.195:443 tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
GB 172.217.169.46:443 tcp
GB 142.250.178.2:443 tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 1.1.1.1:53 ahmet10.duckdns.org udp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 1.1.1.1:53 ahmet10.duckdns.org udp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 1.1.1.1:53 ahmet10.duckdns.org udp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp

Files

/data/data/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin

MD5 60b930a8b3a464c74ff5dfdb649d5cc0
SHA1 1cb9addef2b45ce773de05cd12912456c55603a9
SHA256 80d458cbf1e6871d86853c47927b11ea241707aaaf9c14e29f73e6ec1071e129
SHA512 75e2ac99d68439ed517f2c3437483bece1244c0f8c4bfa5d7265a1fdb788911d5d64ff453a5bd1369bd18a5ee0c32b24dbdeb735c562720f339ae2fa8a44295a

Analysis: behavioral3

Detonation Overview

Submitted

2024-12-09 22:13

Reported

2024-12-09 22:16

Platform

android-x64-arm64-20240624-en

Max time kernel

146s

Max time network

156s

Command Line

Com.build.bekemal.apk

Signatures

Ermac

banker trojan infostealer ermac

Ermac family

ermac

Ermac2 payload

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

Removes its main activity from the application launcher

stealth trojan evasion
Description Indicator Process Target
N/A N/A N/A N/A

Loads dropped Dex/Jar

evasion
Description Indicator Process Target
N/A /data/user/0/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin N/A N/A
N/A /data/user/0/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin N/A N/A

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.findAccessibilityNodeInfosByViewId N/A N/A
Framework service call android.accessibilityservice.IAccessibilityServiceConnection.findAccessibilityNodeInfosByText N/A N/A

Obtains sensitive information copied to the device clipboard

collection credential_access impact
Description Indicator Process Target
Framework service call android.content.IClipboard.addPrimaryClipChangedListener N/A N/A

Queries the phone number (MSISDN for GSM devices)

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

discovery
Description Indicator Process Target
Framework service call com.android.internal.telephony.ITelephony.getNetworkCountryIsoForPhone N/A N/A

Queries the unique device ID (IMEI, MEID, IMSI)

discovery

Reads information about phone network operator.

discovery

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

Uses Crypto APIs (Might try to encrypt user data)

impact
Description Indicator Process Target
Framework API call javax.crypto.Cipher.doFinal 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

Com.build.bekemal.apk

Network

Country Destination Domain Proto
N/A 224.0.0.251:5353 udp
GB 172.217.16.238:443 tcp
US 1.1.1.1:53 android.apis.google.com udp
GB 142.250.180.14:443 android.apis.google.com tcp
GB 142.250.180.14:443 android.apis.google.com tcp
US 1.1.1.1:53 ahmet10.duckdns.org udp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 1.1.1.1:53 ssl.google-analytics.com udp
GB 142.250.200.8:443 ssl.google-analytics.com tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
GB 142.250.187.196:443 tcp
GB 142.250.187.196:443 tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 1.1.1.1:53 ahmet10.duckdns.org udp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 1.1.1.1:53 ahmet10.duckdns.org udp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp
US 192.169.69.26:3434 ahmet10.duckdns.org tcp

Files

/data/data/Com.build.bekemal.apk/app_apkprotector_dex/classes-v1.bin

MD5 60b930a8b3a464c74ff5dfdb649d5cc0
SHA1 1cb9addef2b45ce773de05cd12912456c55603a9
SHA256 80d458cbf1e6871d86853c47927b11ea241707aaaf9c14e29f73e6ec1071e129
SHA512 75e2ac99d68439ed517f2c3437483bece1244c0f8c4bfa5d7265a1fdb788911d5d64ff453a5bd1369bd18a5ee0c32b24dbdeb735c562720f339ae2fa8a44295a