0/62

Threat

com.fuhan.sfscanner

Safty Text Scanner

Analyzed on 2021-10-15T16:24:51.545603

6

permissions

4

activities

2

services

0

receivers

0

domains

File sums

MD5 ab58d19364b7da0d1862c0197af1b133
SHA1 9298d06b72a5891843513dd2fc51be78564b37ab
SHA256 dc6625485c6832d558d612085e74f37ec29e64955562549298921042d6f78a19
Size 11.07MB

APKiD

Information computed with APKiD.

/tmp/tmpb_wamu5l!classes.dex
anti_vm
  • Build.FINGERPRINT check
  • Build.MANUFACTURER check
compiler
  • r8

SSdeep

Information computed with ssdeep.

APK file 196608:Tx92b1sv/nfyoxM/KXohU8XSrd2x4xixzve2xdk0z8RSnN9Civ4C7yHBMxZ4/XUu:V9ks3fyU1cTXShDGzDxDwSN5gxHB9/fN
Manifest 192:meDzX2p3ryngWC6kCpcr6KylyfS5hhEQ0Pts20Y/:meDzX2p3ryngWnkCpcr6K4qS…
classes.dex 49152:K7KIAE/5NTsgmF7g0cPRrau48EfNYLV3WdVEov6:Kj/vTsP7Bgau48EfOV3B86

Dexofuzzy

Information computed with Dexofuzzy.

APK file 3072:kHq7VfKIcqQMqswyHGhUPU8q+NtYQ1vxmo9ZSqrnsgANoxfpwcWRmFjjUfrx3:kK…
classes.dex 3072:kHq7VfKIcqQMqswyHGhUPU8q+NtYQ1vxmo9ZSqrnsgANoxfpwcWRmFjjUfrx3:kK…

APK details

Information computed with AndroGuard and Pithus.

Package com.fuhan.sfscanner
App name Safty Text Scanner
Version name 5.0.1
Version code 5
SDK 21 - 30
UAID d15be7fc3b64ce098ef9e59d3cf9177af3cb41e7
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 a0021572b918e292349d1de35994d981
SHA1 9998c31ef421d8a38580902db45d4203e465c419
SHA256 9175b8a068caf37882588c5c2e50d8da95100dda864372b0aa8237118f5c18ea
Issuer Common Name: Android, Organizational Unit: Android, Organization: Google Inc., Locality: Mountain View, State/Province: California, Country: US
Not before 2021-10-11T09:31:28+00:00
Not after 2051-10-11T09:31:28+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 Clear text traffic is Enabled For App[android:usesCleartextTraffic=true]
The app intends to use cleartext network traffic, such as cleartext HTTP, FTP stacks, DownloadManager, and MediaPlayer. The default value for apps that target API level 27 or lower is "true". Apps that target API level 28 or higher default to "false". The key reason for avoiding cleartext traffic is the lack of confidentiality, authenticity, and protections against tampering; a network attacker can eavesdrop on transmitted data and also modify it without being detected.
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 (com.fuhan.sfscanner.SFScanner) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.BIND_NOTIFICATION_LISTENER_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.

Main Activity

Information computed with AndroGuard.

com.fuhan.sfscanner.MainActivity

Activities

Information computed with AndroGuard.

com.fuhan.sfscanner.MainActivity
com.fuhan.sfscanner.HandleActivity
com.fuhan.sfscanner.IdentifyActivity
pub.devrel.easypermissions.AppSettingsDialogHolderActivity

Services

Information computed with AndroGuard.

com.fuhan.sfscanner.SFScanner
androidx.room.MultiInstanceInvalidationService

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 Oct. 11, 2021, 9:31 a.m.
First submission on VT Oct. 15, 2021, 3:44 p.m.
Last submission on VT Oct. 15, 2021, 3:44 p.m.
Upload on Pithus Oct. 15, 2021, 4:24 p.m.
Certificate valid not after Oct. 11, 2051, 9:31 a.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 generate no asymmetric cryptographic keys.
Cryptographic Key Generation Services
FDP_DEC_EXT.1.1 The application has access to ['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_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

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:
 net/robinx/lib/http/converter/GsonConverter.java
com/googlecode/leptonica/android/Box.java
net/robinx/lib/http/network/ex/hurl/HurlRequestBody.java
com/googlecode/leptonica/android/Pixa.java
net/robinx/lib/http/network/ex/MultipartRequest.java
net/robinx/lib/http/cache/CacheData.java
net/robinx/lib/http/delivered/DeliveryImpl.java
net/robinx/lib/http/retry/DefaultRetryPolicyImpl.java
net/robinx/lib/http/dispatcher/CacheDispatcher.java
com/googlecode/tesseract/android/ResultIterator.java
net/robinx/lib/http/base/Request.java
net/robinx/lib/http/network/ex/RequestParams.java
net/robinx/lib/http/network/Network.java
pub/devrel/easypermissions/helper/ActivityPermissionHelper.java
net/robinx/lib/http/cache/disk/DiskCache.java
net/robinx/lib/http/network/ex/DownloadRequest.java
net/robinx/lib/http/utils/CLog.java
net/robinx/lib/http/dispatcher/NetworkDispatcher.java
pub/devrel/easypermissions/helper/BaseSupportPermissionsHelper.java
com/googlecode/leptonica/android/Boxa.java
com/fuhan/sfscanner/MainActivity.java
net/robinx/lib/http/network/ex/SyncRequest.java
pub/devrel/easypermissions/EasyPermissions.java
com/googlecode/leptonica/android/ReadFile.java
net/robinx/lib/http/network/ex/ImageRequest.java
net/robinx/lib/http/network/ex/hurl/HurlStack.java
net/robinx/lib/http/queue/RequestQueue.java
High
CVSS:7.4
Insecure Implementation of SSL. Trusting all the certificates or accepting self signed certificates is a critical Security Hole. This application is vulnerable to MITM attacks
MASVS: MSTG-NETWORK-3
CWE-295 Improper Certificate Validation
M3: Insecure Communication
Files:
 net/robinx/lib/http/network/HTTPSTrustManager.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/robinx/lib/http/utils/AppUtils.java
com/fuhan/sfscanner/IdentifyActivity.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:
 net/robinx/lib/http/queue/RequestQueue.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:
 com/fuhan/sfscanner/IdentifyActivity.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:
 net/robinx/lib/http/cache/disk/DiskCache.java

Permissions analysis

Information computed with MobSF.

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.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.CHANGE_NETWORK_STATE change network connectivity
Allows applications to change network connectivity state.
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.

Threat analysis

Information computed with Quark-Engine.

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%
Retrieve data from broadcast
Confidence:
100%
Read sensitive data(SMS, CALLLOG, etc)
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%
Get calendar information
Confidence:
100%
Get location of the device
Confidence:
100%
Method reflection
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%
Read file and put it into a stream
Confidence:
80%
Get declared method from given method name
Confidence:
80%
Implicit intent(view a web page, make a phone call, etc.) via setData
Confidence:
80%
Get resource file from res/raw directory
Confidence:
80%
Initialize bitmap object and compress data (e.g. JPEG) into bitmap object

Behavior analysis

Information computed with MobSF.

Certificate handling
       net/robinx/lib/http/network/ex/hurl/HurlStack.java
Get sim provider details
       com/fuhan/sfscanner/db/A.java
Get system service
       net/robinx/lib/http/utils/AppUtils.java
com/fuhan/sfscanner/IdentifyActivity.java
net/robinx/lib/http/utils/NetworkUtils.java
com/fuhan/sfscanner/db/A.java
Http connection
       net/robinx/lib/http/network/ex/hurl/HurlStack.java
Https connection
       net/robinx/lib/http/network/ex/hurl/HurlStack.java
net/robinx/lib/http/network/HTTPSTrustManager.java
Inter process communication
       com/fuhan/sfscanner/MainActivity.java
pub/devrel/easypermissions/AppSettingsDialogHolderActivity.java
com/fuhan/sfscanner/HandleActivity.java
com/fuhan/sfscanner/IdentifyActivity.java
com/fuhan/sfscanner/IdentifyAdapter.java
pub/devrel/easypermissions/AppSettingsDialog.java
Java reflection
       pub/devrel/easypermissions/EasyPermissions.java
com/fuhan/sfscanner/db/A.java
Loading native code (shared library)
       com/googlecode/leptonica/android/Pix.java
com/googlecode/leptonica/android/Box.java
com/googlecode/leptonica/android/Pixa.java
com/googlecode/leptonica/android/GrayQuant.java
com/googlecode/tesseract/android/TessBaseAPI.java
com/googlecode/leptonica/android/MorphApp.java
com/googlecode/leptonica/android/Edge.java
com/googlecode/leptonica/android/Rotate.java
com/googlecode/leptonica/android/JpegIO.java
com/googlecode/leptonica/android/Boxa.java
com/googlecode/leptonica/android/Convert.java
com/googlecode/leptonica/android/Binarize.java
com/googlecode/tesseract/android/PageIterator.java
com/googlecode/leptonica/android/Clip.java
com/googlecode/tesseract/android/TessPdfRenderer.java
com/googlecode/leptonica/android/Enhance.java
com/googlecode/tesseract/android/ResultIterator.java
com/googlecode/leptonica/android/ReadFile.java
com/googlecode/leptonica/android/Skew.java
com/googlecode/leptonica/android/WriteFile.java
com/googlecode/leptonica/android/AdaptiveMap.java
com/googlecode/leptonica/android/Scale.java
Local file i/o operations
       net/robinx/lib/http/utils/AppUtils.java
com/fuhan/sfscanner/db/A.java
Message digest
       net/robinx/lib/http/cache/disk/DiskCache.java
Set or read clipboard data
       com/fuhan/sfscanner/IdentifyActivity.java
Starting activity
       com/fuhan/sfscanner/MainActivity.java
pub/devrel/easypermissions/AppSettingsDialogHolderActivity.java
com/fuhan/sfscanner/HandleActivity.java
com/fuhan/sfscanner/IdentifyActivity.java
com/fuhan/sfscanner/IdentifyAdapter.java
pub/devrel/easypermissions/AppSettingsDialog.java
Tcp socket
       net/robinx/lib/http/network/Network.java

Control flow graphs analysis

Information computed by Pithus.

The application probably gets different information regarding the telephony capabilities

The application probably gets the network connections information

The application probably plays sound

The application probably gets memory and CPU information

The application probably listens accessibility events