0/61

Threat

my.gov.onegovappstore.mysejahtera

MySejahtera

Analyzed on 2021-10-19T02:08:46.573016

13

permissions

8

activities

7

services

3

receivers

2

domains

File sums

MD5 6e56250686057bd6e12bb965ce57c873
SHA1 7c83fcce2ea762eab98eeb62d090933b9a2d33be
SHA256 ccc6a2564f27fb59f31aa5a75f78baf9400a4826bd55f354f08d1ca42061ede7
Size 11.34MB

APKiD

Information computed with APKiD.

/tmp/tmpwrm6xhez!classes.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MODEL check
  • Build.MANUFACTURER check
  • Build.PRODUCT check
  • Build.BOARD check
  • possible Build.SERIAL check
  • Build.TAGS check
anti_debug
  • Debug.isDebuggerConnected() check
compiler
  • r8

SSdeep

Information computed with ssdeep.

APK file 196608:ok9NbDEE386vxH9MZDC8AxLjZk0Zl6g5lTMKD08j16bkbXiY6XLP:p5wE386pug8AwA6ulIulUP
Manifest 384:6ZeSr2Hg5Tt9o9RZ/TEtynSgPKVkRZr6K40nNWJ0pSaSgrJXHsFTS6kR8oG1C:ceS…
classes.dex 49152:ftBpMT0wdjI7PsQiK+bZl15bXCnDWnoK625COLNw+oJ1GSVCBw39D7xOn5aovEd…

Dexofuzzy

Information computed with Dexofuzzy.

APK file 3072:GpTtB03NLDiA5WLFcB5MMMPujvBfGjKW65+mMcO4n+8k+olbX8PTgkKRDIJmxd2:…
classes.dex 3072:GpTtB03NLDiA5WLFcB5MMMPujvBfGjKW65+mMcO4n+8k+olbX8PTgkKRDIJmxd2:…

APK details

Information computed with AndroGuard and Pithus.

Package my.gov.onegovappstore.mysejahtera
App name MySejahtera
Version name 1.0.48
Version code 10048
SDK 22 - 30
UAID 2bb992592aaf99bb2055d02ec0d86a056e27f35f
Signature Signature V1 Signature V2 Signature V3
Frosting Frosted
Blocks found within V2 signature:
  • 0x7109871a: Unknown
  • 0xf05368c0: Unknown
  • 0x6dff800d: Source stamp V2 X509 cert
  • 0x2146444e: Google metadata
  • 0x42726577: Verity padding

Certificate details

Information computed with AndroGuard.

MD5 01039b86402b3fcbcf92247cd58deaf7
SHA1 c88907c5bd32855d109d730c250a4abcb3e32551
SHA256 ea37471978d7cb228c5a9a963441ad8dea64a47a625326241cb4c6c9565ece04
Issuer Common Name: Android, Organizational Unit: Android, Organization: Google Inc., Locality: Mountain View, State/Province: California, Country: US
Not before 2020-03-26T14:42:33+00:00
Not after 2050-03-26T14:42:33+00:00

File Analysis

Information computed with MobSF.

Findings Files
Certificate/Key files hardcoded inside the app. assets/www/certificates/GoogleCer.cer
assets/www/certificates/serverCertificate.cer
stamp-cert-sha256

Manifest analysis

Information computed with MobSF.

Low App has a Network Security Configuration[android:networkSecurityConfig=@xml/network_security_config]
The Network Security Configuration feature lets apps customize their network security settings in a safe, declarative configuration file without modifying app code. These settings can be configured for specific domains and for a specific app.
Medium Application Data can be Backed up[android:allowBackup] flag is missing.
The flag [android:allowBackup] should be set to false. By default it is set to true and 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 (nl.xservices.plugins.ShareChooserPendingIntent) 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 Activity (com.gae.scaffolder.plugin.FCMPluginActivity) 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 Service (com.gae.scaffolder.plugin.MyFirebaseMessagingService) is not Protected.An intent-filter exists.
A Service 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 Service is explicitly exported.
High Service (com.google.android.play.core.assetpacks.AssetPackExtractionService) 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 (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.

Main Activity

Information computed with AndroGuard.

my.gov.onegovappstore.mysejahtera.MainActivity

Activities

Information computed with AndroGuard.

my.gov.onegovappstore.mysejahtera.MainActivity
com.synconset.MultiImageChooserActivity
com.google.zxing.client.android.CaptureActivity
com.google.zxing.client.android.encode.EncodeActivity
com.gae.scaffolder.plugin.FCMPluginActivity
com.google.android.play.core.missingsplits.PlayCoreMissingSplitsActivity
com.google.android.play.core.common.PlayCoreDialogWrapperActivity
com.google.android.gms.common.api.GoogleApiActivity

Receivers

Information computed with AndroGuard.

nl.xservices.plugins.ShareChooserPendingIntent
com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver
com.google.firebase.iid.FirebaseInstanceIdReceiver

Services

Information computed with AndroGuard.

com.gae.scaffolder.plugin.MyFirebaseMessagingService
com.google.firebase.messaging.FirebaseMessagingService
com.google.firebase.components.ComponentDiscoveryService
com.google.android.play.core.assetpacks.AssetPackExtractionService
com.google.android.play.core.assetpacks.ExtractionForegroundService
com.google.android.datatransport.runtime.backends.TransportBackendDiscovery
com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService

Sample timeline

Oldest file found in APK Jan. 1, 1981, 1:01 a.m.
Latest file found in APK Jan. 1, 1981, 1:01 a.m.
Certificate valid not before March 26, 2020, 2:42 p.m.
First submission on VT Oct. 17, 2021, 12:22 a.m.
Last submission on VT Oct. 17, 2021, 12:22 a.m.
Upload on Pithus Oct. 19, 2021, 2:08 a.m.
Certificate valid not after March 26, 2050, 2:42 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 invoke the functionality provided by the platform to securely store 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 ['location', 'network connectivity', 'camera'].
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(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(2) The application perform cryptographic hashing services in accordance with a specified cryptographic algorithm SHA-1/SHA-256/SHA-384/SHA-512 and message digest sizes 160/256/384/512 bits.
Cryptographic Operation - Hashing
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.1.1 The application invoked platform-provided functionality to validate certificates in accordance with the following rules: ['The certificate path must terminate with a trusted CA certificate'].
X.509 Certificate Validation
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
FIA_X509_EXT.2.2 When the application cannot establish a connection to determine the validity of a certificate, the application allow the administrator to choose whether to accept the certificate in these cases or accept the certificate ,or not accept the certificate.
X.509 Certificate Authentication
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.

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:
 io/sqlc/SQLiteConnectorDatabase.java
cordova/plugins/Diagnostic_Location.java
cordova/plugins/Diagnostic.java
defpackage/NativeStorage.java
com/silkimen/cordovahttp/CordovaClientAuth.java
cordova/plugins/screenorientation/CDVOrientation.java
net/becvert/cordova/DeviceName.java
io/sqlc/SQLitePlugin.java
cordova/plugin/nativegeocoder/NativeGeocoder.java
com/ionicframework/cordova/webview/IonicWebViewEngine.java
com/silkimen/cordovahttp/CordovaHttpPlugin.java
com/silkimen/cordovahttp/CordovaHttpBase.java
com/gae/scaffolder/plugin/FCMPluginActivity.java
com/gae/scaffolder/plugin/MyFirebaseMessagingService.java
io/sqlc/SQLiteAndroidDatabase.java
com/megster/cordova/FileChooser.java
cordova/plugins/Diagnostic_Camera.java
com/ionicframework/cordova/webview/AndroidProtocolHandler.java
com/hiddentao/cordova/filepath/FilePath.java
com/phonegap/plugins/barcodescanner/BarcodeScanner.java
com/gae/scaffolder/plugin/FCMPlugin.java
com/gae/scaffolder/plugin/FCMPluginChannelCreator.java
defpackage/Crypto.java
com/silkimen/cordovahttp/CordovaServerTrust.java
com/ionicframework/cordova/webview/WebViewLocalServer.java
rwe/com/ravi/MediaScannerPlugin/MediaScannerPlugin.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:
 cordova/plugins/Diagnostic.java
Info
CVSS:0
This App may have root detection capabilities.
MASVS: MSTG-RESILIENCE-1
Files:
 cordova/plugins/Diagnostic.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:
 com/synconset/MultiImageChooserActivity.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/synconset/MultiImageChooserActivity.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/silkimen/cordovahttp/CordovaHttpPlugin.java
com/silkimen/http/HttpRequest.java
com/silkimen/cordovahttp/CordovaServerTrust.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:
 io/sqlc/SQLiteAndroidDatabase.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/hiddentao/cordova/filepath/FilePath.java
nl/xservices/plugins/SocialSharing.java
Low
CVSS:0
This App copies data to clipboard. Sensitive data should not be copied to clipboard as other applications can access it.
MASVS: MSTG-STORAGE-10
Files:
 nl/xservices/plugins/SocialSharing.java
Pygal United States: 200

Map computed by Pithus.

Network analysis

Information computed with MobSF.

High Domain config is insecurely configured to permit clear text traffic to these domains in scope.
Scope: ['localhost']

Domains analysis

Information computed with MobSF.

US mysejahtera-b443f.firebaseio.com 35.201.97.85
US api.whatsapp.com 185.60.216.53

URL analysis

Information computed with MobSF.

data:image/
https://api.whatsapp.com/send?phone=
Defined in nl/xservices/plugins/SocialSharing.java
https://mysejahtera-b443f.firebaseio.com
Defined in Android String Resource

Permissions analysis

Information computed with MobSF.

High android.permission.CALL_PHONE directly call phone numbers
Allows the application to call phone numbers without your intervention. Malicious applications may cause unexpected calls on your phone bill. Note that this does not allow the application to call emergency numbers.
High android.permission.WRITE_EXTERNAL_STORAGE read/modify/delete external storage contents
Allows an application to write to external storage.
High android.permission.READ_EXTERNAL_STORAGE read external storage contents
Allows an application to read from 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.
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.
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.FLASHLIGHT control flashlight
Allows the application to control the flashlight.
Low android.permission.FOREGROUND_SERVICE Allows a regular application to use Service.startForeground
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.

Tracking analysis

Information computed with Exodus-core.

Google Firebase Analytics https://reports.exodus-privacy.eu.org/fr/trackers/49

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%
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%
Put data in cursor to JSON object
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%
Read file from assets directory
Confidence:
100%
Get last known location of the device
Confidence:
100%
Deletes media specified by a content URI(SMS, CALL_LOG, File, etc.)
Confidence:
100%
Get location of the device
Confidence:
100%
Check if the given file path exist
Confidence:
100%
Method reflection
Confidence:
100%
Hide the current app's icon
Confidence:
100%
Connect to the remote server through the given URL
Confidence:
100%
Query data from URI (SMS, CALLLOGS)
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%
Get filename and put it to JSON object
Confidence:
100%
Connect to a URL and set request method
Confidence:
100%
Get specific method from other Dex files
Confidence:
100%
Read sensitive data(SMS, CALLLOG, etc)
Confidence:
80%
Get absolute path of file and put it to JSON object
Confidence:
80%
Read data and put it into a buffer stream
Confidence:
80%
Read file and put it into a stream
Confidence:
80%
Get declared method from given method name
Confidence:
80%
Open a file from given absolute path of the file
Confidence:
80%
Read sensitive data(SMS, CALLLOG) and put it into JSON object
Confidence:
80%
Connect to the specific WIFI network
Confidence:
80%
Get resource file from res/raw directory

Behavior analysis

Information computed with MobSF.

Base64 decode
       com/silkimen/cordovahttp/CordovaHttpPlugin.java
com/silkimen/cordovahttp/CordovaHttpBase.java
defpackage/Crypto.java
com/synconset/MultiImageChooserActivity.java
Base64 encode
       com/silkimen/cordovahttp/CordovaHttpResponse.java
defpackage/Crypto.java
com/badrit/Base64/Base64Plugin.java
com/synconset/MultiImageChooserActivity.java
nl/xservices/plugins/SocialSharing.java
Certificate handling
       com/silkimen/http/HttpRequest.java
com/silkimen/http/TLSSocketFactory.java
com/silkimen/http/TLSConfiguration.java
Crypto
       defpackage/NativeStorage.java
defpackage/Crypto.java
Execute os command
       cordova/plugins/Diagnostic.java
Gps location
       cordova/plugin/nativegeocoder/NativeGeocoder.java
Get installed applications
       com/rohithvaranasi/callnumber/CFCallNumber.java
nl/xservices/plugins/SocialSharing.java
Get system service
       io/ionic/keyboard/CDVIonicKeyboard.java
com/rohithvaranasi/callnumber/CFCallNumber.java
com/gae/scaffolder/plugin/FCMPluginActivity.java
com/gae/scaffolder/plugin/FCMPlugin.java
com/gae/scaffolder/plugin/FCMPluginChannelCreator.java
cordova/plugins/Diagnostic_Location.java
cordova/plugins/Diagnostic.java
com/synconset/MultiImageChooserActivity.java
nl/xservices/plugins/SocialSharing.java
cordova/plugin/nativegeocoder/NativeGeocoder.java
Http connection
       com/silkimen/http/HttpRequest.java
com/ionicframework/cordova/webview/WebViewLocalServer.java
Https connection
       com/silkimen/http/HttpRequest.java
Inter process communication
       com/gae/scaffolder/plugin/FCMPluginActivity.java
my/gov/onegovappstore/mysejahtera/MainActivity.java
cordova/plugins/Diagnostic_Location.java
cordova/plugins/Diagnostic.java
com/megster/cordova/FileChooser.java
io/github/pwlin/cordova/plugins/fileopener2/FileOpener2.java
com/rohithvaranasi/callnumber/CFCallNumber.java
com/phonegap/plugins/barcodescanner/BarcodeScanner.java
com/synconset/ImagePicker.java
nl/xservices/plugins/ShareChooserPendingIntent.java
rwe/com/ravi/MediaScannerPlugin/MediaScannerPlugin.java
com/synconset/MultiImageChooserActivity.java
nl/xservices/plugins/SocialSharing.java
Java reflection
       cordova/plugins/Diagnostic.java
Loading native code (shared library)
       io/liteglue/SQLiteConnector.java
Local file i/o operations
       hu/dpal/phonegap/plugins/UniqueDeviceID.java
io/sqlc/SQLiteAndroidDatabase.java
defpackage/NativeStorage.java
com/hiddentao/cordova/filepath/FilePath.java
cordova/plugins/Diagnostic.java
com/ionicframework/cordova/webview/IonicWebView.java
nl/xservices/plugins/SocialSharing.java
com/ionicframework/cordova/webview/IonicWebViewEngine.java
Sending broadcast
       rwe/com/ravi/MediaScannerPlugin/MediaScannerPlugin.java
Set or read clipboard data
       nl/xservices/plugins/SocialSharing.java
Starting activity
       io/github/pwlin/cordova/plugins/fileopener2/FileOpener2.java
com/rohithvaranasi/callnumber/CFCallNumber.java
com/gae/scaffolder/plugin/FCMPluginActivity.java
com/phonegap/plugins/barcodescanner/BarcodeScanner.java
com/synconset/ImagePicker.java
cordova/plugins/Diagnostic_Location.java
cordova/plugins/Diagnostic.java
com/megster/cordova/FileChooser.java
nl/xservices/plugins/SocialSharing.java
Tcp socket
       com/silkimen/cordovahttp/CordovaHttpBase.java
com/silkimen/http/TLSSocketFactory.java
com/ionicframework/cordova/webview/WebViewLocalServer.java
com/silkimen/http/KeyChainKeyManager.java
Url connection to file/http/https/ftp/jar
       com/ionicframework/cordova/webview/WebViewLocalServer.java

Control flow graphs analysis

Information computed by Pithus.

The application probably gets different information regarding the telephony capabilities

The application probably uses cryptography

The application probably plays sound

The application probably executes OS commands

The application probably listens accessibility events