0/59

Threat

com.bluproducts.activationapp

BLU Alerts

Analyzed on 2021-07-15T02:37:44.950580

18

permissions

14

activities

1

services

2

receivers

4

domains

File sums

MD5 244299330ec340acfa64fe8803365438
SHA1 7e6d297c265c4baf0d4cd7ee813643410bd8e09f
SHA256 771e617177748b460a625359c38860039dcc16c5f2950c0dbaaf83ee9821be4b
Size 7.1MB

APKiD

Information computed with APKiD.

/tmp/tmp7zj2ibti
anti_disassembly
  • illegal class name
/tmp/tmp7zj2ibti!classes.dex
anti_disassembly
  • illegal class name
anti_vm
  • Build.FINGERPRINT check
  • Build.MODEL check
  • Build.MANUFACTURER check
  • possible Build.SERIAL check
anti_debug
  • Debug.isDebuggerConnected() check
compiler
  • dx

SSdeep

Information computed with ssdeep.

APK file 98304:ul4l1HxFzwmEwRCbkPZqKtuRv1vPu0fRVyrVWqhd4msPa:QCpxgwokwKgvPrGW+sy
Manifest 384:84wOBiMSzd8o9i8gmU/6AybstI3gfEgiHkALwUNqn7WbqpnaBaX6rDS7FQ6UAYWj:…
classes.dex 49152:aryhJmxO105A2oFL7iMMw2Tmm7dMRVOmtfOHsPF:1yrVWqhd4msPF

Dexofuzzy

Information computed with Dexofuzzy.

APK file 3072:4uoyZo0v6vrGl3Cxwgtms17hONcLrkoOGCZJkhMGU4apP7d:4u0ClyxwrsZh3LrC…
classes.dex 3072:4uoyZo0v6vrGl3Cxwgtms17hONcLrkoOGCZJkhMGU4apP7d:4u0ClyxwrsZh3LrC…

APK details

Information computed with AndroGuard and Pithus.

Package com.bluproducts.activationapp
App name BLU Alerts
Version name 9.0.19
Version code 19
SDK 26 - 28
UAID dd3fda76a90da1966210fd943f6676a813285f96
Signature Signature V1
Frosting Not frosted

Certificate details

Information computed with AndroGuard.

MD5 de06f5217a3ae1923fb95dd558af78b1
SHA1 0135ce00d304f41224838b12859c3405df775fce
SHA256 badc24ad4c95847eb259c57a7e9440b9188224c721738eca933b7e66b95468b3
Issuer Common Name: Anthony Gonzalez, Organizational Unit: BLU Products, Organization: BLU, Locality: Miami, State/Province: FL, Country: US
Not before 2018-10-09T18:45:23+00:00
Not after 2043-10-03T18:45:23+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 Broadcast Receiver (com.bluproducts.activationapp.SuwCustomizationReceiver) 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 Service (com.bluproducts.activationapp.jobscheduler.WizardService) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.BIND_JOB_SERVICE [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. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High Broadcast Receiver (com.bluproducts.activationapp.autostart) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.RECEIVE_BOOT_COMPLETED [android:exported=true]
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. It is protected by a permission which is not defined in the analysed application. As a result, the protection level of the permission should be checked where it is defined. If it is set to normal or dangerous, a malicious application can request and obtain the permission and interact with the component. If it is set to signature, only applications signed with the same certificate can obtain the permission.
High TaskAffinity is set for Activity
(com.bluproducts.activationapp.ui.activity.update.UpdateActivity)
If taskAffinity is set, then other application could read the Intents sent to Activities belonging to another task. Always use the default setting keeping the affinity as the package name in order to prevent sensitive information inside sent or received Intents from being read by another application.
High Activity (com.bluproducts.activationapp.ui.activity.update.UpdateActivity) is not Protected.An intent-filter exists.
An Activity 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 Activity is explicitly exported.
High TaskAffinity is set for Activity
(com.bluproducts.activationapp.ui.activity.subscribe.SubscribeActivity)
If taskAffinity is set, then other application could read the Intents sent to Activities belonging to another task. Always use the default setting keeping the affinity as the package name in order to prevent sensitive information inside sent or received Intents from being read by another application.
High Activity (com.bluproducts.activationapp.ui.activity.settings.SettingsActivity) is not Protected.An intent-filter exists.
An Activity 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 Activity is explicitly exported.

Main Activity

Information computed with AndroGuard.

['com.bluproducts.activationapp.popup.Notifications', 'com.bluproducts.activationapp.ui.activity.factory.FactoryActivity', 'com.bluproducts.activationapp.ui.activity.about.AboutActivity', 'com.bluproducts.activationapp.ui.activity.privacy.PrivacyActivity', 'com.bluproducts.activationapp.ui.activity.update.UpdateActivity', 'com.bluproducts.activationapp.ui.activity.subscribe.SubscribeActivity', 'com.bluproducts.activationapp.ui.activity.webview.WebViewActivity', 'com.bluproducts.activationapp.ui.activity.settings.SettingsActivity', 'com.google.android.gms.ads.AdActivity', 'net.hockeyapp.android.UpdateActivity', 'net.hockeyapp.android.FeedbackActivity', 'net.hockeyapp.android.PaintActivity', 'net.hockeyapp.android.LoginActivity', 'net.hockeyapp.android.ExpiryInfoActivity']

Activities

Information computed with AndroGuard.

com.bluproducts.activationapp.popup.Notifications
com.bluproducts.activationapp.ui.activity.factory.FactoryActivity
com.bluproducts.activationapp.ui.activity.about.AboutActivity
com.bluproducts.activationapp.ui.activity.privacy.PrivacyActivity
com.bluproducts.activationapp.ui.activity.update.UpdateActivity
com.bluproducts.activationapp.ui.activity.subscribe.SubscribeActivity
com.bluproducts.activationapp.ui.activity.webview.WebViewActivity
com.bluproducts.activationapp.ui.activity.settings.SettingsActivity
com.google.android.gms.ads.AdActivity
net.hockeyapp.android.UpdateActivity
net.hockeyapp.android.FeedbackActivity
net.hockeyapp.android.PaintActivity
net.hockeyapp.android.LoginActivity
net.hockeyapp.android.ExpiryInfoActivity

Receivers

Information computed with AndroGuard.

com.bluproducts.activationapp.SuwCustomizationReceiver
com.bluproducts.activationapp.autostart

Services

Information computed with AndroGuard.

com.bluproducts.activationapp.jobscheduler.WizardService

Sample timeline

Latest file found in APK Jan. 1, 1980, midnight
Certificate valid not before Oct. 9, 2018, 6:45 p.m.
First submission on VT Nov. 4, 2019, 7:46 p.m.
Last submission on VT Nov. 4, 2019, 7:46 p.m.
Upload on Pithus July 15, 2021, 2:37 a.m.
Certificate valid not after Oct. 3, 2043, 6:45 p.m.

NIAP analysis

Information computed with MobSF.

FCS_RBG_EXT.1.1 The application invoke platform-provided 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 implement asymmetric key generation.
Cryptographic Key Generation Services
FDP_DEC_EXT.1.1 The application has access to ['bluetooth', 'network connectivity', 'location'].
Access to Platform Resources
FDP_DEC_EXT.1.2 The application has access to no sensitive information repositories.
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(1) The application generate asymmetric cryptographic keys not in accordance with FCS_CKM.1.1(1) using key generation algorithm RSA schemes and cryptographic key sizes of 1024-bit or lower.
Cryptographic Asymmetric Key Generation
FCS_COP.1.1(1) The application perform encryption/decryption not in accordance with FCS_COP.1.1(1), AES-ECB mode is being used.
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_HTTPS_EXT.1.2 The application implement HTTPS using TLS.
HTTPS Protocol
FCS_HTTPS_EXT.1.3 The application notify the user and not establish the connection or request application authorization to establish the connection if the peer certificate is deemed invalid.
HTTPS Protocol
FIA_X509_EXT.2.1 The application use X.509v3 certificates as defined by RFC 5280 to support authentication for HTTPS , TLS.
X.509 Certificate Authentication

Code analysis

Information computed with MobSF.

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:
 com/bluproducts/activationapp/ui/activity/privacy/PrivacyActivity.java
net/hockeyapp/android/e/e.java
com/bluproducts/activationapp/autostart.java
com/bluproducts/activationapp/ui/activity/subscribe/SubscribeActivity.java
com/bluproducts/activationapp/b/a.java
com/bluproducts/activationapp/jobscheduler/WizardService.java
High
CVSS:5.5
App creates temp file. Sensitive information should never be written into a temp file.
MASVS: MSTG-STORAGE-2
CWE-276 Incorrect Default Permissions
M2: Insecure Data Storage
Files:
 net/hockeyapp/android/e/f.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:
 net/hockeyapp/android/a.java
net/hockeyapp/android/d/c.java
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:
 net/hockeyapp/android/e/l.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:
 com/bluproducts/activationapp/b/e.java
Pygal Canada: 100 United States: 300

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

US boldphone.com 74.208.236.85
US drive.google.com 142.250.185.78
US sdk.hockeyapp.net 40.70.164.17
CA activate.bluproducts.com 142.44.140.126

URL analysis

Information computed with MobSF.

https://boldphone.com/device-privacy/
file:///android_asset/privacy/index.html
Defined in com/bluproducts/activationapp/a/a/g/a.java
https://activate.bluproducts.com
https://drive.google.com/
Defined in com/bluproducts/activationapp/rest/a/c.java
https://sdk.hockeyapp.net/
Defined in net/hockeyapp/android/j.java
https://sdk.hockeyapp.net/
Defined in net/hockeyapp/android/b.java
https://activate.bluproducts.com/service/key/%1$s/notifications/%2$s
https://activate.bluproducts.com/service/key/%1$s/download/%2$s
Defined in Android String Resource

Permissions analysis

Information computed with MobSF.

High android.permission.GET_ACCOUNTS list accounts
Allows access to the list of accounts in the Accounts Service.
High android.permission.AUTHENTICATE_ACCOUNTS act as an account authenticator
Allows an application to use the account authenticator capabilities of the Account Manager, including creating accounts as well as obtaining and setting their passwords.
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.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.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.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_EXTERNAL_STORAGE read/modify/delete external storage contents
Allows an application to write to external storage.
High android.permission.REQUEST_INSTALL_PACKAGES Allows an application to request installing packages.
Malicious applications can use this to try and trick users into installing additional malicious packages.
Low android.permission.INTERNET full Internet access
Allows an application to create network sockets.
Low android.permission.ACCESS_NETWORK_STATE view network status
Allows an application to view the status of all networks.
Low android.permission.BLUETOOTH create Bluetooth connections
Allows applications to connect to paired bluetooth devices.
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.
Medium android.permission.PACKAGE_USAGE_STATS update component usage statistics
Allows the modification of collected component usage statistics. Not for use by common applications.
Medium android.permission.INSTALL_PACKAGES directly install applications
Allows an application to install new or updated Android packages. Malicious applications can use this to add new applications with arbitrarily powerful permissions.
Medium android.permission.DUMP retrieve system internal status
Allows application to retrieve internal status of the system. Malicious applications may retrieve a wide variety of private and secure information that they should never commonly need.
android.permission.MANAGE_USERS Unknown permission
Unknown permission from android reference
android.permission.LOCAL_MAC_ADDRESS Unknown permission
Unknown permission from android reference
android.permission.READ_PRIVELEGED_PHONE_STATE Unknown permission
Unknown permission from android reference

Threat analysis

Information computed with Quark-Engine.

Confidence:
100%
Load external class
Confidence:
100%
Query the current data network type
Confidence:
100%
Implicit intent(view a web page, make a phone call, etc.)
Confidence:
100%
Query the list of the installed packages
Confidence:
100%
Find a method from given class name, usually for reflection
Confidence:
100%
Connect to a URL and receive input stream from the server
Confidence:
100%
Method reflection
Confidence:
100%
Install other APKs from file
Confidence:
100%
Load class from given class name
Confidence:
100%
Retrieve data from broadcast
Confidence:
100%
Read sensitive data(SMS, CALLLOG, etc)
Confidence:
100%
Implicit intent(view a web page, make a phone call, etc.) via setData
Confidence:
100%
Query user account information
Confidence:
100%
Connect to a URL and get the response code
Confidence:
100%
Monitor the broadcast action events (BOOT_COMPLETED)
Confidence:
100%
Get absolute path of the file and store in string
Confidence:
100%
Get last known location of the device
Confidence:
100%
Get calendar information
Confidence:
100%
Method reflection
Confidence:
100%
Connect to the remote server through the given URL
Confidence:
100%
Query data from URI (SMS, CALLLOGS)
Confidence:
100%
Get the time of current location
Confidence:
100%
Initialize class object dynamically
Confidence:
100%
Connect to a URL and set request method
Confidence:
80%
Read data and put it into a buffer stream
Confidence:
80%
Get location info of the device and put it to JSON object
Confidence:
80%
Connect to a URL and read data from it
Confidence:
80%
Save the response to JSON after connecting to the remote server
Confidence:
80%
Read file and put it into a stream
Confidence:
80%
Get declared method from given method name
Confidence:
80%
Send notification
Confidence:
80%
Get location of the device
Confidence:
80%
Read the input stream from given URL
Confidence:
80%
Get resource file from res/raw directory

Behavior analysis

Information computed with MobSF.

Android notifications
       com/bluproducts/activationapp/b.java
net/hockeyapp/android/e/m.java
Get installed applications
       com/bluproducts/activationapp/b/a.java
Get network interface information
       com/bluproducts/activationapp/b/a.java
Get system service
       com/bluproducts/activationapp/b.java
com/bluproducts/activationapp/b/c.java
com/bluproducts/activationapp/app/BluApplication.java
net/hockeyapp/android/e/m.java
com/bluproducts/activationapp/jobscheduler/b.java
net/hockeyapp/android/FeedbackActivity.java
com/bluproducts/activationapp/b/a.java
com/bluproducts/activationapp/jobscheduler/WizardService.java
Http connection
       net/hockeyapp/android/d/e.java
com/bluproducts/activationapp/b.java
net/hockeyapp/android/d/g.java
net/hockeyapp/android/e/f.java
net/hockeyapp/android/d/c.java
net/hockeyapp/android/d/a.java
net/hockeyapp/android/b.java
Inter process communication
       com/bluproducts/activationapp/popup/a.java
com/bluproducts/activationapp/ui/activity/webview/WebViewActivity.java
com/bluproducts/activationapp/ui/activity/privacy/PrivacyActivity.java
com/bluproducts/activationapp/ui/activity/about/AboutActivity.java
net/hockeyapp/android/LoginActivity.java
net/hockeyapp/android/FeedbackActivity.java
com/bluproducts/activationapp/jobscheduler/a.java
net/hockeyapp/android/UpdateActivity.java
net/hockeyapp/android/d/c.java
com/bluproducts/activationapp/b.java
net/hockeyapp/android/e/m.java
com/bluproducts/activationapp/SuwCustomizationReceiver.java
com/bluproducts/activationapp/ui/activity/factory/FactoryActivity.java
net/hockeyapp/android/d/f.java
com/bluproducts/activationapp/ui/activity/update/UpdateActivity.java
com/bluproducts/activationapp/autostart.java
net/hockeyapp/android/j.java
com/bluproducts/activationapp/ui/activity/subscribe/SubscribeActivity.java
net/hockeyapp/android/PaintActivity.java
net/hockeyapp/android/views/a.java
Java reflection
       b/m.java
c/f/e.java
c/d/d/b/y.java
c/d/d/d.java
b/i.java
b/l.java
c/d/c/f.java
Local file i/o operations
       net/hockeyapp/android/d/e.java
net/hockeyapp/android/d/g.java
net/hockeyapp/android/a.java
net/hockeyapp/android/FeedbackActivity.java
net/hockeyapp/android/d/f.java
net/hockeyapp/android/e/f.java
net/hockeyapp/android/e/k.java
com/bluproducts/activationapp/b/d.java
net/hockeyapp/android/PaintActivity.java
net/hockeyapp/android/b.java
Message digest
       net/hockeyapp/android/e/m.java
a/f.java
com/bluproducts/activationapp/b/e.java
Starting activity
       com/bluproducts/activationapp/popup/a.java
com/bluproducts/activationapp/ui/activity/privacy/PrivacyActivity.java
com/bluproducts/activationapp/ui/activity/about/AboutActivity.java
net/hockeyapp/android/FeedbackActivity.java
com/bluproducts/activationapp/ui/activity/update/UpdateActivity.java
net/hockeyapp/android/j.java
com/bluproducts/activationapp/ui/activity/subscribe/SubscribeActivity.java
net/hockeyapp/android/d/c.java
net/hockeyapp/android/views/a.java
com/bluproducts/activationapp/ui/activity/settings/SettingsActivity.java
Tcp socket
       a/l.java
Url connection to file/http/https/ftp/jar
       net/hockeyapp/android/d/c.java
net/hockeyapp/android/d/a.java
Webview get request
       net/hockeyapp/android/j.java

Control flow graphs analysis

Information computed by Pithus.

The application probably lists running applications

The application probably gets different information regarding the telephony capabilities

The application probably gets the IMEI of the phone

The application probably gets network interfaces addresses (IP and/or MAC)

The application probably plays sound

The application probably reads the Android serial number

The application probably listens accessibility events