| ID | Name |
|---|---|
| T1614.001 | System Language Discovery |
Adversaries may gather information in an attempt to calculate the geographical location of a victim host. Adversaries may use the information from System Location Discovery during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.
Adversaries may attempt to infer the location of a system using various system checks, such as time zone, keyboard layout, and/or language settings.[1][2][3] Windows API functions such as GetLocaleInfoW can also be used to determine the locale of the host.[1] In cloud environments, an instance's availability zone may also be discovered by accessing the instance metadata service from the instance.[4][5]
Adversaries may also attempt to infer the location of a victim host using IP addressing, such as via online geolocation IP-lookup services.[6][2]
| ID | Name | Description |
|---|---|---|
| S1025 | Amadey |
Amadey does not run any tasks or install additional malware if the victim machine is based in Russia.[7] |
| S0115 | Crimson |
Crimson can identify the geographical location of a victim host.[8] |
| S1153 | Cuckoo Stealer |
Cuckoo Stealer can determine the geographical location of a victim host by checking the language.[9] |
| S1111 | DarkGate |
DarkGate queries system locale information during execution.[10] Later versions of DarkGate query |
| S0673 | DarkWatchman |
DarkWatchman can identity the OS locale of a compromised host.[12] |
| S1138 | Gootloader |
Gootloader can use IP geolocation to determine if the person browsing to a compromised site is within a targeted territory such as the US, Canada, Germany, and South Korea.[13] |
| S0632 | GrimAgent |
GrimAgent can identify the country code on a compromised host.[14] |
| S1249 | HexEval Loader |
HexEval Loader has a function where the C2 endpoint can identify the geographical location of a victim host based on request headers, execution environment and runtime conditions.[15] |
| S1245 | InvisibleFerret |
InvisibleFerret has collected the internal IP address, IP geolocation information of the infected host and sends the data to a C2 server.[16] InvisibleFerret has also leveraged the "pay" module to obtain region name, country, city, zip code, ISP, latitude and longitude using "http://ip-api.com/json".[17] |
| S0013 | PlugX |
PlugX has obtained the location of the victim device by leveraging |
| S0262 | QuasarRAT |
QuasarRAT can determine the country a victim host is located in.[19] |
| S1148 | Raccoon Stealer |
Raccoon Stealer collects the |
| S0481 | Ragnar Locker |
Before executing malicious code, Ragnar Locker checks the Windows API |
| S1240 | RedLine Stealer |
RedLine Stealer has gathered detailed information about victims’ systems, such as IP addresses, and geolocation.[21][22][23] RedLine Stealer has also checked the IP from where it was being executed and leveraged an opensource geolocation IP-lookup service. [24] |
| S1018 | Saint Bot |
Saint Bot has conducted system locale checks to see if the compromised host is in Russia, Ukraine, Belarus, Armenia, Kazakhstan, or Moldova.[25][26] |
| S0461 | SDBbot |
SDBbot can collected the country code of a compromised machine.[27] |
| G1008 | SideCopy |
SideCopy has identified the country location of a compromised host.[28] |
| S1124 | SocGholish |
SocGholish can use IP-based geolocation to limit infections to victims in North America, Europe, and a small number of Asian-Pacific nations.[29] |
| G1017 | Volt Typhoon |
Volt Typhoon has obtained the victim's system current location.[30] |
| S1248 | XORIndex Loader |
XORIndex Loader can identify the geographical location of a victim host.[31] |
This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.
| ID | Name | Analytic ID | Analytic Description |
|---|---|---|---|
| DET0043 | Detection Strategy for System Location Discovery | AN0119 |
Unusual process or API usage attempting to query system locale, timezone, or keyboard layout (e.g., calls to GetLocaleInfoW, GetTimeZoneInformation). Detection can be enhanced by correlating with processes not typically associated with system configuration queries, such as unknown binaries or scripts. |
| AN0120 |
Detection of commands accessing locale, timezone, or language settings such as 'locale', 'timedatectl', or parsing /etc/timezone. Anomalous execution by unusual users or automation scripts should be flagged. |
||
| AN0121 |
Detection of system calls or commands accessing system locale (e.g., 'defaults read -g AppleLocale', 'systemsetup -gettimezone'). Correlate with unusual parent processes or execution contexts. |
||
| AN0122 |
Detection of queries to instance metadata services (e.g., AWS IMDS, Azure Metadata Service) for availability zone, region, or network geolocation details. Correlation with non-management accounts or non-standard workloads may indicate adversary reconnaissance. |