# T1614 - System Location Discovery
## Descrição
**System Location Discovery** é uma técnica de reconhecimento em que adversários tentam determinar a localização geográfica de um sistema comprometido antes de decidir se prosseguem com a infecção completa. A técnica é frequentemente usada por malware com lógica de **geo-fencing** - código que verifica se a vítima está em um país-alvo ou, inversamente, se está em uma região que o atacante desejá evitar (como países da CEI, no caso de grupos russos).
Os métodos de verificação incluem: fuso horário do sistema (`tzutil` no Windows), layout de teclado, configurações de idioma via Windows API (`GetLocaleInfoW`, `GetSystemDefaultLCID`), e geolocalização por IP via serviços externos. Em ambientes de nuvem (IaaS), a zona de disponibilidade da instância pode ser consultada via metadata service.
No contexto **brasileiro e latino-americano**, T1614 tem implicações diretas e opostas:
1. **O Brasil como alvo geo-selecionado**: Malware como [[s1240-redline-stealer|RedLine Stealer]], [[darkgaté|DarkGaté]] e [[s1124-socgholish|SocGholish]] incluem verificações de localização para **confirmar** que a vítima está no Brasil ou LATAM antes de executar payloads específicos para a região - como modules de fraude bancária que reconhecem interfaces de bancos brasileiros (Itaú, Bradesco, Nubank).
2. **O Brasil como região de exclusão**: Grupos como [[g1017-volt-typhoon|Volt Typhoon]] (nexo chinês, foco em infraestrutura crítica dos EUA) usam geo-fencing para **excluir** dispositivos fora dos alvos primários, reduzindo ruído operacional. Se um dispositivo brasileiro for infectado acidentalmente, o malware pode encerrar a execução silenciosamente.
A sub-técnica [[t1614-001-system-language-discovery|T1614.001 - System Language Discovery]] é especialmente relevante: verificar se o sistema usa `pt-BR` (Português do Brasil) é um indicador direto de que a vítima é brasileira, usado tanto para targeting como para evasão.
> [!info] Contexto LATAM
> O [[s0013-plugx|PlugX]], usado extensivamente por APTs chineses com operações documentadas no Brasil e Peru, inclui verificações de idioma e localização para adaptar o comportamento do implante. O [[s0262-quasarrat|QuasarRAT]], ferramenta de acesso remoto usada por múltiplos grupos em campanhas contra o governo brasileiro, também implementa T1614 para perfilamento inicial da vítima.
---
## Attack Flow
```mermaid
graph TB
A([Acesso Inicial]) --> B([Execução de Payload])
B --> C(["T1614<br/>System Location Discovery"]:::highlight)
C --> D{Resultado da Verificação}
D -->|País-alvo confirmado| E([Infecção Completa<br/>Payload específico por região])
D -->|País excluído| F([Encerramento silencioso<br/>Evasão de análise])
C --> G([T1614.001 - Language Discovery<br/>Verificação pt-BR])
classDef highlight fill:#e74c3c,color:#fff,stroke:#c0392b,stroke-width:2px
```
---
## Como Funciona
**Passo 1 - Verificação de fuso horário e idioma**
O malware executa verificações de sistema logo após a infecção inicial, antes de estabelecer comunicação com o C2. No Windows, usa `tzutil /g` (linha de comando) ou a API `GetTimeZoneInformation` para obter o fuso horário. Combinado com `GetSystemDefaultLocaleName` ou `GetUserDefaultUILanguage`, o adversário determina o idioma padrão do sistema. Um resultado `pt-BR` (LCID `0x0416`) indica uma vítima brasileira.
**Passo 2 - Geolocalização por IP**
Para maior precisão, alguns malwares consultam serviços de geolocalização externos - como `api.ipify.org`, `ipinfo.io` ou `checkip.amazonaws.com` - para mapear o IP público da vítima a um país e provedor de internet. Essa abordagem é usada pelo [[darkwatchman|DarkWatchman]] e pelo [[s1138-gootloader|Gootloader]] para confirmar a localização antes de exfiltrar dados. No contexto forense, chamadas HTTP a esses serviços logo após a execução inicial são um IoC comportamental forte.
**Passo 3 - Decisão de execução e adaptação de payload**
Com base nos dados de localização, o malware toma uma decisão binária: prosseguir com infecção completa ou encerrar silenciosamente. Se a vítima é confirmada como alvo, o payload pode ser adaptado - como carregar módulos de webinject específicos para bancos brasileiros ([[s1240-redline-stealer|RedLine Stealer]]) ou selecionar servidores C2 regionais para reduzir latência e suspeita de tráfego internacional. O [[s0461-sdbbot|SDBbot]] e o [[s1248-xorindex-loader|XORIndex Loader]] documentam esse comportamento adaptativo.
---
## Detecção
### Event IDs Relevantes (Windows)
| Event ID | Fonte | Descrição |
|----------|-------|-----------|
| 4688 | Security | Criação de processo - `tzutil.exe /g` ou `systeminfo` |
| 4663 | Security | Acesso a chaves de registro de localização (`HKLM\SYSTEM\CurrentControlSet\Control\Nls`) |
| 5156 | Security (Filtering Platform) | Conexão de rede a serviços de geolocalização IP externos |
| Sysmon 3 | Sysmon | Conexão de rede - detectar chamadas a `ipify.org`, `ipinfo.io`, `checkip.amazonaws.com` |
### Sigma Rule
```yaml
title: Suspicious System Location Discovery via Geolocation APIs
id: c8d5e4f3-6a7b-8901-cdef-012345678901
status: experimental
description: >
Detecta consultas de processos não-navegadores a serviços de geolocalização
IP externos, padrão comportamental associado à T1614 - System Location Discovery
e frequentemente observado em malware com lógica de geo-fencing.
author: RunkIntel
daté: 2026-03-24
logsource:
category: network_connection
product: windows
service: sysmon
detection:
selection_geoip_services:
DestinationHostname|contains:
- 'ipify.org'
- 'ipinfo.io'
- 'checkip.amazonaws.com'
- 'ip-api.com'
- 'geoip.ubuntu.com'
- 'ifconfig.me'
filter_browsers:
Image|endswith:
- '\chrome.exe'
- '\firefox.exe'
- '\msedge.exe'
- '\iexplore.exe'
- '\brave.exe'
condition: selection_geoip_services and not filter_browsers
falsepositives:
- Ferramentas de diagnóstico de rede legítimas
- Agentes de monitoramento que verificam IP público
level: medium
tags:
- attack.discovery
- attack.t1614
```
---
## Mitigação
| Controle | Descrição | Prioridade para Org. Brasileiras |
|----------|-----------|----------------------------------|
| Bloqueio de saída a serviços de geolocalização | Criar regras de firewall de saída bloqueando acesso a `ipify.org`, `ipinfo.io` e similares de workstations | Média - fácil de implementar, reduz eficácia de malware com geo-fencing |
| Monitoramento de DNS para serviços de IP lookup | Alertar no SIEM para queries DNS a serviços de geolocalização de hosts não-navegadores | Média - DNS filtering é controle de baixo custo com alta visibilidade |
| Inspeção de comportamento pós-execução | Usar EDR para detectar sequências: execução de script → consulta de localização → conexão C2 | Alta - detecta comportamento característico de malware com lógica condicional |
| Análise estática de macros e scripts | Inspecionar scripts VBS, PowerShell e macros Office em busca de chamadas a `GetLocaleInfo`, `GetTimeZoneInformation` | Alta - relevante para phishing de malware bancário direcionado ao Brasil |
| Segmentação de saída de rede | Workstations não devem ter acesso direto à internet - proxy obrigatório com inspeção TLS | Alta - controle fundamental que neutraliza múltiplas técnicas, não apenas T1614 |
---
## Threat Actors que Usam
### [[g1008-sidecopy|SideCopy]]
Grupo APT com nexo paquistanês, focado principalmente em alvos governamentais e de defesa na Índia e Afeganistão. Usa T1614 em combinação com [[t1614-001-system-language-discovery|T1614.001]] para verificar o idioma do sistema antes de executar payloads. Documentado usando [[s0013-plugx|PlugX]] e variantes customizadas em campanhas de espionagem. Relevante para organizações com parceiros na região sul-asiática.
### [[g1017-volt-typhoon|Volt Typhoon]]
APT chinês focado em infraestrutura crítica, especialmente nos EUA e aliados. Conhecido por operações de "living off the land" que minimizam uso de malware customizado. Usa verificações de localização para garantir que operações clandestinas de longo prazo não sejam perturbadas por infecções acidentais fora do escopo. Altamente relevante para setor de telecomúnicações e energia no Brasil, dado o interesse estratégico da China na América Latina.
---
## Software Associado
| Software | Tipo | Uso em T1614 |
|----------|------|--------------|
| [[darkwatchman\|DarkWatchman]] | RAT/Loader | Verifica localização via IP lookup antes de executar segundo estágio |
| [[s1138-gootloader\|Gootloader]] | Loader | Geo-fencing por idioma do navegador e fuso horário para seleção de vítimas |
| [[s0013-plugx\|PlugX]] | RAT | Verifica idioma e localização; usado em campanhas contra Brasil e Peru |
| [[s1153-cuckoo-stealer\|Cuckoo Stealer]] | Stealer | Verifica localização para adaptar módulos de coleta (macOS) |
| [[darkgaté\|DarkGaté]] | Malware-as-a-Service | Operadores configuram geo-fencing por país para campanhas direcionadas |
| [[s1124-socgholish\|SocGholish]] | Loader | Verifica geolocalização de IP para servir payloads específicos por região |
| [[s1248-xorindex-loader\|XORIndex Loader]] | Loader | Verifica localização antes de descriptografar e executar payload final |
| [[s0262-quasarrat\|QuasarRAT]] | RAT | Coleta dados de localização do sistema como parte do perfil inicial da vítima |
| [[s0461-sdbbot\|SDBbot]] | RAT | Verificação de idioma e fuso horário durante inicialização |
| [[s1240-redline-stealer\|RedLine Stealer]] | Stealer | Carrega módulos específicos para bancos brasileiros quando `pt-BR` detectado |
---
## Sub-técnicas
- [[t1614-001-system-language-discovery|T1614.001 - System Language Discovery]]