COMMON ATTACK PATTERN ENUMERATION AND CLASSIFICATIONLive MITRE record

CAPEC-501

Android Activity Hijack

An adversary intercepts an implicit intent sent to launch a Android-based trusted activity and instead launches a counterfeit activity in its place. The malicious activity is then used to mimic the trusted activity's user interface and prompt the target to enter sensitive data as if they were interacting with the trusted activity.

Abstraction

Detailed

Typical severity

Medium

Likelihood of attack

Medium

Understand the attack

What is this attack pattern?

An adversary intercepts an implicit intent sent to launch a Android-based trusted activity and instead launches a counterfeit activity in its place. The malicious activity is then used to mimic the trusted activity's user interface and prompt the target to enter sensitive data as if they were interacting with the trusted activity.

Execution flow

How does the attack proceed, step by step?

1

Explore

Find an android application that uses implicit intents

Since this attack only works on android applications that use implicit intents, rather than explicit intents, an adversary must first identify an app that uses implicit intents to launch an Android-based trusted activity, and what that activity is.
2

Experiment

Create a malicious app

The adversary must create a malicious android app meant to intercept implicit intents to launch an Adroid-based trusted activity. This malicious app will mimic the trusted activiy's user interface to get the user to enter sensitive data.

Techniques used

  • Specify the type of intent wished to be intercepted in the malicious app's manifest file using an intent filter

Get user to download malicious app

The adversary must get a user using the targeted app to download the malicious app by any means necessary
3

Exploit

Gather sensitive data through malicious app

Once the target application sends an implicit intent to launch a trusted activity, the malicious app will be launched instead that looks identical to the interface of that activity. When the user enters sensitive information it will be captured by the malicious app.

Techniques used

  • Gather login information from a user using a malicious app

Requirements

What does the attack require?

Prerequisites

  • The adversary must have previously installed the malicious application onto the Android device that will run in place of the trusted activity.

Skills required

  • High: The adversary must typically overcome network and host defenses in order to place malware on the system.

Resources required

  • Malware capable of acting on the adversary's objectives.

Impact

What does a successful attack lead to?

Read Data

Affected scopes: Confidentiality

Defence

How is it prevented and mitigated?

1
To mitigate this type of an attack, explicit intents should be used whenever sensitive data is being sent. An 'explicit intent' is delivered to a specific application as declared within the intent, whereas an 'implicit intent' is directed to an application as defined by the Android operating system. If an implicit intent must be used, then it should be assumed that the intent will be received by an unknown application and any response should be treated accordingly (i.e., with appropriate security controls).
2
Never use implicit intents for inter-application communication.