0/61

Threat

com.android.nfc

NFC

Analyzed on 2021-11-10T08:17:51.246222

63

permissions

15

activities

4

services

1

receivers

1

domains

File sums

MD5 70479bebe7d8bc69567ecb7f6b5b56a4
SHA1 f8613df11ea836908909a9891497437e13ab07e6
SHA256 01e179db58d91eb74bf32dc36c429e2d2e6a03d791da182efe512e7ecbdc8634
Size 1.97MB

APKiD

Information computed with APKiD.

/tmp/tmp4pxzvccj!classes.dex
yara_issue
  • yara issue - dex file recognized by apkid but not yara module
anti_vm
  • Build.MANUFACTURER check
  • ro.build.type check
compiler
  • unknown (please file detection issue!)

SSdeep

Information computed with ssdeep.

APK file 49152:YGGtQbgEKnUxCPNWkcEGpWTPPWW4b/35orYqRV+91B2QnfV7:iq0U0/spWT2WjYhfZ
Manifest 384:shPBi1gSU+u9Lmz5AZCM1r8sfV8iBteEh39h7c7yIKOmkmGlDYfbsze48LNEaHK3:…
classes.dex 49152:71BdABAFjik0V80YiE4ko7K62jI5ukV31gcnnMxej+q:7jdeAFh8QMK62jc9lnn…

Dexofuzzy

Information computed with Dexofuzzy.

classes.dex None

APK details

Information computed with AndroGuard and Pithus.

Package com.android.nfc
App name NFC
Version name 9
Version code 28
SDK 28 - 28
UAID 820fe365344a035d8eecd7f14190dc3122b91236
Signature Signature V1 Signature V2
Frosting Not frosted
Blocks found within V2 signature:
  • 0x7109871a: Unknown

Certificate details

Information computed with AndroGuard.

MD5 d087e72912fba064cafa78dc34aea839
SHA1 9ca5170f381919dfe0446fcdab18b19a143b3163
SHA256 34df0e7a9f1cf1892e45c056b4973cd81ccf148a4050d11aea4ac5a65f900a42
Issuer Email Address: android.os@samsung.com, Common Name: Samsung Cert, Organizational Unit: DMC, Organization: Samsung Corporation, Locality: Suwon City, State/Province: South Korea, Country: KR
Not before 2011-06-22T12:25:12+00:00
Not after 2038-11-07T12:25:12+00:00

File Analysis

Information computed with MobSF.

Findings Files
Certificate/Key files hardcoded inside the app. SEC-INF/buildConfirm.crt

Manifest analysis

Information computed with MobSF.

Low App is direct-boot aware [android:directBootAware=true]
This app can run before the user unlocks the device. If you're using a custom subclass of Application, and if any component inside your application is direct - boot aware, then your entire custom application is considered to be direct - boot aware.During Direct Boot, your application can only access the data that is stored in device protected storage.
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 Activity (.BeamShareActivity) 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 Broadcast Receiver (.NfcBootCompletedReceiver) 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 Service (com.samsung.android.nfc.quicktile.NfcTile) is Protected by a permission, but the protection level of the permission should be checked.
Permission: android.permission.BIND_QUICK_SETTINGS_TILE [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.

Activities

Information computed with AndroGuard.

com.android.nfc.TechListChooserActivity
com.samsung.android.nfc.knox.KnoxChooserActivity
com.samsung.android.nfc.KnoxChooserGuideActivity
com.android.nfc.cardemulation.AppChooserActivity
com.android.nfc.cardemulation.TapAgainDialog
com.android.nfc.NfcRootActivity
com.android.nfc.handover.ConfirmConnectActivity
com.android.nfc.BeamShareActivity
com.android.nfc.ConfirmConnectToWifiNetworkActivity
com.samsung.android.nfc.ui.NfcTurnOnActivity
com.samsung.android.nfc.ui.AndroidBeamPopUp
com.samsung.android.nfc.ui.NfcChnEnablePopup
com.samsung.android.nfc.ui.RoutingTableAlert
com.samsung.android.nfc.ui.RoutingTableFullAlert
com.samsung.android.nfc.ui.NfcGsmaPopup

Receivers

Information computed with AndroGuard.

com.android.nfc.NfcBootCompletedReceiver

Services

Information computed with AndroGuard.

com.android.nfc.beam.BeamSendService
com.android.nfc.beam.BeamReceiveService
com.android.nfc.handover.PeripheralHandoverService
com.samsung.android.nfc.quicktile.NfcTile

Sample timeline

Oldest file found in APK Jan. 1, 2009, midnight
Latest file found in APK Jan. 1, 2009, midnight
Certificate valid not before June 22, 2011, 12:25 p.m.
First submission on VT April 27, 2021, 3:57 a.m.
Last submission on VT April 27, 2021, 3:57 a.m.
Upload on Pithus Nov. 10, 2021, 8:17 a.m.
Certificate valid not after Nov. 7, 2038, 12:25 p.m.

NIAP analysis

Information computed with MobSF.

FCS_RBG_EXT.1.1 The application use no 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 ['location', 'bluetooth', 'network connectivity', 'NFC'].
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_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

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:
 com/samsung/android/nfc/mpos/MPOSAdapter.java
com/samsung/android/nfc/NfcKnoxUtil.java
com/samsung/android/nfc/quicktile/NfcTile.java
com/gsma/services/nfc/AidGroup.java
com/samsung/android/nfc/NfcEventControl.java
com/samsung/android/nfc/ui/RoutingTableFullAlert.java
com/samsung/android/nfc/cardemulation/RoutingNotificationHelper.java
com/gsma/services/nfc/OffHostService.java
com/samsung/android/nfc/cardemulation/RegisteredOtherServicesCache.java
com/samsung/android/nfc/cardemulation/NfcEeObjectUtil.java
com/publicnfc/Adapter.java
com/gsma/services/nfc/NfcController.java
com/samsung/android/nfc/knox/KnoxChooserGuideActivity.java
com/samsung/android/sdk/cover/CoverListenerDelegate.java
com/samsung/android/sdk/cover/LegacyLedSystemEventListenerDelegate.java
com/samsung/android/nfc/cardemulation/DynamicServiceManager.java
com/samsung/android/sdk/cover/ScoverManager.java
com/samsung/android/nfc/SoftCardAccessControlInterfaceImpl.java
com/samsung/android/nfc/cardemulation/CeStateMachine.java
com/samsung/android/nfc/AccessRuleCache.java
com/gsma/services/utils/Handset.java
com/samsung/android/nfc/bigdata/LogManager.java
com/samsung/android/nfc/ui/RoutingTableAlert.java
com/samsung/android/nfc/testapp/NfcTestManager.java
com/samsung/android/nfc/knox/KnoxChooserActivity.java
com/samsung/android/nfc/cardemulation/RoutingEntryCache.java
com/samsung/android/nfc/ui/AndroidBeamPopUp.java
com/samsung/android/nfc/cardemulation/NonAidRoutingManager.java
com/gsma/services/nfc/SEController.java
com/samsung/android/nfc/bigdata/HWParameter.java
com/samsung/android/nfc/ui/NfcGsmaPopup.java
com/samsung/android/nfc/cardemulation/RegisteredNonAidCache.java
com/samsung/android/nfc/ui/NfcChnEnablePopup.java
com/samsung/android/nfc/ui/NfcTurnOnActivity.java
Pygal United States: 100

Map computed by Pithus.

Domains analysis

Information computed with MobSF.

US xmlpull.org 74.50.62.60

URL analysis

Information computed with MobSF.

http://xmlpull.org/v1/doc/features.html#indent-output
Defined in com/samsung/android/nfc/cardemulation/DynamicServiceManager.java
http://xmlpull.org/v1/doc/features.html#indent-output
Defined in com/samsung/android/nfc/cardemulation/RegisteredOtherServicesCache.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.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.READ_PROFILE read the user's personal profile data
Allows an application to read the user's personal profile data.
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.SYSTEM_ALERT_WINDOW display system-level alerts
Allows an application to show system-alert windows. Malicious applications can take over the entire screen of the phone.
High android.permission.WRITE_EXTERNAL_STORAGE read/modify/delete external storage contents
Allows an application to write to 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.SET_PROCESS_LIMIT limit number of running processes
Allows an application to control the maximum number of processes that will run. Never needed for common applications.
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.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.
Low android.permission.BLUETOOTH create Bluetooth connections
Allows applications to connect to paired bluetooth devices.
Low android.permission.BLUETOOTH_ADMIN bluetooth administration
Allows applications to discover and pair bluetooth devices.
Low android.permission.NFC control Near-Field Communication
Allows an application to communicate with Near-Field Communication (NFC) tags, cards and readers.
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.EXPAND_STATUS_BAR expand/collapse status bar
Allows application to expand or collapse the status bar.
Low android.permission.WAKE_LOCK prevent phone from sleeping
Allows an application to prevent the phone from going to sleep.
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.VIBRATE control vibrator
Allows the application to control the vibrator.
Low android.permission.INTERNET full Internet access
Allows an application to create network sockets.
Medium android.permission.BIND_NFC_SERVICE Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.
Medium android.permission.STATUS_BAR_SERVICE status bar
Allows the application to be the status bar.
Medium android.permission.STOP_APP_SWITCHES prevent app switches
Prevents the user from switching to another application.
Medium android.permission.READ_FRAME_BUFFER read frame buffer
Allows application to read the content of the frame buffer.
Medium android.permission.INTERNAL_SYSTEM_WINDOW display unauthorised windows
Allows the creation of windows that are intended to be used by the internal system user interface. Not for use by common applications.
Medium android.permission.SET_ACTIVITY_WATCHER monitor and control all application launching
Allows an application to monitor and control how the system launches activities. Malicious applications may compromise the system completely. This permission is needed only for development, never for common phone usage.
Medium android.permission.DEVICE_POWER turn phone on or off
Allows the application to turn the phone on or off.
Medium android.permission.SET_PREFERRED_APPLICATIONS set preferred applications
Allows an application to modify your preferred applications. This can allow malicious applications to silently change the applications that are run, spoofing your existing applications to collect private data from you.
Medium android.permission.PACKAGE_USAGE_STATS update component usage statistics
Allows the modification of collected component usage statistics. Not for use by common applications.
Medium android.permission.BLUETOOTH_PRIVILEGED Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access. This is not available to third party applications.
Medium android.permission.STATUS_BAR disable or modify status bar
Allows application to disable the status bar or add and remove system icons.
Medium android.permission.WRITE_SECURE_SETTINGS modify secure system settings
Allows an application to modify the system's secure settings data. Not for use by common applications.
Medium android.permission.MASTER_CLEAR reset system to factory defaults
Allows an application to completely reset the system to its factory settings, erasing all data, configuration and installed applications.
com.sec.permission.ACCESSBILITY_SHARING Unknown permission
Unknown permission from android reference
android.permission.NFC_UNLOCK Unknown permission
Unknown permission from android reference
android.permission.REAL_GET_TASKS Unknown permission
Unknown permission from android reference
android.permission.INTERACT_ACROSS_USERS_FULL Unknown permission
Unknown permission from android reference
android.permission.INTERACT_ACROSS_USERS Unknown permission
Unknown permission from android reference
android.permission.MANAGE_USERS Unknown permission
Unknown permission from android reference
android.permission.CONNECTIVITY_INTERNAL Unknown permission
Unknown permission from android reference
android.permission.NFC_HANDOVER_STATUS Unknown permission
Unknown permission from android reference
android.permission.LOCAL_MAC_ADDRESS Unknown permission
Unknown permission from android reference
com.android.permission.WHITELIST_BLUETOOTH_DEVICE Unknown permission
Unknown permission from android reference
android.permission.DISPATCH_NFC_MESSAGE Unknown permission
Unknown permission from android reference
android.permission.OVERRIDE_WIFI_CONFIG Unknown permission
Unknown permission from android reference
android.permission.ACCESS_VR_MANAGER Unknown permission
Unknown permission from android reference
android.permission.USER_ACTIVITY Unknown permission
Unknown permission from android reference
android.permission.BIND_RESOLVER_RANKER_SERVICE Unknown permission
Unknown permission from android reference
com.sec.android.app.permission.NFC_IMPORT Unknown permission
Unknown permission from android reference
com.sec.enterprise.knox.MDM_CONTENT_PROVIDER Unknown permission
Unknown permission from android reference
com.sec.android.settings.permission.SOFT_RESET Unknown permission
Unknown permission from android reference
android.permission.sec.MDM_AUDIT_LOG Unknown permission
Unknown permission from android reference
com.samsung.permission.SBEAM_NDEF_MESSAGE Unknown permission
Unknown permission from android reference
com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY Unknown permission
Unknown permission from android reference
android.permission.GET_PACKAGE_IMPORTANCE Unknown permission
Unknown permission from android reference
com.samsung.permission.NFC_SYSTEM_PROTECTION Unknown permission
Unknown permission from android reference
com.samsung.permission.SIMHOTSWAP Unknown permission
Unknown permission from android reference
com.samsung.permission.ESE_SYSTEM_PROTECTION Unknown permission
Unknown permission from android reference
android.permission.NETWORK_SETTINGS Unknown permission
Unknown permission from android reference
android.permission.TETHER_PRIVILEGED Unknown permission
Unknown permission from android reference
android.permission.NETWORK_STACK Unknown permission
Unknown permission from android reference
com.samsung.android.permission.wirelesspowersharing Unknown permission
Unknown permission from android reference
com.samsung.permission.HQM_NOTIFICATION_PERMISSION Unknown permission
Unknown permission from android reference

Threat analysis

Information computed with Quark-Engine.

Confidence:
100%
Start another application from current application
Confidence:
100%
Find a method from given class name, usually for reflection
Confidence:
100%
Method reflection
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%
Send notification
Confidence:
100%
Monitor the broadcast action events (BOOT_COMPLETED)
Confidence:
100%
Method reflection
Confidence:
100%
Query data from URI (SMS, CALLLOGS)
Confidence:
100%
Initialize class object dynamically
Confidence:
100%
Check the list of currently running applications
Confidence:
80%
Read file and put it into a stream
Confidence:
80%
Get declared method from given method name
Confidence:
80%
Get absolute path of the file and store in string

Behavior analysis

Information computed with MobSF.

Execute os command
       com/samsung/android/nfc/NfcFeatureUtil.java
Get installed applications
       com/samsung/android/nfc/cardemulation/DynamicServiceManager.java
com/samsung/android/nfc/NfcEventControl.java
Get system service
       com/samsung/android/nfc/NfcKnoxUtil.java
com/samsung/android/nfc/NfcFeatureUtil.java
com/samsung/android/nfc/NfcEventControl.java
com/samsung/android/nfc/bigdata/HWParameter.java
com/samsung/android/nfc/ui/NfcChnEnablePopup.java
com/samsung/android/nfc/ui/NfcTurnOnActivity.java
Inter process communication
       com/samsung/android/nfc/mpos/MPOSAdapter.java
com/samsung/android/nfc/NfcKnoxUtil.java
com/samsung/android/nfc/quicktile/NfcTile.java
com/samsung/android/nfc/constant/NfcIntent.java
com/samsung/android/nfc/NfcEventControl.java
com/samsung/android/nfc/ui/RoutingTableFullAlert.java
com/gsma/services/nfc/OffHostService.java
com/publicnfc/IAdapter.java
com/publicnfc/Adapter.java
com/gsma/services/nfc/NfcController.java
com/samsung/android/nfc/mpos/IMPOSAdapter.java
com/samsung/android/nfc/knox/KnoxChooserGuideActivity.java
com/samsung/android/sdk/cover/ScoverManager.java
com/samsung/android/nfc/SoftCardAccessControlInterfaceImpl.java
com/samsung/android/nfc/mpos/IMPOSAdapterCallbacks.java
com/samsung/android/nfc/AccessRuleCache.java
com/gsma/services/utils/Handset.java
com/samsung/android/nfc/bigdata/LogManager.java
com/samsung/android/nfc/ui/RoutingTableAlert.java
com/samsung/android/nfc/testapp/NfcTestManager.java
com/samsung/android/nfc/SoftCardAccessControlInterface.java
com/samsung/android/nfc/knox/KnoxChooserActivity.java
com/samsung/android/nfc/ui/AndroidBeamPopUp.java
com/gsma/services/nfc/INfcControllerCallbacks.java
com/gsma/services/nfc/SEController.java
com/samsung/android/nfc/bigdata/HWParameter.java
com/samsung/android/nfc/cardemulation/RegisteredNonAidCache.java
com/samsung/android/nfc/SoftCardAccessControlInterfaceEmpty.java
com/gsma/services/nfc/INfcController.java
com/samsung/android/nfc/ui/NfcChnEnablePopup.java
Java reflection
       com/samsung/android/sdk/cover/LegacyLedSystemEventListenerDelegate.java
Local file i/o operations
       com/samsung/android/nfc/cardemulation/RoutingEntryCache.java
com/samsung/android/nfc/ui/NfcChnEnablePopup.java
Sending broadcast
       com/samsung/android/nfc/NfcEventControl.java
com/samsung/android/nfc/bigdata/HWParameter.java
com/samsung/android/nfc/bigdata/LogManager.java
com/samsung/android/nfc/testapp/NfcTestManager.java
Starting activity
       com/samsung/android/nfc/ui/AndroidBeamPopUp.java
com/samsung/android/nfc/ui/RoutingTableAlert.java

Control flow graphs analysis

Information computed by Pithus.

The application probably gets the serial number of the SIM card

The application probably gets the network connections information

The application probably lists all installed applications

The application probably executes OS commands

The application probably listens accessibility events