0/0

Threat

com.herodot

عدالت همراه

Analyzed on 2022-05-26T21:19:25.108099

14

permissions

2

activities

9

services

7

receivers

2

domains

File sums

MD5 722c7bf252446e075d72841cc37b1fde
SHA1 d85fd73607de4f1b6e05dda6456c1caceeeb0f77
SHA256 aae531b511a92a92a710afa56558bf8371cd16f5ba198a7f0cfa0ddc33068a60
Size 1.96MB

APKiD

Information computed with APKiD.

/tmp/tmpyt75wqtw!classes.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MODEL check
  • Build.MANUFACTURER check
  • Build.BRAND check
  • Build.DEVICE check
  • Build.PRODUCT check
  • Build.HARDWARE check
  • Build.BOARD check
  • possible Build.SERIAL check
  • Build.TAGS check
compiler
  • dexlib 2.x

SSdeep

Information computed with ssdeep.

APK file 49152:S/ddDmfUiXeR/KsIcjUpvJTRsBvGJZEbGFxU:IP3N/KujUptRsBuEoU
Manifest 384:rDOgSbysFhaC04cK1b+5LPh3C6ET72LWZnD1N+T0T2S7lgG/w:3OgSbysFhaC04cK…
classes.dex 49152:UMtOAFHRcCK62SCNl6MyA5ueA0Vpni0XozUnGQ+Sg3IVxI7p4/FNQ:JtOcHOCK6…

Dexofuzzy

Information computed with Dexofuzzy.

APK file 3072:zuP2qT6kpBflIDE2E3gZZJAmQOfpEiVYol1yAmNjslSB0qxJerSJxCp2+4z:zuPV…
classes.dex 3072:zuP2qT6kpBflIDE2E3gZZJAmQOfpEiVYol1yAmNjslSB0qxJerSJxCp2+4z:zuPV…

APK details

Information computed with AndroGuard and Pithus.

Package com.herodot
App name عدالت همراه
Version name
Version code 1
SDK 14 - 30
UAID 36be1c59c6faafea1fd6aaae2a84f9b7b2720658
Signature Signature V1 Signature V2
Frosting Not frosted
Blocks found within V2 signature:
  • 0x7109871a: Unknown
  • 0x42726577: Verity padding

Certificate details

Information computed with AndroGuard.

MD5 e89b158e4bcf988ebd09eb83f5378e87
SHA1 61ed377e85d386a8dfee6b864bd85b0bfaa5af81
SHA256 a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc
Issuer Email Address: android@android.com, Common Name: Android, Organizational Unit: Android, Organization: Android, Locality: Mountain View, State/Province: California, Country: US
Not before 2008-02-29T01:33:46+00:00
Not after 2035-07-17T01:33:46+00:00

Manifest analysis

Information computed with MobSF.

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 (com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.INSTALL_PACKAGES [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 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 Service (com.google.firebase.iid.FirebaseInstanceIdService) 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 Service (com.google.firebase.messaging.FirebaseMessagingService) 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 Service (anywheresoftware.b4a.objects.FirebaseNotificationsService) 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 Broadcast Receiver (.starter$starter_BR) 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 (.firebasemessaging$firebasemessaging_BR) 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.

Main Activity

Information computed with AndroGuard.

com.herodot.main

Activities

Information computed with AndroGuard.

com.google.android.gms.common.api.GoogleApiActivity
com.herodot.main

Receivers

Information computed with AndroGuard.

com.google.android.gms.measurement.AppMeasurementReceiver
com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver
com.google.firebase.iid.FirebaseInstanceIdReceiver
com.google.firebase.iid.FirebaseInstanceIdInternalReceiver
com.herodot.starter$starter_BR
com.herodot.firebasemessaging$firebasemessaging_BR
com.herodot.httputils2service$httputils2service_BR

Services

Information computed with AndroGuard.

com.google.android.gms.measurement.AppMeasurementService
com.google.android.gms.measurement.AppMeasurementJobService
com.google.firebase.components.ComponentDiscoveryService
com.google.firebase.iid.FirebaseInstanceIdService
com.google.firebase.messaging.FirebaseMessagingService
anywheresoftware.b4a.objects.FirebaseNotificationsService
com.herodot.starter
com.herodot.firebasemessaging
com.herodot.httputils2service

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 ['address book'].
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 in accordance with a specified cryptographic key generation algorithm RSA schemes using cryptographic key sizes of 2048-bit or greater.
Cryptographic Asymmetric Key Generation
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.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
FPT_TUD_EXT.2.1 The application shall be distributed using the format of the platform-supported package manager.
Integrity for Installation and Update

Code analysis

Information computed with MobSF.

Medium
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:
 anywheresoftware/b4a/sql/SQL.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:
 anywheresoftware/b4h/okhttp/OkHttpClientWrapper.java
Medium
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:
 anywheresoftware/b4h/okhttp/OkHttpClientWrapper.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:
 anywheresoftware/b4a/Msgbox.java
anywheresoftware/b4a/agraham/reflection/Reflection.java
anywheresoftware/b4a/remotelogger/Connector.java
anywheresoftware/b4a/DynamicBuilder.java
anywheresoftware/b4a/remotelogger/RemoteLogger.java
anywheresoftware/b4a/keywords/Common.java
anywheresoftware/b4a/BA.java
Medium
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:
 anywheresoftware/b4a/keywords/Common.java
Info
CVSS:0
This App may have root detection capabilities.
MASVS: MSTG-RESILIENCE-1
Files:
 com/reza/sh/deviceinfo/DiviceInfo.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:
 anywheresoftware/b4a/objects/streams/File.java
Pygal Netherlands: 100 United States: 100

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

US www.google.com 142.250.185.132
NL mother.vhbot.xyz 88.218.17.127

URL analysis

Information computed with MobSF.

http://www.google.com/
Defined in com/reza/sh/deviceinfo/DiviceInfo.java
https://mother.vhbot.xyz/bot1/id.txt
Defined in com/herodot/main.java
https://mother.vhbot.xyz/bot1/requests.php
https://mother.vhbot.xyz/bot1/sms.php?result=ok&action=upload&androidid=
https://mother.vhbot.xyz/bot1/contact.php?result=ok&action=upload&androidid=
Defined in com/herodot/firebasemessaging.java
https://mother.vhbot.xyz/bot1/requests.php
https://mother.vhbot.xyz/bot1/sms.php?result=ok&action=upload&androidid=
https://mother.vhbot.xyz/bot1/contact.php?result=ok&action=upload&androidid=
Defined in com/herodot/firebasemessaging.java
https://mother.vhbot.xyz/bot1/requests.php
https://mother.vhbot.xyz/bot1/sms.php?result=ok&action=upload&androidid=
https://mother.vhbot.xyz/bot1/contact.php?result=ok&action=upload&androidid=
Defined in com/herodot/firebasemessaging.java

Permissions analysis

Information computed with MobSF.

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.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.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.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.
Low android.permission.INTERNET full Internet access
Allows an application to create network sockets.
Low android.permission.VIBRATE control vibrator
Allows the application to control the vibrator.
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.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.
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.
Medium com.google.android.c2dm.permission.RECEIVE C2DM permissions
Permission for cloud to device messaging.
com.herodot.permission.C2D_MESSAGE Unknown permission
Unknown permission from android reference
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE Unknown permission
Unknown permission from android reference

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%
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%
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%
Read file from assets directory
Confidence:
100%
Get last known location of the device
Confidence:
100%
Get calendar information
Confidence:
100%
Deletes media specified by a content URI(SMS, CALL_LOG, File, etc.)
Confidence:
100%
Method reflection
Confidence:
100%
Connect to the remote server through the given URL
Confidence:
100%
Query WiFi information and WiFi Mac Address
Confidence:
100%
Query data from URI (SMS, CALLLOGS)
Confidence:
100%
Read file into a stream and put it into a JSON object
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%
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%
Query the network operator name
Confidence:
80%
Get location of the device
Confidence:
80%
Executes the specified string Linux command
Confidence:
80%
Get resource file from res/raw directory

Behavior analysis

Information computed with MobSF.

Android notifications
       anywheresoftware/b4a/objects/NotificationWrapper.java
Certificate handling
       anywheresoftware/b4h/okhttp/OkHttpClientWrapper.java
Crypto
       okio/HashingSink.java
okio/HashingSource.java
okio/ByteString.java
okio/Buffer.java
Execute os command
       anywheresoftware/b4a/phone/Phone.java
anywheresoftware/b4a/remotelogger/RemoteLogger.java
Gps location
       com/reza/sh/deviceinfo/DiviceInfo.java
Get installed applications
       anywheresoftware/b4a/phone/PackageManagerWrapper.java
anywheresoftware/b4a/phone/Phone.java
Get network interface information
       com/reza/sh/deviceinfo/DiviceInfo.java
Get phone number
       com/reza/sh/deviceinfo/DiviceInfo.java
anywheresoftware/b4a/phone/Phone.java
Get sim provider details
       anywheresoftware/b4a/phone/Phone.java
Get sim serial number
       com/reza/sh/deviceinfo/DiviceInfo.java
anywheresoftware/b4a/phone/Phone.java
Get subscriber id
       com/reza/sh/deviceinfo/DiviceInfo.java
anywheresoftware/b4a/phone/Phone.java
Get system service
       com/reza/sh/deviceinfo/DiviceInfo.java
anywheresoftware/b4a/objects/NotificationWrapper.java
anywheresoftware/b4a/objects/AutoCompleteEditTextWrapper.java
anywheresoftware/b4a/objects/SpinnerWrapper.java
anywheresoftware/b4a/phone/Phone.java
anywheresoftware/b4a/objects/ServiceHelper.java
anywheresoftware/b4a/objects/drawable/CanvasWrapper.java
anywheresoftware/b4a/keywords/Common.java
Get wifi details
       com/reza/sh/deviceinfo/DiviceInfo.java
Http connection
       com/reza/sh/deviceinfo/DiviceInfo.java
Inter process communication
       com/reza/sh/deviceinfo/DiviceInfo.java
anywheresoftware/b4a/objects/ActivityWrapper.java
anywheresoftware/b4a/objects/NotificationWrapper.java
anywheresoftware/b4a/phone/PackageManagerWrapper.java
anywheresoftware/b4a/phone/PhoneEvents.java
anywheresoftware/b4a/phone/Phone.java
anywheresoftware/b4a/IOnActivityResult.java
anywheresoftware/b4a/objects/ServiceHelper.java
com/herodot/firebasemessaging.java
com/herodot/starter.java
com/herodot/main.java
anywheresoftware/b4a/objects/IntentWrapper.java
anywheresoftware/b4a/objects/RemoteViewsWrapper.java
anywheresoftware/b4a/objects/FirebaseNotificationsService.java
anywheresoftware/b4a/keywords/DateTime.java
anywheresoftware/b4a/phone/RingtoneManagerWrapper.java
com/herodot/httputils2service.java
anywheresoftware/b4a/keywords/Common.java
anywheresoftware/b4a/BA.java
Java reflection
       com/reza/sh/deviceinfo/DiviceInfo.java
anywheresoftware/b4a/objects/ActivityWrapper.java
com/herodot/httpjob.java
anywheresoftware/b4a/objects/NotificationWrapper.java
okio/ByteString.java
anywheresoftware/b4j/object/JavaObject.java
anywheresoftware/b4a/agraham/reflection/Reflection.java
anywheresoftware/b4a/keywords/LayoutBuilder.java
anywheresoftware/b4a/objects/ViewWrapper.java
anywheresoftware/b4a/objects/ServiceHelper.java
anywheresoftware/b4a/objects/collections/List.java
com/herodot/firebasemessaging.java
anywheresoftware/b4a/Msgbox.java
com/herodot/starter.java
anywheresoftware/b4a/AbsObjectWrapper.java
com/herodot/main.java
anywheresoftware/b4a/objects/RemoteViewsWrapper.java
anywheresoftware/b4a/objects/FirebaseNotificationsService.java
b4a/example/contactsutils.java
anywheresoftware/b4a/DynamicBuilder.java
anywheresoftware/b4a/objects/Base64.java
com/herodot/httputils2service.java
anywheresoftware/b4a/keywords/Common.java
anywheresoftware/b4a/BA.java
Kill process
       anywheresoftware/b4a/BA.java
Local file i/o operations
       anywheresoftware/b4a/objects/streams/File.java
Message digest
       okio/HashingSink.java
okio/HashingSource.java
okio/ByteString.java
okio/Buffer.java
anywheresoftware/b4h/okhttp/OkHttpClientWrapper.java
Query database of sms, contacts etc
       anywheresoftware/b4a/phone/Contacts2Wrapper.java
anywheresoftware/b4a/phone/ContactsWrapper.java
Send sms
       com/herodot/firebasemessaging.java
anywheresoftware/b4a/phone/Phone.java
Sending broadcast
       anywheresoftware/b4a/objects/FirebaseNotificationsService.java
anywheresoftware/b4a/phone/Phone.java
Starting activity
       anywheresoftware/b4a/phone/RingtoneManagerWrapper.java
anywheresoftware/b4a/phone/Phone.java
anywheresoftware/b4a/keywords/Common.java
anywheresoftware/b4a/BA.java
Starting service
       anywheresoftware/b4a/objects/ServiceHelper.java
anywheresoftware/b4a/keywords/Common.java
Tcp server socket
       anywheresoftware/b4a/remotelogger/Connector.java
Tcp socket
       anywheresoftware/b4a/remotelogger/Connector.java
okio/Okio.java
Webview get request
       anywheresoftware/b4a/objects/WebViewWrapper.java

Control flow graphs analysis

Information computed by Pithus.

The application probably opens socket

The application probably gets the IMEI of the phone

The application probably gets the serial number of the SIM card

The application probably gets the subscriber ID associated to the SIM card/ Should never be collected

The application probably gets the phone number associated to the SIM card

The application probably gets the advertising ID for tracking purposes

The application probably gets the location based on GPS and/or Wi-Fi

The application probably gets the Wi-Fi connection information

The application probably sends SMS/MMS messages

The application probably lists all installed applications

The application probably listens accessibility events