Android.Spyware.TechFu

Threat

org.xmlpush.v3

wifi

android obfuscation ransomware stealth trojan

Analyzed on 2020-12-31T20:16:49.086619

26

permissions

1

activities

5

services

1

receivers

0

domains

File sums

MD5 79ba96848428337e685e10b06ccc1c89
SHA1 51b31827c1d961ced142a3c5f3efa2b389f9c5ad
SHA256 854774a198db490a1ae9f06d5da5fe6a1f683bf3d7186e56776516f982d41ad3
Size 2.87MB

APKiD

Information computed with APKiD.

/tmp/tmpu_cnwjso!classes.dex
compiler
  • dexlib 2.x

SSdeep

Information computed with ssdeep.

APK file 49152:rlaYuMuLPV74she6ZMKqvoWY9KqUoHLUfgP8csv5oJewBktwFcBVOhOUfFW:r0YhiqshtJqQWY9GEUoP8zv5f0kuFczJ
Manifest 192:h6ogSamKBIdo9OUi3g3ynVO8Ab+ZAatOJJwdCnXHkOvrpDTMaCZk/kRE6CGGpA2v:…
classes.dex 24576:UkkDEzT/8Fhz46dQB2rIRobGe+tDkEQBp5EYAvrWkzQ52chSPRIZrmUcPv+7ZB/…

Dexofuzzy

Information computed with Dexofuzzy.

APK file 768:IEX0laPEVtZiwwRiGZEA+PJ1JlwmtpTbv3LJ1RX9:QKEV6wwRiGZEA2UCfDJ1b
classes.dex 768:IEX0laPEVtZiwwRiGZEA+PJ1JlwmtpTbv3LJ1RX9:QKEV6wwRiGZEA2UCfDJ1b

APK details

Information computed with AndroGuard and Pithus.

Package org.xmlpush.v3
App name wifi
Version name 1.0
Version code 1
SDK 19 - 22
UAID 60fa0a5b84ba52cd33b74ff3828c1cad1077ce30
Signature Signature V1
Frosting Not frosted

Certificate details

Information computed with AndroGuard.

MD5 b99ac605872a55e609854176413e603c
SHA1 7c6e4f2e84ebaa8d25040f63d840e14f6f822125
SHA256 8052584eacfd199602b348ef60e20c246ec929d62bc5b85fd0e60ba3205b05a2
Issuer Common Name: 'MITAS Ltd.'
Not before 2017-05-27T07:09:09+00:00
Not after 2023-05-26T07:09:09+00:00

Manifest analysis

Information computed with MobSF.

High Service (org.xmlpush.v3.Services) 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 (org.xmlpush.v3.ReceiverMain) 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 Data SMS Receiver Set on Port: 8095 Found[android:port]
A binary SMS recevier is configured to listen on a port. Binary SMS messages sent to a device are processed by the application in whichever way the developer choses. The data in this SMS should be properly validated by the application. Furthermore, the application should assume that the SMS being received is from an untrusted source.

Main Activity

Information computed with AndroGuard.

['org.xmlpush.v3.StartVersion']

Activities

Information computed with AndroGuard.

org.xmlpush.v3.StartVersion

Receivers

Information computed with AndroGuard.

org.xmlpush.v3.ReceiverMain

Services

Information computed with AndroGuard.

org.xmlpush.v3.Services
org.xmlpush.v3.schedule.SchedulerServices
org.xmlpush.v3.eventbased.ReceiverService
org.xmlpush.v3.EventBasedService
org.xmlpush.v3.AlarmManager

Hunting matches

Information computed by Pithus.

Yara ruleset: FinSpy for Android
FinSpy_TippyPad FinSpy_TippyTime FinSpy_DexDen
matching files:
/classes.dex

Sample timeline

Certificate valid not before May 27, 2017, 7:09 a.m.
Oldest file found in APK Oct. 23, 2019, 10:54 a.m.
Latest file found in APK Oct. 23, 2019, 10:54 a.m.
First submission on VT Nov. 27, 2019, 3:50 a.m.
Last submission on VT Sept. 28, 2020, 7:55 a.m.
Upload on Pithus Dec. 31, 2020, 8:16 p.m.
Certificate valid not after May 26, 2023, 7:09 a.m.

MalwareBazaar

First seen 2021-01-12 14:52:33
Last seen None
Report https://bazaar.abuse.ch/sample/854774a198db490a1ae9f06d5da5fe6a1f683bf3d7186e56776516f982d41ad3/
ReversingLabs
Threat name Android.Spyware.TechFu
Status MALICIOUS
First seen 2019-11-27 11:59:20
Score 20/48
Hatching Triage
Score 10/10
Tags android obfuscation ransomware stealth trojan
Report https://tria.ge/reports/210112-6aqfd4757x/
CERT-PL MWDB
Detection None
Report https://mwdb.cert.pl/sample/854774a198db490a1ae9f06d5da5fe6a1f683bf3d7186e56776516f982d41ad3/

VirusTotal

Score 30/63
Report https://www.virustotal.com/gui/file/854774a198db490a1ae9f06d5da5fe6a1f683bf3d7186e56776516f982d41ad3/detection

Most Popular AV Detections

Threat

Threat name: techfu Identified 6 times
Threat name: finspy Identified 5 times
Threat name: andr Identified 2 times

NIAP analysis

Information computed with MobSF.

FCS_RBG_EXT.1.1 The application implement 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', 'microphone', 'location'].
Access to Platform Resources
FDP_DEC_EXT.1.2 The application has access to ['address book', 'calender', 'call lists'].
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 not encrypt any data in traffic or does not transmit any data 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

Code analysis

Information computed with MobSF.

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:
 org/xmlpush/v3/b/f.java
org/xmlpush/v3/o/c.java
org/xmlpush/v3/AlarmManager.java
org/xmlpush/v3/w.java
org/xmlpush/v3/p.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:
 org/xmlpush/v3/n/d.java
org/xmlpush/v3/n/a/a.java
org/xmlpush/v3/h/b.java
org/xmlpush/v3/n/g/a.java
org/xmlpush/v3/x.java
org/xmlpush/v3/n/k/a.java
org/xmlpush/v3/n/d/b.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:
 helper/sqlite/database/sqlite/SQLiteQueryBuilder.java
helper/sqlite/database/sqlite/SQLiteCursor.java
helper/sqlite/database/sqlite/SQLiteDatabase.java
helper/sqlite/database/sqlite/SQLiteDebug.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:
 org/xmlpush/v3/n/a.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:
 org/xmlpush/v3/n/f/d.java

Permissions analysis

Information computed with MobSF.

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.
High android.permission.GET_ACCOUNTS list accounts
Allows access to the list of accounts in the Accounts Service.
High android.permission.PROCESS_OUTGOING_CALLS intercept outgoing calls
Allows application to process outgoing calls and change the number to be dialled. Malicious applications may monitor, redirect or prevent outgoing calls.
High android.permission.READ_CALENDAR read calendar events
Allows an application to read all of the calendar events stored on your phone. Malicious applications can use this to send your calendar events to other people.
High android.permission.READ_CALL_LOG Allows an application to read the user's call log.
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.
High android.permission.READ_EXTERNAL_STORAGE read external storage contents
Allows an application to read from external storage.
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.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.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.RECORD_AUDIO record audio
Allows application to access the audio record path.
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.WRITE_CONTACTS write contact data
Allows an application to modify the contact (address) data stored on your phone. Malicious applications can use this to erase or modify your contact data.
High android.permission.WRITE_EXTERNAL_STORAGE read/modify/delete external storage contents
Allows an application to write to external storage.
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_SMS edit SMS or MMS
Allows application to write to SMS messages stored on your phone or SIM card. Malicious applications may delete your messages.
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.
Low android.permission.CHANGE_WIFI_STATE change Wi-Fi status
Allows an application to connect to and disconnect from Wi-Fi access points and to make changes to configured Wi-Fi networks.
Low android.permission.INTERNET full Internet access
Allows an application to create network sockets.
Low android.permission.MODIFY_AUDIO_SETTINGS change your audio settings
Allows application to modify global audio settings, such as volume and routing.
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 android.permission.PACKAGE_USAGE_STATS update component usage statistics
Allows the modification of collected component usage statistics. Not for use by common applications.

Threat analysis

Information computed with Quark-Engine.

Confidence:
100%
Run shell script programmably
Confidence:
100%
Find a method from given class name, usually for reflection
Confidence:
100%
Method reflection
Confidence:
100%
Monitor data identified by a given content URI changes(SMS, MMS, etc.)
Confidence:
100%
Open a file from given absolute path of the file
Confidence:
100%
Monitor the broadcast action events (BOOT_COMPLETED)
Confidence:
100%
Get Location of the device and append this info to a string
Confidence:
100%
Get absolute path of the file and store in string
Confidence:
100%
Query the local IP address
Confidence:
100%
Query WiFi information and WiFi Mac Address
Confidence:
100%
Query data from URI (SMS, CALLLOGS)
Confidence:
100%
Initialize class object dynamically
Confidence:
100%
Initialize bitmap object and compress data (e.g. JPEG) into bitmap object
Confidence:
80%
Query the current data 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%
Query the SIM card status
Confidence:
80%
Return dynamic information about the current Wi-Fi connection
Confidence:
80%
Query the IMSI number
Confidence:
80%
Write file after Base64 decoding
Confidence:
80%
Executes the specified string Linux command

Behavior analysis

Information computed with MobSF.

Base64 decode
       org/xmlpush/v3/n/d/a.java
org/xmlpush/v3/z.java
org/xmlpush/v3/p.java
Base64 encode
       org/xmlpush/v3/z.java
Crypto
       org/xmlpush/v3/b/h.java
org/xmlpush/v3/n/d/a.java
org/xmlpush/v3/b/c.java
org/c/b.java
org/xmlpush/v3/n/h/b.java
Dynamic class and dexloading
       org/xmlpush/v3/p.java
Gps location
       org/xmlpush/v3/n/b/a.java
org/xmlpush/v3/t/a.java
org/xmlpush/v3/k/c.java
org/xmlpush/v3/o/g.java
org/xmlpush/v3/n/f.java
org/xmlpush/v3/t/b.java
org/xmlpush/v3/eventbased/g.java
org/xmlpush/v3/t/d.java
Get cell location
       org/xmlpush/v3/f/b.java
org/xmlpush/v3/o/g.java
org/xmlpush/v3/i/a.java
org/xmlpush/v3/n/m.java
org/xmlpush/v3/t/d.java
org/xmlpush/v3/f/a.java
org/xmlpush/v3/d/a.java
Get installed applications
       org/xmlpush/v3/a/a.java
Get sim serial number
       org/xmlpush/v3/k.java
org/xmlpush/v3/q/c.java
org/xmlpush/v3/eventbased/l.java
Get subscriber id
       org/xmlpush/v3/o/g.java
Get system service
       org/xmlpush/v3/k/b.java
org/xmlpush/v3/EventBasedService.java
org/xmlpush/v3/t/a.java
org/xmlpush/v3/Services.java
org/xmlpush/v3/c/c.java
org/xmlpush/v3/o/b.java
org/xmlpush/v3/t/e.java
org/xmlpush/v3/n/m.java
org/xmlpush/v3/eventbased/j.java
org/xmlpush/v3/j/m.java
org/xmlpush/v3/k.java
org/xmlpush/v3/j/f.java
org/xmlpush/v3/k/c.java
org/xmlpush/v3/o/g.java
org/xmlpush/v3/c/a.java
org/xmlpush/v3/q/a.java
org/xmlpush/v3/m/a.java
org/xmlpush/v3/t/d.java
org/xmlpush/v3/j/i.java
org/xmlpush/v3/a/a.java
org/xmlpush/v3/eventbased/ReceiverService.java
Get wifi details
       org/xmlpush/v3/k/c.java
org/xmlpush/v3/Services.java
org/xmlpush/v3/a/a.java
Http connection
       org/xmlpush/v3/m.java
Inter process communication
       org/xmlpush/v3/q/c.java
org/xmlpush/v3/s.java
org/xmlpush/v3/schedule/SchedulerServices.java
org/xmlpush/v3/eventbased/d.java
org/xmlpush/v3/t/c.java
org/xmlpush/v3/eventbased/g.java
org/xmlpush/v3/AlarmManager.java
org/xmlpush/v3/eventbased/j.java
org/xmlpush/v3/p.java
org/xmlpush/v3/k.java
org/xmlpush/v3/eventbased/c.java
org/xmlpush/v3/q/b.java
org/xmlpush/v3/j/f.java
org/xmlpush/v3/k/c.java
org/xmlpush/v3/t/b.java
org/xmlpush/v3/eventbased/l.java
org/xmlpush/v3/ReceiverMain.java
org/xmlpush/v3/eventbased/i.java
org/xmlpush/v3/eventbased/f.java
org/xmlpush/v3/k/b.java
org/xmlpush/v3/eventbased/k.java
org/xmlpush/v3/EventBasedService.java
org/xmlpush/v3/t/a.java
org/xmlpush/v3/eventbased/h.java
org/xmlpush/v3/Services.java
org/xmlpush/v3/schedule/a.java
org/xmlpush/v3/g/b.java
org/xmlpush/v3/Init.java
org/xmlpush/v3/eventbased/e.java
org/xmlpush/v3/o/h.java
org/xmlpush/v3/eventbased/b.java
org/xmlpush/v3/o/g.java
org/xmlpush/v3/r.java
org/xmlpush/v3/k/a.java
org/xmlpush/v3/q/a.java
org/xmlpush/v3/s/a.java
org/xmlpush/v3/m/a.java
org/xmlpush/v3/eventbased/a.java
org/xmlpush/v3/t/d.java
org/xmlpush/v3/a/a.java
org/xmlpush/v3/eventbased/ReceiverService.java
Java reflection
       org/xmlpush/v3/j/h.java
org/xmlpush/v3/j/j.java
org/xmlpush/v3/Services.java
org/xmlpush/v3/b/g.java
org/c/b.java
org/xmlpush/v3/Init.java
org/xmlpush/v3/p.java
Loading native code (shared library)
       org/c/b.java
Local file i/o operations
       org/xmlpush/v3/k.java
org/xmlpush/v3/n/a/a.java
org/xmlpush/v3/j/j.java
org/xmlpush/v3/b.java
org/xmlpush/v3/Services.java
helper/sqlite/database/sqlite/SQLiteDatabase.java
org/xmlpush/v3/n/h.java
org/xmlpush/v3/n/h/a.java
org/xmlpush/v3/x.java
org/xmlpush/v3/n/k/a.java
helper/sqlite/database/sqlite/SQLiteOpenHelper.java
Message digest
       org/xmlpush/v3/n/d/a.java
org/xmlpush/v3/b/c.java
org/xmlpush/v3/n/h/b.java
org/xmlpush/v3/n/d/b.java
org/xmlpush/v3/b/e.java
Query database of sms, contacts etc
       org/xmlpush/v3/b.java
helper/sqlite/database/sqlite/SqliteWrapper.java
org/xmlpush/v3/q/d.java
org/xmlpush/v3/b/i.java
org/xmlpush/v3/i/a.java
org/xmlpush/v3/f/a.java
org/xmlpush/v3/d/a.java
Sending broadcast
       org/xmlpush/v3/j/f.java
Starting service
       org/xmlpush/v3/q/c.java
org/xmlpush/v3/EventBasedService.java
org/xmlpush/v3/eventbased/h.java
org/xmlpush/v3/eventbased/d.java
org/xmlpush/v3/Services.java
org/xmlpush/v3/eventbased/g.java
org/xmlpush/v3/g/b.java
org/xmlpush/v3/Init.java
org/xmlpush/v3/eventbased/e.java
org/xmlpush/v3/o/h.java
org/xmlpush/v3/eventbased/b.java
org/xmlpush/v3/eventbased/j.java
org/xmlpush/v3/k.java
org/xmlpush/v3/eventbased/c.java
org/xmlpush/v3/t/b.java
org/xmlpush/v3/eventbased/l.java
org/xmlpush/v3/r.java
org/xmlpush/v3/ReceiverMain.java
org/xmlpush/v3/eventbased/i.java
org/xmlpush/v3/eventbased/f.java
org/xmlpush/v3/eventbased/ReceiverService.java
Tcp socket
       org/xmlpush/v3/o/i.java
org/xmlpush/v3/o/a.java
org/xmlpush/v3/o/n.java
org/xmlpush/v3/j/j.java
org/xmlpush/v3/o/e.java

Control flow graphs analysis

Information computed by Pithus.

The application probably mutes the microphone

The application probably dynamically loads code

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 Wi-Fi connection information

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

The application probably reads SMS/MMS messages

The application probably sends data over HTTP/S

The application probably lists all installed applications

The application probably records sound