Moderate Risk

Threat level

com.storystalker.forinstagram

Blindstory for Instagram

Analyzed on 2021-10-21T16:11:49.862174

9

permissions

5

activities

10

services

6

receivers

7

domains

File sums

MD5 4a6506c30c49985b602bfb1b36f0c9c8
SHA1 c81d5fba48b32e10212c7c19394205227ef7bce5
SHA256 1bbf895e227314266398fb7cbf3463655c0a6a5bc3cfe9007e1786d34be0d986
Size 6.81MB

APKiD

Information computed with APKiD.

/tmp/tmp5rvxev7j!classes.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MANUFACTURER check
  • Build.DEVICE check
  • Build.TAGS check
  • SIM operator check
compiler
  • r8
/tmp/tmp5rvxev7j!classes2.dex
anti_vm
  • Build.MODEL check
  • Build.PRODUCT check
  • Build.HARDWARE check
  • Build.TAGS check
  • possible VM check
anti_debug
  • Debug.isDebuggerConnected() check
compiler
  • r8 without marker (suspicious)

SSdeep

Information computed with ssdeep.

APK file 196608:Hpnyy5eMBEVUEe8QRXb7bD8ePAiBJUtCtjA:JnyoqVUbN/bD8emoU
Manifest 384:Tuhwm5UQtzRvyng7KYAJKYUrrTKKnNWJ0p3NLj1PRbhiE7S4pQbZ/5LxbJ0hahnL:…
classes.dex 49152:Gse9fTmJFheS2XS2MXD6Ldqib5I47B+aLRG135z3uu/DYK62of5cpHMyR9yz+G7…
classes2.dex 49152:/TT8wRzGB+lD9PXJt0BFksmJVn2uNK4O/DzmV3EdKBY9r2qec+:/f8wRztLXLPV…

Dexofuzzy

Information computed with Dexofuzzy.

APK file 12288:/CpvMWNgAARRy0eaDPhG4OVSA0T+uq99g+Wq++GfcShdnE:KpvNgAARskZGnAAO…
classes.dex 6144:/CpvobW06ujtkpfgCs4St+A50qgw2sAp0eeR03ZyPhG4SRMUSA0EDIV6JuhtQpXz…
classes2.dex 3072:V01wPK7CUsM+GJh7HDsxPGL5gjaCRUSziJ8uk/pYcWhr0yy2Sy0W4CZ0IE:GYK7C…

APK details

Information computed with AndroGuard and Pithus.

Package com.storystalker.forinstagram
App name Blindstory for Instagram
Version name 1.0.32
Version code 32
SDK 19 - 30
UAID 7b9846e5e219e8de31c0e75ac4855413365c7769
Signature Signature V1 Signature V2 Signature V3
Frosting Not frosted
Blocks found within V2 signature:
  • 0x7109871a: Unknown
  • 0xf05368c0: Unknown
  • 0x6dff800d: Source stamp V2 X509 cert
  • 0x42726577: Verity padding

Certificate details

Information computed with AndroGuard.

MD5 57cdcea9399572e24c15daf24c1eee16
SHA1 de6677320129f79986f0389032c973017091befc
SHA256 e84b70dfac5edd4f809570c8a91f5d6e831857d82f95bca75557e4548c70d1b7
Issuer Common Name: Android, Organizational Unit: Android, Organization: Google Inc., Locality: Mountain View, State/Province: California, Country: US
Not before 2019-02-15T16:55:39+00:00
Not after 2049-02-15T16:55:39+00:00

File Analysis

Information computed with MobSF.

Findings Files
Certificate/Key files hardcoded inside the app. stamp-cert-sha256

Manifest analysis

Information computed with MobSF.

High Broadcast Receiver (com.storystalker.forinstagram.AlarmReceiver) 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 Broadcast Receiver (com.storystalker.forinstagram.BootCompletedReceiver) 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 Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: com.google.android.c2dm.permission.SEND [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 Launch Mode of Activity (com.google.firebase.auth.internal.GenericIdpActivity) is not standard.
An Activity should not be having the launch mode attribute set to "singleTask/singleInstance" as it becomes root Activity and it is possible for other applications to read the contents of the calling Intent. So it is required to use the "standard" launch mode attribute when sensitive information is included in an Intent.
High Activity (com.google.firebase.auth.internal.GenericIdpActivity) is not Protected. [android:exported=true]
An Activity is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device.
High Launch Mode of Activity (com.google.firebase.auth.internal.RecaptchaActivity) is not standard.
An Activity should not be having the launch mode attribute set to "singleTask/singleInstance" as it becomes root Activity and it is possible for other applications to read the contents of the calling Intent. So it is required to use the "standard" launch mode attribute when sensitive information is included in an Intent.
High Activity (com.google.firebase.auth.internal.RecaptchaActivity) is not Protected. [android:exported=true]
An Activity is found to be shared with other apps on the device therefore leaving it accessible to any other application on the device.

Browsable activities

Information computed with MobSF.

com.storystalker.forinstagram.MainActivity

Hosts: easypeekapp.com

Schemes: https://

com.google.firebase.auth.internal.GenericIdpActivity

Hosts: firebase.auth

Schemes: genericidp://

com.google.firebase.auth.internal.RecaptchaActivity

Hosts: firebase.auth

Schemes: recaptcha://

Main Activity

Information computed with AndroGuard.

com.storystalker.forinstagram.MainActivity

Activities

Information computed with AndroGuard.

com.storystalker.forinstagram.MainActivity
com.google.firebase.auth.internal.GenericIdpActivity
com.google.firebase.auth.internal.RecaptchaActivity
com.google.android.gms.common.api.GoogleApiActivity
com.android.billingclient.api.ProxyBillingActivity

Receivers

Information computed with AndroGuard.

com.storystalker.forinstagram.AlarmReceiver
com.storystalker.forinstagram.BootCompletedReceiver
com.google.firebase.iid.FirebaseInstanceIdReceiver
com.google.android.gms.analytics.AnalyticsReceiver
com.google.android.gms.measurement.AppMeasurementReceiver
com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver

Services

Information computed with AndroGuard.

androidx.core.app.FavoriteAlarmServiceWorkaround
com.google.firebase.components.ComponentDiscoveryService
com.google.firebase.messaging.FirebaseMessagingService
com.google.firebase.auth.api.fallback.service.FirebaseAuthFallbackService
com.google.android.gms.analytics.AnalyticsService
com.google.android.gms.analytics.AnalyticsJobService
com.google.android.gms.measurement.AppMeasurementService
com.google.android.gms.measurement.AppMeasurementJobService
com.google.android.datatransport.runtime.backends.TransportBackendDiscovery
com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService

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 ['network connectivity'].
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_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_COP.1.1(4) The application perform keyed-hash message authentication with cryptographic algorithm ['HMAC-SHA-256'] .
Cryptographic Operation - Keyed-Hash Message Authentication
FCS_HTTPS_EXT.1.1 The application implement the HTTPS protocol that complies with RFC 2818.
HTTPS Protocol
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
FPT_TUD_EXT.2.1 The application shall be distributed using the format of the platform-supported package manager.
Integrity for Installation and Update
FCS_CKM.1.1(2) The application shall generate symmetric cryptographic keys using a Random Bit Generator as specified in FCS_RBG_EXT.1 and specified cryptographic key sizes 128 bit or 256 bit.
Cryptographic Symmetric Key Generation

Code analysis

Information computed with MobSF.

Medium
CVSS:4.3
IP Address disclosure
MASVS: MSTG-CODE-2
CWE-200 Information Exposure
Files:
 com/storystalker/forinstagram/Helper/d.java
com/storystalker/forinstagram/Helper/e.java
com/storystalker/forinstagram/PojoObjects/GraphObjects/GraphBatch.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:
 defpackage/h.java
com/storystalker/forinstagram/MainActivity.java
com/storystalker/forinstagram/Billing/BillingManager.java
com/storystalker/forinstagram/Helper/f.java
com/storystalker/forinstagram/Helper/i.java
com/nineoldandroids/animation/PropertyValuesHolder.java
com/storystalker/forinstagram/Helper/e.java
defpackage/o.java
com/storystalker/forinstagram/Billing/BillingFragment.java
defpackage/b.java
com/storystalker/forinstagram/Billing/$$Lambda$BillingManager$y5DNBT9Kv0kRfZbb1tCf0skCAfs.java
defpackage/e.java
com/daimajia/slider/library/Tricks/ViewPagerEx.java
defpackage/s.java
defpackage/p.java
com/stfalcon/frescoimageviewer/ImageViewer.java
defpackage/g.java
com/storystalker/forinstagram/Helper/a.java
defpackage/d.java
com/storystalker/forinstagram/$$Lambda$MainActivity$obo5gBdh91ndyd6fjMSnLGDW7JY.java
defpackage/q.java
com/storystalker/forinstagram/AlarmReceiver.java
com/storystalker/forinstagram/$$Lambda$MainActivity$iwpErKp7lj0AmvXMkXJuZaZV1aU.java
defpackage/a.java
Info
CVSS:0
This App uses SSL certificate pinning to detect or prevent MITM attacks in secure communication channel.
MASVS: MSTG-NETWORK-4
Files:
 com/storystalker/forinstagram/WebService/ServiceGenerator.java
com/storystalker/forinstagram/MainActivity.java
Medium
CVSS:8.8
Insecure WebView Implementation. Execution of user controlled code in WebView is a critical Security Hole.
MASVS: MSTG-PLATFORM-7
CWE-749 Exposed Dangerous Method or Function
M1: Improper Platform Usage
Files:
 defpackage/o.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:
 com/storystalker/forinstagram/Helper/e.java
okio/Options.java
com/storystalker/forinstagram/AlarmReceiver.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:
 com/storystalker/forinstagram/Helper/e.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/storystalker/forinstagram/Helper/e.java
High
CVSS:7.4
Files may contain hardcoded sensitive informations like usernames, passwords, keys etc.
MASVS: MSTG-STORAGE-14
CWE-312 Cleartext Storage of Sensitive Information
M9: Reverse Engineering
Files:
 com/storystalker/forinstagram/Billing/BillingManager.java
Pygal Netherlands: 300 United States: 300

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

NL i.instagram.com 157.240.236.63
US storystalker-24b48.firebaseio.com 35.201.97.85
NL graph.instagram.com 157.240.236.63
NL www.instagram.com 157.240.236.174
analytics.hiboosty.com
US blindstory.easypeekapp.com 3.218.161.155
US ip-api.com 208.95.112.1

URL analysis

Information computed with MobSF.

http://ip-api.com/json
Defined in com/storystalker/forinstagram/WebService/IRest.java
https://i.instagram.com/api/v1/
https://analytics.hiboosty.com/
https://graph.instagram.com/
https://www.instagram.com/
Defined in com/storystalker/forinstagram/WebService/ServiceGenerator.java
https://i.instagram.com/api/v1/
https://analytics.hiboosty.com/
https://graph.instagram.com/
https://www.instagram.com/
Defined in com/storystalker/forinstagram/WebService/ServiceGenerator.java
https://i.instagram.com/api/v1/
https://analytics.hiboosty.com/
https://graph.instagram.com/
https://www.instagram.com/
Defined in com/storystalker/forinstagram/WebService/ServiceGenerator.java
https://i.instagram.com/api/v1/
https://analytics.hiboosty.com/
https://graph.instagram.com/
https://www.instagram.com/
Defined in com/storystalker/forinstagram/WebService/ServiceGenerator.java
https://www.instagram.com/
https://www.instagram.com/accounts/login/
javascript:(function(){
https://blindstory.easypeekapp.com/terms-of-use.php
Defined in defpackage/o.java
https://www.instagram.com/
https://www.instagram.com/accounts/login/
javascript:(function(){
https://blindstory.easypeekapp.com/terms-of-use.php
Defined in defpackage/o.java
https://www.instagram.com/
https://www.instagram.com/accounts/login/
javascript:(function(){
https://blindstory.easypeekapp.com/terms-of-use.php
Defined in defpackage/o.java
https://blindstory.easypeekapp.com/privacy-policy.php
https://blindstory.easypeekapp.com/terms-of-use.php
Defined in defpackage/r.java
https://blindstory.easypeekapp.com/privacy-policy.php
https://blindstory.easypeekapp.com/terms-of-use.php
Defined in defpackage/r.java
https://storystalker-24b48.firebaseio.com
Defined in Android String Resource

Permissions analysis

Information computed with MobSF.

High android.permission.READ_EXTERNAL_STORAGE read external storage contents
Allows an application to read from external storage.
High android.permission.WRITE_EXTERNAL_STORAGE read/modify/delete external storage contents
Allows an application to write to external storage.
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.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.
Medium com.google.android.c2dm.permission.RECEIVE C2DM permissions
Permission for cloud to device messaging.
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE Unknown permission
Unknown permission from android reference
com.android.vending.BILLING Unknown permission
Unknown permission from android reference

Threat analysis

Information computed with Quark-Engine.

Confidence:
100%
Load external class
Confidence:
100%
Implicit intent(view a web page, make a phone call, etc.)
Confidence:
100%
Find a method from given class name, usually for reflection
Confidence:
100%
Read data and put it into a buffer stream
Confidence:
100%
Connect to a URL and receive input stream from the server
Confidence:
100%
Method reflection
Confidence:
100%
Connect to a URL and read data from it
Confidence:
100%
Monitor data identified by a given content URI changes(SMS, MMS, etc.)
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%
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%
Query The ISO country code
Confidence:
100%
Get last known location of the device
Confidence:
100%
Get calendar information
Confidence:
100%
Get location of the device
Confidence:
100%
Method reflection
Confidence:
100%
Connect to the remote server through the given URL
Confidence:
100%
Read file into a stream and put it into a JSON object
Confidence:
100%
Get the time of current location
Confidence:
100%
Initialize class object dynamically
Confidence:
100%
Read the input stream from given URL
Confidence:
100%
Connect to a URL and set request method
Confidence:
100%
Get specific method from other Dex files
Confidence:
80%
Check if the network is connected
Confidence:
80%
Check the active network type
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%
Get resource file from res/raw directory

Behavior analysis

Information computed with MobSF.

Crypto
       okio/HashingSink.java
okio/ByteString.java
okio/HashingSource.java
com/storystalker/forinstagram/Helper/e.java
okio/Buffer.java
Get system service
       defpackage/h.java
defpackage/f.java
com/storystalker/forinstagram/MainActivity.java
com/storystalker/forinstagram/Helper/e.java
defpackage/g.java
com/storystalker/forinstagram/MainApplication.java
net/yslibrary/android/keyboardvisibilityevent/util/UIUtil.java
com/storystalker/forinstagram/AlarmReceiver.java
Inter process communication
       com/codemybrainsout/ratingdialog/RatingDialog.java
com/storystalker/forinstagram/MainActivity.java
com/storystalker/forinstagram/Helper/e.java
defpackage/o.java
defpackage/r.java
com/storystalker/forinstagram/BootCompletedReceiver.java
com/storystalker/forinstagram/AlarmReceiver.java
Java reflection
       okio/ByteString.java
retrofit2/Invocation.java
retrofit2/KotlinExtensions$await$2$2.java
retrofit2/ParameterHandler.java
com/nineoldandroids/animation/PropertyValuesHolder.java
retrofit2/Platform.java
com/nineoldandroids/util/ReflectiveProperty.java
retrofit2/HttpServiceMethod.java
com/daimajia/slider/library/SliderLayout.java
com/daimajia/slider/library/Tricks/ViewPagerEx.java
retrofit2/ServiceMethod.java
retrofit2/RequestFactory.java
retrofit2/Utils.java
retrofit2/Retrofit.java
Local file i/o operations
       com/codemybrainsout/ratingdialog/RatingDialog.java
com/storystalker/forinstagram/MainActivity.java
com/storystalker/forinstagram/MainApplication.java
defpackage/r.java
com/jakewharton/picasso/OkHttp3Downloader.java
com/storystalker/forinstagram/Helper/c.java
Message digest
       okio/HashingSink.java
okio/ByteString.java
okio/HashingSource.java
com/storystalker/forinstagram/Helper/e.java
okio/Buffer.java
Sending broadcast
       com/storystalker/forinstagram/Helper/e.java
Starting activity
       com/codemybrainsout/ratingdialog/RatingDialog.java
com/storystalker/forinstagram/MainActivity.java
defpackage/p.java
defpackage/g.java
defpackage/o.java
defpackage/r.java
defpackage/m.java
Tcp socket
       okio/Okio.java
Webview javascript interface
       defpackage/o.java

Control flow graphs analysis

Information computed by Pithus.

The application probably loads JS-capable web views

The application probably gets different information regarding the telephony capabilities

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

The application probably uses cryptography

The application probably plays sound

The application probably receives data over UDP protocol

The application probably creates an accessibility service

The application probably listens accessibility events