Android.Trojan.Belesak

Threat

org.xmlpush.v3

PDF

Analyzed on 2020-12-31T20:17:08.266281

25

permissions

1

activities

4

services

1

receivers

1

domains

File sums

MD5 efa79f62589821263df1873413637c74
SHA1 b1ec5ea25828df8e6972d985db97b13da3c749dc
SHA256 2f881b98088bbe91dc8fd003eed17f41a35182a27663e6e103b2b6673b592350
Size 2.44MB

APKiD

Information computed with APKiD.

/tmp/tmphcw_9eik!classes.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MANUFACTURER check
  • possible Build.SERIAL check
compiler
  • dexlib 2.x

SSdeep

Information computed with ssdeep.

APK file 49152:dqluokLHhfAjcGnKWg9ROocyBszz++zqNIDpNU1/+gy52455oPQQa:MlEhf8PKwyBKqtNOpqZzyU455oPQ3
Manifest 192:BpJgSimK2o9OUi3g3ynVO8Ab+ZAatOJJwdCnXHkOvrpeTMaCZk/kRE6CGGpA21Zr:BXgS1K2o9OUi3g3ynVO8AbGAatOJJwdn
classes.dex 24576:gOOzv8HY+sXeYDretXqxNWVT2vdeiC3wkylTB7orG8Ik8YgFBG:gH9eYDreEyVyvdeiyyl17oy7pG

Dexofuzzy

Information computed with Dexofuzzy.

APK file 768:IEX0laPEVERgdr57jvk3qVunMhwlcmGHBZ4uNj:QKEVE2drtbk3e8Mhwl3UYut
classes.dex 768:IEX0laPEVERgdr57jvk3qVunMhwlcmGHBZ4uNj:QKEVE2drtbk3e8Mhwl3UYut

APK details

Information computed with AndroGuard and Pithus.

Package org.xmlpush.v3
App name PDF
Version name 1.0
Version code 1
SDK 19 - 22
UAID 0584011068cd8782442074ea054aef7e106ea037
Signature Signature V1
Frosting Not frosted

Certificate details

Information computed with AndroGuard.

MD5 bc4d4c5ffb33ccbce1dabd9de32f9f29
SHA1 eaa21cc703b1ca21fe67797fa29cc0372ede08f7
SHA256 f52b477b3a08454a399953ab60dadf67d2c4a105f4403a83af7c1a1f1fedf22c
Issuer Common Name: anonymous
Not before 2014-10-21T14:32:31+00:00
Not after 2039-10-15T14:32:31+00:00

Manifest analysis

Information computed with MobSF.

Medium Application Data can be Backed up[android:allowBackup=true]
This flag allows anyone to backup your application data via adb. It allows users who have enabled USB debugging to copy application data off of the device.
High Service (org.xmlpush.v3.Services) is not Protected. [android:exported=true]
A Service is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device.
High Broadcast Receiver (org.xmlpush.v3.ReceiverMain) is not Protected.An intent-filter exists.
A Broadcast Receiver is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device. The presence of intent-filter indicates that the Broadcast Receiver is explicitly exported.
High Data SMS Receiver Set on Port: 8095 Found[android:port]
A binary SMS recevier is configured to listen on a port. Binary SMS messages sent to a device are processed by the application in whichever way the developer choses. The data in this SMS should be properly validated by the application. Furthermore, the application should assume that the SMS being received is from an untrusted source.

Activities

Information computed with AndroGuard.

org.xmlpush.v3.StartVersion

Receivers

Information computed with AndroGuard.

org.xmlpush.v3.ReceiverMain

Services

Information computed with AndroGuard.

org.xmlpush.v3.Services
org.xmlpush.v3.schedule.SchedulerServices
org.xmlpush.v3.eventbased.ReceiverService
org.xmlpush.v3.EventBasedService

Hunting matches

Information computed by Pithus.

Yara ruleset: FinSpy for Android
FinSpy_TippyTime FinSpy_ConfigInAPK
matching files:
/2f881b98088bbe91dc8fd003eed17f41a35182a27663e6e103b2b6673b592350.apk
/classes.dex

MalwareBazaar

First seen 2021-01-12 21:35:14
Last seen 2021-01-12 21:42:13
Signature -
Report https://bazaar.abuse.ch/sample/2f881b98088bbe91dc8fd003eed17f41a35182a27663e6e103b2b6673b592350/
ReversingLabs
Threat name Android.Trojan.Belesak
Status MALICIOUS
First seen 2019-10-12 22:42:24
Score 9/31
CERT-PL MWDB
Detection anubis
Report https://mwdb.cert.pl/sample/2f881b98088bbe91dc8fd003eed17f41a35182a27663e6e103b2b6673b592350/

VirusTotal

Score 29/64
Report https://www.virustotal.com/gui/file/2f881b98088bbe91dc8fd003eed17f41a35182a27663e6e103b2b6673b592350/detection

NIAP analysis

Information computed with MobSF.

FCS_RBG_EXT.1.1 The application implement DRBG functionality for its cryptographic operations.
Random Bit Generation Services
FCS_STO_EXT.1.1 The application does not store any credentials to non-volatile memory.
Storage of Credentials
FCS_CKM_EXT.1.1 The application generate no asymmetric cryptographic keys.
Cryptographic Key Generation Services
FDP_DEC_EXT.1.1 The application has access to ['network connectivity', 'camera', 'microphone', 'location'].
Access to Platform Resources
FDP_DEC_EXT.1.2 The application has access to ['address book', 'calender', 'call lists'].
Access to Platform Resources
FDP_NET_EXT.1.1 The application has user/application initiated network communications.
Network Communications
FDP_DAR_EXT.1.1 The application implement functionality to encrypt sensitive data in non-volatile memory.
Encryption Of Sensitive Application Data
FMT_MEC_EXT.1.1 The application invoke the mechanisms recommended by the platform vendor for storing and setting configuration options.
Supported Configuration Mechanism
FTP_DIT_EXT.1.1 The application does encrypt some transmitted data with HTTPS/TLS/SSH between itself and another trusted IT product.
Protection of Data in Transit
FCS_RBG_EXT.2.1
FCS_RBG_EXT.2.2
The application perform all deterministic random bit generation (DRBG) services in accordance with NIST Special Publication 800-90A using Hash_DRBG. The deterministic RBG is seeded by an entropy source that accumulates entropy from a platform-based DRBG and a software-based noise source, with a minimum of 256 bits of entropy at least equal to the greatest security strength (according to NIST SP 800-57) of the keys and hashes that it will generate.
Random Bit Generation from Application
FCS_CKM.1.1(3)
FCS_CKM.1.2(3)
A password/passphrase shall perform [Password-based Key Derivation Functions] in accordance with a specified cryptographic algorithm..
Password Conditioning
FCS_COP.1.1(1) The application perform encryption/decryption in accordance with a specified cryptographic algorithm AES-CBC (as defined in NIST SP 800-38A) mode or AES-GCM (as defined in NIST SP 800-38D) and cryptographic key sizes 256-bit/128-bit.
Cryptographic Operation - Encryption/Decryption
FCS_COP.1.1(2) The application perform cryptographic hashing services not in accordance with FCS_COP.1.1(2) and uses the cryptographic algorithm RC2/RC4/MD4/MD5.
Cryptographic Operation - Hashing
FCS_COP.1.1(4) The application perform keyed-hash message authentication with cryptographic algorithm ['HMAC-SHA1'] .
Cryptographic Operation - Keyed-Hash Message Authentication

Code analysis

Information computed with MobSF.

High
CVSS:7.5
The App uses an insecure Random Number Generator.
MASVS: MSTG-CRYPTO-6
CWE-330 Use of Insufficiently Random Values
M5: Insufficient Cryptography
Files:
 org/xmlpush/v3/b/f.java
org/xmlpush/v3/s.java
org/xmlpush/v3/o/c.java
High
CVSS:5.9
SHA-1 is a weak hash known to have hash collisions.
MASVS: MSTG-CRYPTO-4
CWE-327 Use of a Broken or Risky Cryptographic Algorithm
M5: Insufficient Cryptography
Files:
 org/xmlpush/v3/u/d.java
org/xmlpush/v3/b/h.java
org/c/a/a/c.java
org/c/a/a/e.java
org/xmlpush/v3/b/g.java
org/xmlpush/v3/n/h/c.java
org/xmlpush/v3/n/e/b.java
org/c/a/a/b.java
High
CVSS:5.5
App can read/write to External Storage. Any App can read data written to External Storage.
MASVS: MSTG-STORAGE-2
CWE-276 Incorrect Default Permissions
M2: Insecure Data Storage
Files:
 org/xmlpush/v3/n/g/b.java
org/xmlpush/v3/h/c.java
org/xmlpush/v3/n/a/c.java
org/xmlpush/v3/n/h/b.java
org/xmlpush/v3/n/j/b.java
org/xmlpush/v3/n/a/b.java
Low
CVSS:7.5
The App logs information. Sensitive information should never be logged.
MASVS: MSTG-STORAGE-3
CWE-532 Insertion of Sensitive Information into Log File
Files:
 helper/sqlite/database/sqlite/SQLiteQueryBuilder.java
helper/sqlite/database/sqlite/SQLiteCursor.java
helper/sqlite/database/sqlite/SQLiteDatabase.java
helper/sqlite/database/sqlite/SQLiteDebug.java
High
CVSS:7.4
MD5 is a weak hash known to have hash collisions.
MASVS: MSTG-CRYPTO-4
CWE-327 Use of a Broken or Risky Cryptographic Algorithm
M5: Insufficient Cryptography
Files:
 org/xmlpush/v3/b/e.java
High
CVSS:5.9
App uses SQLite Database and execute raw SQL query. Untrusted user input in raw SQL queries can cause SQL Injection. Also sensitive information should be encrypted and written to the database.
CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
M7: Client Code Quality
Files:
 org/xmlpush/v3/n/f/c.java
Pygal United States: 100

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

US maps.google.com 216.58.212.142

URL analysis

Information computed with MobSF.

file:///storage/emulated/0/Android/
file:///storage/emulated/0/viber/media/
file:///storage/emulated/0/viber/media/Viber%20Videos
file:///storage/emulated/0
Defined in org/xmlpush/v3/n/i/a.java
https://maps.google.com/maps
Defined in org/xmlpush/v3/n/e/d.java
https://maps.google.com/maps
Defined in org/xmlpush/v3/n/e/b.java

Permissions analysis

Information computed with MobSF.

High android.permission.ACCESS_COARSE_LOCATION coarse (network-based) location
Access coarse location sources, such as the mobile network database, to determine an approximate phone location, where available. Malicious applications can use this to determine approximately where you are.
High android.permission.ACCESS_FINE_LOCATION fine (GPS) location
Access fine location sources, such as the Global Positioning System on the phone, where available. Malicious applications can use this to determine where you are and may consume additional battery power.
High android.permission.CAMERA take pictures and videos
Allows application to take pictures and videos with the camera. This allows the application to collect images that the camera is seeing at any time.
High android.permission.GET_ACCOUNTS list accounts
Allows access to the list of accounts in the Accounts Service.
High android.permission.PROCESS_OUTGOING_CALLS intercept outgoing calls
Allows application to process outgoing calls and change the number to be dialled. Malicious applications may monitor, redirect or prevent outgoing calls.
High android.permission.READ_CALENDAR read calendar events
Allows an application to read all of the calendar events stored on your phone. Malicious applications can use this to send your calendar events to other people.
High android.permission.READ_CALL_LOG Allows an application to read the user's call log.
High android.permission.READ_CONTACTS read contact data
Allows an application to read all of the contact (address) data stored on your phone. Malicious applications can use this to send your data to other people.
High android.permission.READ_EXTERNAL_STORAGE read external storage contents
Allows an application to read from external storage.
High android.permission.READ_PHONE_STATE read phone state and identity
Allows the application to access the phone features of the device. An application with this permission can determine the phone number and serial number of this phone, whether a call is active, the number that call is connected to and so on.
High android.permission.READ_SMS read SMS or MMS
Allows application to read SMS messages stored on your phone or SIM card. Malicious applications may read your confidential messages.
High android.permission.RECEIVE_SMS receive SMS
Allows application to receive and process SMS messages. Malicious applications may monitor your messages or delete them without showing them to you.
High android.permission.RECORD_AUDIO record audio
Allows application to access the audio record path.
High android.permission.SEND_SMS send SMS messages
Allows application to send SMS messages. Malicious applications may cost you money by sending messages without your confirmation.
High android.permission.WRITE_CONTACTS write contact data
Allows an application to modify the contact (address) data stored on your phone. Malicious applications can use this to erase or modify your contact data.
High android.permission.WRITE_EXTERNAL_STORAGE read/modify/delete external storage contents
Allows an application to write to external storage.
High android.permission.WRITE_SETTINGS modify global system settings
Allows an application to modify the system's settings data. Malicious applications can corrupt your system's configuration.
High android.permission.WRITE_SMS edit SMS or MMS
Allows application to write to SMS messages stored on your phone or SIM card. Malicious applications may delete your messages.
Low android.permission.ACCESS_NETWORK_STATE view network status
Allows an application to view the status of all networks.
Low android.permission.ACCESS_WIFI_STATE view Wi-Fi status
Allows an application to view the information about the status of Wi-Fi.
Low android.permission.CHANGE_WIFI_STATE change Wi-Fi status
Allows an application to connect to and disconnect from Wi-Fi access points and to make changes to configured Wi-Fi networks.
Low android.permission.INTERNET full Internet access
Allows an application to create network sockets.
Low android.permission.MODIFY_AUDIO_SETTINGS change your audio settings
Allows application to modify global audio settings, such as volume and routing.
Low android.permission.RECEIVE_BOOT_COMPLETED automatically start at boot
Allows an application to start itself as soon as the system has finished booting. This can make it take longer to start the phone and allow the application to slow down the overall phone by always running.
Low android.permission.WAKE_LOCK prevent phone from sleeping
Allows an application to prevent the phone from going to sleep.

Threat analysis

Information computed with Quark-Engine.

Confidence:
100%
Run shell script programmably
Confidence:
100%
Find a method from given class name, usually for reflection
Confidence:
100%
Method reflection
Confidence:
100%
Monitor data identified by a given content URI changes(SMS, MMS, etc.)
Confidence:
100%
Open a file from given absolute path of the file
Confidence:
100%
Monitor the broadcast action events (BOOT_COMPLETED)
Confidence:
100%
Get Location of the device and append this info to a string
Confidence:
100%
Get absolute path of the file and store in string
Confidence:
100%
Query the local IP address
Confidence:
100%
Query WiFi information and WiFi Mac Address
Confidence:
100%
Query data from URI (SMS, CALLLOGS)
Confidence:
100%
Initialize class object dynamically
Confidence:
100%
Initialize bitmap object and compress data (e.g. JPEG) into bitmap object
Confidence:
80%
Query the current data network type
Confidence:
80%
Read data and put it into a buffer stream
Confidence:
80%
Read file and put it into a stream
Confidence:
80%
Query the SIM card status
Confidence:
80%
Return dynamic information about the current Wi-Fi connection
Confidence:
80%
Query the IMSI number
Confidence:
80%
Executes the specified string Linux command

Behavior analysis

Information computed with MobSF.

Base64 decode
       org/xmlpush/v3/u/d.java
Crypto
       org/xmlpush/v3/u/d.java
org/xmlpush/v3/b/h.java
org/c/a/a/c.java
org/c/a/a/e.java
org/c/a/a/d.java
org/xmlpush/v3/b/c.java
org/xmlpush/v3/n/h/c.java
org/xmlpush/v3/n/e/b.java
org/c/a/a/b.java
Execute os command
       org/xmlpush/v3/j/g.java
org/xmlpush/v3/j/i.java
Gps location
       org/xmlpush/v3/n/b/a.java
org/xmlpush/v3/t/a.java
org/xmlpush/v3/n/g.java
org/xmlpush/v3/o/g.java
org/xmlpush/v3/k/c.java
org/xmlpush/v3/t/b.java
org/xmlpush/v3/eventbased/g.java
org/xmlpush/v3/t/d.java
Get cell location
       org/xmlpush/v3/n/m.java
Get installed applications
       org/xmlpush/v3/a/a.java
Get sim serial number
       org/xmlpush/v3/h.java
Get system service
       org/xmlpush/v3/j/h.java
org/xmlpush/v3/k/b.java
org/xmlpush/v3/EventBasedService.java
org/xmlpush/v3/t/a.java
org/xmlpush/v3/Services.java
org/xmlpush/v3/c/c.java
org/xmlpush/v3/o/b.java
org/xmlpush/v3/t/e.java
org/xmlpush/v3/j/e.java
org/xmlpush/v3/h.java
org/xmlpush/v3/eventbased/j.java
org/xmlpush/v3/o/g.java
org/xmlpush/v3/k/c.java
org/xmlpush/v3/c/a.java
org/xmlpush/v3/q/a.java
org/xmlpush/v3/j/l.java
org/xmlpush/v3/m/a.java
org/xmlpush/v3/t/d.java
org/xmlpush/v3/n/i.java
org/xmlpush/v3/a/a.java
org/xmlpush/v3/eventbased/ReceiverService.java
Get wifi details
       org/xmlpush/v3/k/c.java
org/xmlpush/v3/Services.java
org/xmlpush/v3/a/a.java
Inter process communication
       org/xmlpush/v3/q/c.java
org/xmlpush/v3/schedule/SchedulerServices.java
org/xmlpush/v3/eventbased/d.java
org/xmlpush/v3/eventbased/g.java
org/xmlpush/v3/t/c.java
org/xmlpush/v3/h.java
org/xmlpush/v3/eventbased/j.java
org/xmlpush/v3/eventbased/c.java
org/xmlpush/v3/q/b.java
org/xmlpush/v3/k/c.java
org/xmlpush/v3/t/b.java
org/xmlpush/v3/eventbased/l.java
org/xmlpush/v3/n.java
org/xmlpush/v3/ReceiverMain.java
org/xmlpush/v3/eventbased/i.java
org/xmlpush/v3/eventbased/f.java
org/xmlpush/v3/eventbased/k.java
org/xmlpush/v3/EventBasedService.java
org/xmlpush/v3/t/a.java
org/xmlpush/v3/eventbased/h.java
org/xmlpush/v3/schedule/a.java
org/xmlpush/v3/Services.java
org/xmlpush/v3/g/b.java
org/xmlpush/v3/Init.java
org/xmlpush/v3/eventbased/e.java
org/xmlpush/v3/eventbased/b.java
org/xmlpush/v3/o/h.java
org/xmlpush/v3/j/e.java
org/xmlpush/v3/o/g.java
org/xmlpush/v3/k/a.java
org/xmlpush/v3/q/a.java
org/xmlpush/v3/s/a.java
org/xmlpush/v3/o.java
org/xmlpush/v3/eventbased/a.java
org/xmlpush/v3/m/a.java
org/xmlpush/v3/t/d.java
org/xmlpush/v3/a/a.java
org/xmlpush/v3/eventbased/ReceiverService.java
Java reflection
       org/xmlpush/v3/j/g.java
org/xmlpush/v3/Services.java
org/xmlpush/v3/Init.java
org/d/b.java
org/xmlpush/v3/j/i.java
Loading native code (shared library)
       org/d/b.java
Local file i/o operations
       org/xmlpush/v3/a.java
org/xmlpush/v3/Services.java
helper/sqlite/database/sqlite/SQLiteDatabase.java
org/xmlpush/v3/t.java
org/xmlpush/v3/h.java
org/xmlpush/v3/j/i.java
helper/sqlite/database/sqlite/SQLiteOpenHelper.java
Message digest
       org/xmlpush/v3/u/d.java
org/xmlpush/v3/b/c.java
org/xmlpush/v3/n/h/c.java
org/xmlpush/v3/b/e.java
org/c/a/a/b.java
Query database of sms, contacts etc
       helper/sqlite/database/sqlite/SqliteWrapper.java
org/xmlpush/v3/b/i.java
org/xmlpush/v3/i/a.java
org/xmlpush/v3/d/a.java
Sending broadcast
       org/xmlpush/v3/j/e.java
Starting service
       org/xmlpush/v3/q/c.java
org/xmlpush/v3/EventBasedService.java
org/xmlpush/v3/eventbased/d.java
org/xmlpush/v3/eventbased/h.java
org/xmlpush/v3/Services.java
org/xmlpush/v3/eventbased/g.java
org/xmlpush/v3/g/b.java
org/xmlpush/v3/Init.java
org/xmlpush/v3/eventbased/e.java
org/xmlpush/v3/eventbased/b.java
org/xmlpush/v3/o/h.java
org/xmlpush/v3/h.java
org/xmlpush/v3/eventbased/j.java
org/xmlpush/v3/eventbased/c.java
org/xmlpush/v3/t/b.java
org/xmlpush/v3/eventbased/l.java
org/xmlpush/v3/n.java
org/xmlpush/v3/ReceiverMain.java
org/xmlpush/v3/eventbased/i.java
org/xmlpush/v3/eventbased/f.java
org/xmlpush/v3/eventbased/ReceiverService.java
Tcp socket
       org/xmlpush/v3/j/i.java