T1624.001 Broadcast Receivers
Adversaries may establish persistence using system mechanisms that trigger execution based on specific events. Mobile operating systems have means to subscribe to events such as receiving an SMS message, device boot completion, or other device activities.
An intent is a message passed between Android applications or system components. Applications can register to receive broadcast intents at runtime, which are system-wide intents delivered to each app when certain events happen on the device, such as network changes or the user unlocking the screen. Malicious applications can then trigger certain actions within the app based on which broadcast intent was received.
In addition to Android system intents, malicious applications can register for intents broadcasted by other applications. This allows the malware to respond based on actions in other applications. This behavior typically indicates a more intimate knowledge, or potentially the targeting of specific devices, users, or applications.
In Android 8 (API level 26), broadcast intent behavior was changed, limiting the implicit intents that applications can register for in the manifest. In most cases, applications that register through the manifest will no longer receive the broadcasts. Now, applications must register context-specific broadcast receivers while the user is actively using the app.1
| Item | Value |
|---|---|
| ID | T1624.001 |
| Sub-techniques | T1624.001 |
| Tactics | TA0028 |
| Platforms | Android |
| Version | 1.1 |
| Created | 30 March 2022 |
| Last Modified | 24 October 2025 |
Procedure Examples
| ID | Name | Description |
|---|---|---|
| S1095 | AhRat | AhRat can register with the CONNECTIVITY_CHANGE and WIFI_STATE_CHANGED broadcast events to trigger further functionality.18 |
| S0525 | Android/AdDisplay.Ashas | Android/AdDisplay.Ashas has registered to receive the BOOT_COMPLETED broadcast intent to activate on device startup.17 |
| S0524 | AndroidOS/MalLocker.B | AndroidOS/MalLocker.B has registered to receive 14 different broadcast intents for automatically triggering malware payloads. 5 |
| C0033 | C0033 | During C0033, PROMETHIUM used StrongPity to receive the following broadcast events to establish persistence: BOOT_COMPLETED, BATTERY_LOW,USER_PRESENT, SCREEN_ON, SCREEN_OFF, or CONNECTIVITY_CHANGE.22 |
| S0479 | DEFENSOR ID | DEFENSOR ID abuses the accessibility service to auto-start the malware on device boot. This is accomplished by receiving the android.accessibilityservice.AccessibilityService intent.19 |
| S0478 | EventBot | EventBot registers for the BOOT_COMPLETED intent to auto-start after the device boots.21 |
| S0522 | Exobot | Exobot has registered to receive the BOOT_COMPLETED broadcast intent.10 |
| S0509 | FakeSpy | FakeSpy can register for the BOOT_COMPLETED broadcast Intent.9 |
| S0408 | FlexiSpy | FlexiSpy uses root access to establish reboot hooks to re-install the application from /data/misc/adn.2 At boot, FlexiSpy spawns daemons for process monitoring, call monitoring, call managing, and system.2 |
| S1103 | FlixOnline | FlixOnline may use the BOOT_COMPLETED action to trigger further scripts on boot.14 |
| S0421 | GolfSpy | GolfSpy registers for the USER_PRESENT broadcast intent and uses it as a trigger to take photos with the front-facing camera.11 |
| S0536 | GPlayed | GPlayed can register for the BOOT_COMPLETED broadcast intent.13 |
| S0544 | HenBox | HenBox has registered several broadcast receivers.15 |
| S0316 | Pegasus for Android | Pegasus for Android listens for the BOOT_COMPLETED broadcast intent in order to maintain persistence and activate its functionality at device boot time.6 |
| S0419 | SimBad | SimBad registers for the BOOT_COMPLETED and USER_PRESENT broadcast intents, which allows the software to perform actions after the device is booted and when the user is using the device, respectively.8 |
| S1195 | SpyC23 | SpyC23 listens for the BOOT_COMPLETED broadcast to activate malware.7 |
| S0324 | SpyDealer | SpyDealer registers the broadcast receiver to listen for events related to device boot-up.20 |
| S0305 | SpyNote RAT | SpyNote RAT uses an Android broadcast receiver to automatically start when the device boots.3 |
| S0545 | TERRACOTTA | TERRACOTTA has registered several broadcast receivers.16 |
| S0558 | Tiktok Pro | Tiktok Pro has registered for device boot, incoming, and outgoing calls broadcast intents.12 |
| S0427 | TrickMo | TrickMo registers for the SCREEN_ON and SMS_DELIVER intents to perform actions when the device is unlocked and when the device receives an SMS message.4 |
Mitigations
| ID | Mitigation | Description |
|---|---|---|
| M1006 | Use Recent OS Version | Android 8 introduced additional limitations on the implicit intents that an application can register for.1 |
References
-
Google. (2019, December 27). Broadcasts Overview. Retrieved January 27, 2020. ↩↩
-
K. Lu. (n.d.). Deep Technical Analysis of the Spyware FlexiSpy for Android. Retrieved September 10, 2019. ↩↩
-
Shivang Desai. (2017, January 23). SpyNote RAT posing as Netflix app. Retrieved January 26, 2017. ↩
-
P. Asinovsky. (2020, March 24). TrickBot Pushing a 2FA Bypass App to Bank Customers in Germany. Retrieved April 24, 2020. ↩
-
D. Venkatesan. (2020, October 8). Sophisticated new Android malware marks the latest evolution of mobile ransomware . Retrieved October 29, 2020. ↩
-
Mike Murray. (2017, April 3). Pegasus for Android: the other side of the story emerges. Retrieved April 16, 2017. ↩
-
Stefanko, L. (2020, September 30). APT‑C‑23 group evolves its Android spyware. Retrieved March 4, 2024. ↩
-
Elena Root, Andrey Polkovnichenko. (2019, March 13). SimBad: A Rogue Adware Campaign On Google Play. Retrieved November 21, 2019. ↩
-
O. Almkias. (2020, July 1). FakeSpy Masquerades as Postal Service Apps Around the World. Retrieved September 15, 2020. ↩
-
Threat Fabric. (2017, February). Exobot - Android banking Trojan on the rise. Retrieved October 29, 2020. ↩
-
E. Xu, G. Guo. (2019, June 28). Mobile Cyberespionage Campaign ‘Bouncing Golf’ Affects Middle East. Retrieved January 27, 2020. ↩
-
S. Desai. (2020, September 8). TikTok Spyware. Retrieved January 5, 2021. ↩
-
V. Ventura. (2018, October 11). GPlayed Trojan - .Net playing with Google Market . Retrieved November 24, 2020. ↩
-
Aviran Hazum, Bodgan Melnykov, Israel Wenik. (2021, April 7). New Wormable Android Malware Spreads by Creating Auto-Replies to Messages in WhatsApp. Retrieved January 26, 2024. ↩
-
A. Hinchliffe, M. Harbison, J. Miller-Osborn, et al. (2018, March 13). HenBox: The Chickens Come Home to Roost. Retrieved September 9, 2019. ↩
-
Satori Threat Intelligence and Research Team. (2020, August). TERRACOTTA Android Malware: A Technical Study. Retrieved December 18, 2020. ↩
-
L. Stefanko. (2019, October 24). Tracking down the developer of Android adware affecting millions of users. Retrieved October 29, 2020. ↩
-
Lukas Stefanko. (2023, May 23). Android app breaking bad: From legitimate screen recording to file exfiltration within a year. Retrieved December 18, 2023. ↩
-
L. Stefanko. (2020, May 22). Insidious Android malware gives up all malicious features but one to gain stealth. Retrieved June 26, 2020. ↩
-
Wenjun Hu, Cong Zheng and Zhi Xu. (2017, July 6). SpyDealer: Android Trojan Spying on More Than 40 Apps. Retrieved September 18, 2018. ↩
-
D. Frank, L. Rochberger, Y. Rimmer, A. Dahan. (2020, April 30). EventBot: A New Mobile Banking Trojan is Born. Retrieved June 26, 2020. ↩
-
Stefanko, L. (2023, January 10). StrongPity espionage campaign targeting Android users. Retrieved January 31, 2023. ↩