Hooking

Adversaries may utilize hooking to hide the presence of artifacts associated with their behaviors to evade detection. Hooking can be used to modify return values or data structures of system APIs and function calls. This process typically involves using 3rd party root frameworks, such as Xposed or Magisk, with either a system exploit or pre-existing root access. By including custom modules for root frameworks, adversaries can hook system APIs and alter the return value and/or system data structures to alter functionality/visibility of various aspects of the system.

ID: T1617
Sub-techniques:  No sub-techniques
Tactic Type: Post-Adversary Device Access
Tactic: Defense Evasion
Platforms: Android
Contributors: Jörg Abraham, EclecticIQ
Version: 1.0
Created: 24 September 2021
Last Modified: 24 October 2025

Procedure Examples

ID Name Description
S1208 FjordPhantom

FjordPhantom has used the hooking framework in a variety of ways, including returning false information to detection mechanisms, pretending that GooglePlayServices are unavailable, and manipulating UI functionality.[1]

S1231 GodFather

GodFather has used the Xposed hooking framework to intercept HTTP requests and responses, capturing and exfiltrating sensitive information, such as credentials.[2]

S0407 Monokle

Monokle can hook itself to appear invisible to the Process Manager.[3]

Mitigations

ID Mitigation Description
M1002 Attestation

Device attestation can often detect rooted devices.

M1010 Deploy Compromised Device Detection Method

Mobile security products can often detect rooted devices.

Detection Strategy

ID Name Analytic ID Analytic Description
DET0719 Detection of Hooking AN1850

Hooking can be difficult to detect, and therefore enterprises may be better served focusing on detection at other stages of adversarial behavior.

References