Access Notifications

Adversaries may collect data within notifications sent by the operating system or other applications. Notifications may contain sensitive data such as one-time authentication codes sent over SMS, email, or other mediums. In the case of Credential Access, adversaries may attempt to intercept one-time code sent to the device. Adversaries can also dismiss notifications to prevent the user from noticing that the notification has arrived and can trigger action buttons contained within notifications.[1]

ID: T1517
Sub-techniques:  No sub-techniques
Tactic Type: Post-Adversary Device Access
Platforms: Android
Version: 1.2
Created: 15 September 2019
Last Modified: 15 March 2023

Procedure Examples

ID Name Description
S1061 AbstractEmu

AbstractEmu can monitor notifications.[2]

S0432 Bread

Bread can collect device notifications.[3]

S1083 Chameleon

Chameleon can register as an SMSBroadcast receiver to monitor incoming SMS messages.[4]

S0425 Corona Updates

Corona Updates can collect messages from GSM, WhatsApp, Telegram, Facebook, and Threema by reading the application’s notification content.[5]

S1092 Escobar

Escobar can monitor a device’s notifications.[6]

S1067 FluBot

FluBot can access app notifications.[7]

S1077 Hornbill

Hornbill has monitored for SMS and WhatsApp notifications.[8]

S0485 Mandrake

Mandrake can capture all device notifications and hide notifications from the user.[9]

S1062 S.O.V.A.

S.O.V.A. can silently intercept and manipulate notifications. S.O.V.A. can also inject cookies via push notifications.[10]

S1055 SharkBot

SharkBot can intercept notifications to send to the C2 server and take advantage of the Direct Reply feature.[11]

S0489 WolfRAT

WolfRAT can receive system notifications.[12]

Mitigations

ID Mitigation Description
M1013 Application Developer Guidance

Application developers could be encouraged to avoid placing sensitive data in notification text.

M1012 Enterprise Policy

On Android devices with a work profile, the DevicePolicyManager.setPermittedCrossProfileNotificationListeners method can be used to manage the list of applications running within the personal profile that can access notifications generated within the work profile. This policy would not affect notifications generated by the rest of the device. The DevicePolicyManager.setApplicationHidden method can be used to disable notification access for unwanted applications, but this method would also block that entire application from running.[13]

M1011 User Guidance

Users should be wary of granting applications dangerous or privacy-intrusive permissions, such as access to notifications.

Detection

ID Data Source Data Component Detects
DS0041 Application Vetting Permissions Requests

Application vetting services can look for applications requesting the BIND_NOTIFICATION_LISTENER_SERVICE permission in a service declaration.

DS0042 User Interface System Settings

The user can also inspect and modify the list of applications that have notification access through the device settings (e.g. Apps & notification -> Special app access -> Notification access).

References