Screen Capture

Adversaries may use screen captures to collect information about applications running in the foreground, capture user data, credentials, or other sensitive information. Applications running in the background can capture screenshots or videos of another application running in the foreground by using the Android MediaProjectionManager (generally requires the device user to grant consent).[1][2] Background applications can also use Android accessibility services to capture screen contents being displayed by a foreground application.[3] An adversary with root access or Android Debug Bridge (adb) access could call the Android screencap or screenrecord commands.[4][5]

ID: T1513
Tactic Type: Post-Adversary Device Access
Tactic: Collection
Platform: Android
MTC ID: APP-40
Version: 1.0

Procedure Examples

Name Description
Exodus

Exodus Two can take screenshots of any application in the foreground. [8]

FlexiSpy

FlexiSpy can take screenshots of other applications. [6]

Monokle

Monokle can record the screen as the user unlocks the device and can take screenshots of any application in the foreground. Monokle can also abuse accessibility features to read the screen to capture data from a large number of popular applications.[3]

SpyDealer

SpyDealer abuses Accessibility features to steal messages from popular apps such as WeChat, Skype, Viber, and QQ.[7]

Mitigations

Mitigation Description
Application Developer Guidance

Application developers can apply FLAG_SECURE to sensitive screens within their apps to make it more difficult for the screen contents to be captured.

Application Vetting

Applications can be vetted for their use of the Android MediaProjectionManager class, with extra scrutiny applied to any application that uses the class.

Enterprise Policy

Enterprise policies should block access to the Android Debug Bridge (ADB) by preventing users from enabling USB debugging on Android devices unless specifically needed (e.g., if the device is used for application development). An EMM/MDM can use the Android DevicePolicyManager.setPermittedAccessibliityServices method to whitelist applications that are allowed to use Android's accessibility features.

User Guidance

Users should be advised not to grant consent for screen captures to occur unless expected. Users should avoid enabling USB debugging (Android Debug Bridge) unless explicitly required.

Detection

The user can view a list of apps with accessibility service privileges in the device settings.

References