T1627.001: Geofencing
Adversaries may use a device’s geographical location to limit certain malicious behaviors. For example, malware operators may limit the distribution of a second stage payload to certain geographic regions.[1]
Geofencing is accomplished by persuading the user to grant the application permission to access location services. The application can then collect, process, and exfiltrate the device’s location to perform location-based actions, such as ceasing malicious behavior or showing region-specific advertisements.
One method to accomplish Geofencing on Android is to use the built-in Geofencing API to automatically trigger certain behaviors when the device enters or exits a specified radius around a geographical location. Similar to other Geofencing methods, this requires that the user has granted the `ACCESS_FINE_LOCATION` and `ACCESS_BACKGROUND_LOCATION` permissions. The latter is only required if the application targets Android 10 (API level 29) or higher. However, Android 11 introduced additional permission controls that may restrict background location collection based on user permission choices at runtime. These additional controls include "Allow only while using the app", which will effectively prohibit background location collection.
Similarly, on iOS, developers can use built-in APIs to setup and execute geofencing. Depending on the use case, the app will either need to call `requestWhenInUseAuthorization()` or `requestAlwaysAuthorization()`, depending on when access to the location services is required. Similar to Android, users also have the option to limit when the application can access the device’s location, including one-time use and only when the application is running in the foreground.
Geofencing can be used to prevent exposure of capabilities in environments that are not intended to be compromised or operated within. For example, location data could be used to limit malware spread and/or capabilities, which could also potentially evade application analysis environments (ex: malware analysis outside of the target geographic area). Other malicious usages could include showing language-specific input prompts and/or advertisements.
Analyst context for executives and security teams
Geofencing is a mobile execution guardrail: malicious or unwanted app behavior can change based on where the Android or iOS device is located. For leaders, the practical risk is that the same app may look harmless in one region or test environment but activate, suppress, or tailor behavior elsewhere, complicating mobile risk review and incident scoping.
Executive priority
Prioritize this where mobile devices support sensitive roles, regulated operations, executives, government-facing work, financial workflows, or critical infrastructure activity. The key business question is whether the organization can prove which apps have location access, which devices are running recent OS versions, and whether mobile analysis and SOC processes account for region-dependent behavior. This matters for incident response because absence of malicious behavior in a lab may not rule out risk on a device in the target geography.
Technical view
ATT&CK describes this as an Android and iOS sub-technique of Execution Guardrails. The behavior depends on user-granted location access and may use Android location permissions such as ACCESS_FINE_LOCATION and ACCESS_BACKGROUND_LOCATION, Android geofencing APIs, or iOS location authorization calls such as requestWhenInUseAuthorization() and requestAlwaysAuthorization(). SOC, mobile security, and IR teams should validate whether they can identify apps requesting location permissions, background location access, geofencing API use, and location-linked network activity. MITRE does not provide official detection text, but the object is associated with DET0648, Detection of Geofencing, and with use by eSurv, BRATA, and Windshift in ATT&CK relationship context.
Likely telemetry
- Mobile device inventory with Android/iOS platform and OS version
- MDM or mobile security records of installed applications and requested/granted location permissions
- Permission state changes, especially background or always-on location access
- Mobile application analysis findings for geofencing or location authorization API usage
- Mobile network telemetry showing app communications that may include or follow location collection
Detection direction
- Confirm whether mobile monitoring covers both Android and iOS permission states, not just installed app names.
- Review apps that request fine, background, always, or when-in-use location permissions against business justification and user role.
- Account for false positives: many legitimate apps use geofencing for navigation, logistics, authentication context, safety, advertising, or workplace services.
- Test suspicious apps under different location conditions when legally and operationally appropriate, because behavior may be suppressed outside the intended geography or analysis environment.
- Correlate location permission use with unexpected outbound communications or second-stage behavior rather than treating API use alone as malicious.
Mitigation priorities
- Keep mobile operating systems current, aligning with ATT&CK mitigation M1006, because newer Android and iOS versions add permission and security architecture controls.
- Provide user guidance, aligning with M1011, so users understand location permission prompts and avoid granting background or always-on access without a clear need.
- Use MDM or equivalent governance to inventory and review apps with location access, especially on high-risk roles and managed devices.
- Prefer least-privilege location settings such as foreground-only or one-time access where business workflows allow.
- Include location-permission evidence in mobile incident response, compliance reviews, and app risk assessments.
Analyst notes and limits
This technique is material because it can make mobile malware or unwanted app behavior conditional and therefore harder to reproduce during analysis. The most useful defensive work is often not a single alert, but evidence quality: app inventory, permission state, OS version, and the ability to compare behavior across device context. ATT&CK records this as a mobile sub-technique for Android and iOS and notes that T1581 was revoked by this object.
The ATT&CK object does not specify tactics and does not provide official detection logic. The supplied relationships identify a detection strategy and mitigations, but not guaranteed detection coverage. Any assessment of exposure, maliciousness, or active targeting requires local device, app, permission, and network evidence.
Geofencing
Adversaries may use a device’s geographical location to limit certain malicious behaviors. For example, malware operators may limit the distribution of a second stage payload to certain geographic regions.[1]
Geofencing is accomplished by persuading the user to grant the application permission to access location services. The application can then collect, process, and exfiltrate the device’s location to perform location-based actions, such as ceasing malicious behavior or showing region-specific advertisements.
One method to accomplish Geofencing on Android is to use the built-in Geofencing API to automatically trigger certain behaviors when the device enters or exits a specified radius around a geographical location. Similar to other Geofencing methods, this requires that the user has granted the `ACCESS_FINE_LOCATION` and `ACCESS_BACKGROUND_LOCATION` permissions. The latter is only required if the application targets Android 10 (API level 29) or higher. However, Android 11 introduced additional permission controls that may restrict background location collection based on user permission choices at runtime. These additional controls include "Allow only while using the app", which will effectively prohibit background location collection.
Similarly, on iOS, developers can use built-in APIs to setup and execute geofencing. Depending on the use case, the app will either need to call `requestWhenInUseAuthorization()` or `requestAlwaysAuthorization()`, depending on when access to the location services is required. Similar to Android, users also have the option to limit when the application can access the device’s location, including one-time use and only when the application is running in the foreground.
Geofencing can be used to prevent exposure of capabilities in environments that are not intended to be compromised or operated within. For example, location data could be used to limit malware spread and/or capabilities, which could also potentially evade application analysis environments (ex: malware analysis outside of the target geographic area). Other malicious usages could include showing language-specific input prompts and/or advertisements.
How security teams should use this page
Treat this object as behavior context, not an attribution claim. Validate the related groups, software, data sources, and mitigations against official ATT&CK relationships and your own telemetry before making control-coverage decisions.
Related techniques
This mirrors the MITRE pattern of making group, software, campaign, and technique relationships scannable. Relationship notes come from mirrored ATT&CK relationship text when available.
| Domain | ID | Name | Relationship / procedure |
|---|---|---|---|
| Mobile | T1627 | Execution Guardrails | This object subtechnique of Execution Guardrails. |
| Mobile | T1581 | Geofencing | Geofencing revoked by this object. |
Groups, software, and campaigns
G0112: Windshift
S0507: eSurv
S1094: BRATA
BRATA (Brazilian Remote Access Tool, Android), is an evolving Android malware strain, detected in late 2018 and again in late 2021. Originating in Brazil, BRATA was later also found in the UK, Poland, Italy, Spain, and USA, where it is believed to have targeted financial institutions such as banks. There are currently three known variants of BRATA.[1][2][3]
All related ATT&CK context
Mitigation direction
Object version and sync metadata
The fields below describe the current mirrored snapshot. When Glexia retains multiple ATT&CK source imports, you can open the table to compare the same object across releases (hashes and MITRE timestamps). For MITRE’s own release notes and roadmap, see ATT&CK resources — Updates .
Imported snapshots across ATT&CK releases (1)
| Release | Bundle imported | Object version | Modified | Status | Raw hash |
|---|---|---|---|---|---|
| 19.1 | 1.1 | Current bundle | 6fda66130eac… |
Mirrored ATT&CK source object
The raw object is retained through the mirrored ATT&CK source bundle and object hash. The raw endpoint returns the exact object from the mirrored bundle when available.
External references and citations
MITRE external references are preserved separately from Glexia analysis so citations remain traceable to their original source records.
-
[1]
Lookout eSurv
A. Bauer. (2019, April 8). Lookout discovers phishing sites distributing new iOS and Android surveillanceware. Retrieved September 11, 2020.
Open source URL -
[2]
mitre-attack T1627.001Open source URL
Source: MITRE ATT&CK®. © 2026 The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation. MITRE ATT&CK and ATT&CK are registered trademarks of The MITRE Corporation. Glexia is not affiliated with or endorsed by MITRE.