Mobile malware does not need the internet to take orders: an SMS, a notification or an NFC exchange can carry commands that never cross the corporate proxy, VPN or secure web gateway. ATT&CK for Mobile v20 tracks this as Out of Band Data (T1644), a Command and Control (TA0037) technique on both Android and iOS. Adversaries use it to avoid network monitoring, as a backup channel when the main server is blocked, and to move data when a device has no Wi-Fi or cellular data connection. This page is for mobile security engineers, MDM administrators and incident responders: how the technique works on each platform, the procedure examples ATT&CK records, where the evidence sits, and the platform controls that narrow the channel. For the wider matrix and how mobile tactics fit together, see the MITRE ATT&CK for Mobile Guide.
Key takeaways
- The channel bypasses your network sensors. SMS, NFC and Bluetooth traffic does not pass through an enterprise proxy or DNS filter, so network-only detection misses it by design.
- SMS dominates the procedure examples. Most ATT&CK v20 entries for T1644, from Pegasus for iOS to Rotexy and Gustuff, describe malware taking commands by text message, often from a fixed "control phone" or with hard-coded magic strings.
- On Android the gate is a permission. Reading SMS content needs restricted SMS permissions or notification access, and ATT&CK notes that notification access must be granted by the user in Settings, although an app can send the user straight to that screen.
- iOS is narrower but not immune. ATT&CK states there is no way for an iOS app to read push notifications programmatically, yet Pegasus for iOS used SMS for command and control, so assume high-end spyware can reach the channel.
- Detection is mostly on the device and in app vetting. Permission grant state from MDM, application vetting of requested permissions and forensic review with tools such as MVT give more signal than the network.
What T1644 is and why adversaries use it
ATT&CK defines Out of Band Data as communicating with compromised devices using data streams outside the normal internet path. It lists three reasons: evading network traffic monitoring, providing a backup command and control (C2) method, and exfiltrating data when the device has no internet-providing network. The streams named are SMS messages, NFC and Bluetooth. The technique has no sub-techniques in v20 and applies to Android and iOS.
For a defender the important point is architectural. Enterprise mobile security often relies on per-app VPN, a secure web gateway or DNS filtering to see where apps talk. Out of band channels sit below or beside that layer: an SMS arrives over the cellular signalling path, NFC works at a few centimetres and Bluetooth pairs directly with a nearby device. The same device may be well covered for HTTP C2 (see Beaconing and C2 Detection Guide) and blind to a text message that says "upload contacts".
| Channel | How ATT&CK describes its use | Where evidence exists | Main platform gate |
|---|---|---|---|
| SMS (including binary SMS) | Commands received by text, sometimes encrypted or from a defined admin number | Carrier records, SMS database in device backups, app permission state | Android SMS permission group (Play policy restricts it to default handlers); iOS apps cannot read SMS through public APIs |
| Notifications | Android apps read SMS or other content through notification access; SharkBot replies using Direct Reply | Notification access grant list, app vetting of listener services | User grant of notification access in Settings; restricted settings on Android 13 and later |
| Monokle could be controlled through email and SMS from "control phones" | Mail gateway logs, mailbox rules | Mail account access granted to the app | |
| NFC | NGate relayed victim card data over NFC through a server to an adversary device | NFC and payment app settings, app vetting | User consent to set a default payment or NFC app |
| Bluetooth | Named by ATT&CK as an out of band stream; no v20 procedure example uses it for T1644 | Paired device list, MDM restrictions | Pairing consent, MDM Bluetooth restrictions |
Real cases from ATT&CK v20
The procedure examples below are taken from the ATT&CK v20 Mobile data set as ATT&CK states them. Attribution of spyware to vendors or customers is only as the cited ATT&CK software page states it.
- Pegasus for iOS (S0289) and Pegasus for Android (S0316): both use SMS for command and control. This is the clearest evidence that iOS limits on reading messages do not stop spyware that has already exploited the device.
- Monokle (S0407): can be controlled via email and SMS from a set of "control phones".
- Gustuff (S0406) and TrickMo (S0427): Gustuff accepts SMS commands from a defined admin phone number; TrickMo can be controlled through encrypted SMS. Both are banking malware, covered more broadly in the Android Banking Trojans Guide.
- SharkBot (S1055): uses Android's Direct Reply feature to answer notifications automatically with a message supplied by C2, turning notification access into a two-way channel.
- Skygofree (S0327) and BusyGasper (S0655): Skygofree accepts binary SMS; BusyGasper acts when one of two hard-coded magic SMS strings arrives.
- NGate (S9040): used NFC to send the victim's card information through a server to an adversary-controlled device, an example where the out of band stream carries data rather than commands.
- Others listed by ATT&CK: Desert Scorpion, Rotexy, Stealth Mango, RCSAndroid, SpyDealer, SpyC23, BOULDSPY, CarbonSteal and Android/Chuli.A, all controlled by SMS. TriangleDB (S1216) is also mapped to T1644 in v20, with a description of Protobuf-based C2 messaging.
Android and iOS: how the channel is reached
Android
- SMS permissions: READ_SMS, RECEIVE_SMS, RECEIVE_MMS, RECEIVE_WAP_PUSH, SEND_SMS and WRITE_SMS form a restricted group under Google Play policy. Only the default SMS, Phone or Assistant handler, or an app granted a declared exception, may request them. Malware that wants this group is usually distributed outside Play; see APK sideloading.
- Notification access: ATT&CK notes that apps can read push notifications, including the content of SMS, once the user grants notification access in the settings menu, and that an app can launch an Intent that takes the user directly to that screen. Listener apps declare a service protected by the BIND_NOTIFICATION_LISTENER_SERVICE permission.
- Restricted settings: on Android 13 and later Android can block sensitive settings such as accessibility for apps the user was told to download, until the user explicitly chooses "Allow restricted settings" for that app. Social engineering now targets that extra step.
iOS
- No programmatic notification reading: ATT&CK states there is no way to read push notifications programmatically on iOS, and the platform offers no public API for third-party apps to read SMS.
- Exploit-dependent access: the iOS procedure examples are spyware that gained deep access through exploitation, which is why high-risk users should consider Apple Lockdown Mode. Lockdown Mode blocks most Messages attachment types and turns off link previews, reducing the message-borne attack surface. See the Apple Lockdown Mode Guide.
What to detect and where
ATT&CK v20's detection strategy for T1644 correlates application vetting and dynamic analysis (a notification listener receiving notifications from high-value apps when it is not on an allow list), Android Enterprise managed app telemetry, Apple MDM device and profile state, and network flow metadata where a per-app VPN or gateway is deployed. In practice that becomes four data sources.
| Signal | Source | Platform | What to look for |
|---|---|---|---|
| Notification access grants | App vetting, MTD agent, Android Enterprise policy | Android | Any app with notification access that is not on the approved list, especially newly installed or sideloaded apps |
| SMS permission grants | MDM permission grant state, app vetting of manifests | Android | Non-default-handler apps holding RECEIVE_SMS or READ_SMS |
| Install source | MDM app inventory, Play Integrity appAccessRiskVerdict (UNKNOWN_INSTALLED) | Android | Apps installed from outside Play or the managed store |
| Configuration and profile state | Apple MDM DeviceInformation, SecurityInfo and ProfileList queries | iOS | Unexpected profiles, supervision changes, OS far behind current |
| Message-borne indicators | Forensic review of backups with MVT | iOS and Android | Known spyware indicators in SMS records and device artefacts |
| Carrier side records | Corporate mobile contract reporting | Both | Unusual volumes of SMS to or from international numbers on a corporate line |
The Mobile Verification Toolkit (MVT), developed by Amnesty International's Security Lab and released in July 2021, supports consensual forensic analysis of iOS backups, filesystem dumps and sysdiagnose files, and Android backups including SMS. Use it with the device owner's consent and through a defined process; see the Mobile Forensics Guide and the Mobile Spyware Infection Response Playbook.
Mitigations
ATT&CK v20 maps one mitigation to T1644: M1011 User Guidance, telling users not to grant applications unexpected or unnecessary permissions. That is necessary but not enough for a managed fleet. The rows marked as additions are NHI Mgmt Group recommendations drawn from the platform documentation, not ATT&CK mappings.
| Control | Source | Android | iOS |
|---|---|---|---|
| M1011 User Guidance | ATT&CK v20 | Train users that SMS and notification access requests from non-messaging apps are a warning sign, and that "Allow restricted settings" should never be granted on request | Train users to treat unsolicited messages with links or attachments as suspect |
| Managed app source | Addition (M1012 Enterprise Policy) | Block installs from unknown sources through the device policy controller; keep Play Protect on | Supervised devices with App Store and managed app restrictions |
| OS currency | Addition (M1001, M1006) | Require recent security patch level; Play Integrity MEETS_STRONG_INTEGRITY requires updates within the last year on Android 13 and later | Enforce minimum OS through MDM compliance |
| High-risk users | Addition | Android Advanced Protection where available | Lockdown Mode (note: it blocks new MDM enrolment, so enrol first) |
| Radio restrictions | Addition | MDM restrictions on Bluetooth and NFC for single-purpose devices | MDM restrictions for supervised devices |
For Android settings detail, see the Android Enterprise Security Guide; for Apple, the iOS and iPadOS Enterprise Security Guide. Short-range channels are covered in the Bluetooth, RFID and NFC Security Guide.
Where identity fits
SMS is still a second factor and a recovery channel for many workforce and service accounts. Malware that reads SMS or notifications to take commands can read one-time passcodes in the same way, so T1644 capability on a device is also a credential exposure. Treat a confirmed SMS-controlled implant as a compromise of every account whose OTPs reached that number: rotate, re-enrol on phishing-resistant authenticators and review recent sign-ins. See Mobile Access Credentials and the SIM swap guide for related number-based risks.
How to implement
- Inventory permission grants. Pull SMS permission and notification access state for every managed Android device; for iOS, pull OS version, supervision and profile lists.
- Build an allow list. Approve default SMS apps, wearable companions and enterprise messaging; everything else with these rights is a finding.
- Run in report-only mode for two weeks. Raise tickets rather than block, to find legitimate business apps that need an exception.
- Enforce. Block unknown sources, mark devices non-compliant when an unapproved listener appears, and gate access to corporate apps on compliance.
- Prepare forensics. Agree a consent-based MVT process and evidence handling with legal and HR before you need it.
- Roll back safely. If enforcement breaks a business workflow, move the specific app to the allow list rather than relaxing the whole policy.
Measuring it
- Percentage of managed Android devices with no unapproved notification listener or SMS permission holder.
- Median time from an unapproved grant appearing to device quarantine.
- Percentage of fleet within the supported OS and patch window.
- Number of high-risk users with Lockdown Mode or Advanced Protection enabled against the number identified.
- Share of accounts still using SMS one-time passcodes on corporate numbers.
Common failure patterns
- Network-only monitoring. A mobile programme that measures C2 coverage by proxy logs alone has no view of SMS or NFC.
- Ignoring notification access. Teams audit runtime permissions but not the separate notification access list, which is where SharkBot-style abuse sits.
- Granting "restricted settings" on request. Helpdesk scripts that tell users to allow restricted settings to fix an app remove a key Android 13 protection.
- Assuming iOS is out of scope. Pegasus for iOS shows SMS C2 on iOS after exploitation; patch cadence and Lockdown Mode matter for exposed staff.
- Leaving SMS OTP in place for privileged users. An SMS-reading implant then becomes an account takeover tool.
Framework mapping
| Framework | Reference | Relevance |
|---|---|---|
| ATT&CK for Mobile v20 | T1644 (TA0037 Command and Control); M1011 | Technique and mapped mitigation |
| Related mobile techniques | T1517 Access Notifications; T1582 SMS Control; T1639 Exfiltration Over Alternative Protocol | Often seen alongside T1644 |
| NIST SP 800-53 Rev 5 | AC-19 Access Control for Mobile Devices; CM-11 User-installed Software; SI-4 System Monitoring | Device policy, install control and monitoring |
| NIST CSF 2.0 | DE.CM-09; PR.PS-01 | Monitoring of device software and configuration management |
| ISO/IEC 27001:2022 Annex A | A.8.1 User endpoint devices; A.8.7 Protection against malware | Endpoint and malware controls |
Practitioner checklist
- Pull SMS permission and notification access grants for every managed Android device.
- Maintain an allow list of apps approved to hold those rights.
- Block installs from unknown sources and keep Play Protect on.
- Enforce minimum OS and patch levels on Android and iOS through MDM compliance.
- Offer Lockdown Mode or Advanced Protection to high-risk users, enrolling devices in MDM first.
- Remove SMS one-time passcodes for privileged and service-owner accounts.
- Agree a consent-based MVT forensic process before an incident.
- Restrict Bluetooth and NFC on single-purpose and kiosk devices.
Standards and references
- MITRE ATT&CK: Out of Band Data, Mobile T1644
- MITRE ATT&CK: User Guidance, Mobile M1011
- Google Play Console Help: Use of SMS or Call Log permission groups
- Android Help: Allow restricted settings
- Android Developers: Play Integrity API integrity verdicts
- Apple Support: About Lockdown Mode
- Mobile Verification Toolkit documentation
- NIST: SP 800-53 Rev 5 Security and Privacy Controls
Related NHI Mgmt Group resources: MITRE ATT&CK for Mobile Guide · Command and Control (C2) Guide · Mobile Malware Guide · Mobile App Permissions