# T1480.001 - Environmental Keying
## Técnica Pai
Esta é uma sub-técnica de [[t1480-execution-guardrails|T1480 - T1480 - Execution Guardrails]].
## Descrição
Environmental Keying é uma sub-técnica de [[t1480-execution-guardrails|Execution Guardrails]] na qual adversários cifram payloads maliciosos usando chaves derivadas de características únicas do ambiente-alvo. Em vez de incluir a chave de decriptação no próprio malware, o agressor programa o payload para coletá-la dinâmicamente - a partir de valores como nome do domínio Active Directory, endereço IP interno, hardware UUID ou versão de software específica - tornando a execução bem-sucedida impossível fora do ambiente original.
Essa abordagem transforma o próprio ambiente da vítima em um "cofre criptográfico": se o payload for capturado por um sandbox ou analisado em um ambiente de laboratório, a chave nunca será reconstituída e o código permanece inerte, impedindo que ferramentas de antivírus e analistas de malware inspecionem o comportamento real. O mecanismo é fundamentalmente diferente de [[Sandbox Evasion]], que apenas verifica a ausência de indicadores de sandbox - o Environmental Keying exige a *presença* de valores precisos do alvo para funcionar.
A técnica também protege o conjunto de TTPs do adversário a longo prazo. Mesmo que o payload cifrado sejá recuperado durante uma resposta a incidente, a engenharia reversa torna-se extremamente custosa sem acesso ao ambiente original, ajudando grupos como [[g0020-equation-group|Equation]] e [[g0096-apt41|APT41]] a preservar seus métodos por meses ou anos. A proteção gerada por [[t1027-obfuscated-files-or-information|Obfuscated Files or Information]] é complementar, mas o Environmental Keying oferece uma camada criptográfica muito mais robusta contra análise.
**Contexto Brasil/LATAM:** No cenário brasileiro, a técnica é especialmente relevante em ataques direcionados a instituições financeiras e órgãos governamentais de alto valor, onde adversários precisam garantir que o payload só execute em redes corporativas específicas - como as de grandes bancos com infraestrutura AD bem definida. Campanhas de espionagem industrial identificadas na América Latina têm utilizado keying baseado em hostname e IP interno para evitar que amostras capturadas por [[sources|feeds de inteligência]] regionais revelassem as capacidades reais dos atacantes. Equipes de [[_playbooks|resposta a incidentes]] no Brasil relatam dificuldade crescente em analisar amostras "silenciosas" coletadas em honeypots justamente por conta desse padrão.
## Attack Flow
```mermaid
graph TB
A([Reconhecimento<br/>do Alvo]) --> B([Coleta de<br/>Valores Ambientais])
B --> C([Geração da<br/>Chave Criptográfica])
C -->|chave derivada| D([Decriptação<br/>do Payload]):::highlight
D --> E([Execução<br/>Maliciosa])
classDef highlight fill:#e74c3c,color:#fff
```
## Como Funciona
**Preparação**
O adversário realiza reconhecimento aprofundado do ambiente-alvo para identificar valores estáveis e únicos: nome do domínio AD, UUID do hardware, versão exata de um software crítico ou faixa de IP interno. Com esses dados, o payload é cifrado usando uma chave derivada desses valores (ex.: PBKDF2 ou SHA-256 sobre a concatenação dos identificadores coletados). O payload cifrado é então embutido no vetor de entrega - documento Office, DLL dropada, script PowerShell.
**Execução**
No momento da execução na máquina da vítima, o malware coleta os valores ambientais esperados em tempo real, reconstrói a chave de decriptação e tenta decifrar o payload. Se os valores baterem, o código malicioso é decriptado em memória e executado - sem gravar o payload em disco em texto claro. Em ambientes que não correspondam ao alvo (sandbox, VM de análise, estação de trabalho errada), a decriptação falha silenciosamente e o processo encerra sem artefatos.
**Pós-execução**
Com a execução bem-sucedida, o malware elimina os artefatos de coleta de valores ambientais, dificultando a reconstrução forense do mecanismo de keying. Amostras capturadas por [[_groups|equipes de ameaças]] permanecem opacas e o adversário preserva suas capacidades para reutilização em alvos adicionais dentro do mesmo ambiente.
## Detecção
A detecção direta é extremamente difícil pela natureza da técnica. As melhores oportunidades estão nas fases de coleta de valores ambientais.
**Event IDs relevantes (Windows):**
| Event ID | Fonte | Sinal |
|----------|-------|-------|
| 4688 | Security | Processos que enumeram propriedades de sistema (WMI, `systeminfo`) logo antes de carregar DLL suspeita |
| 4663 | Security | Acesso incomum a chaves de registro de hardware (ex.: `HKLM\HARDWARE\DESCRIPTION\System`) |
| 7045 / 4697 | System / Security | Registro de novo serviço por processo que previamente consultou variáveis de ambiente |
| 4104 | PowerShell | Scripts que coletam `$env:USERDOMAIN`, `$env:COMPUTERNAME` e em seguida invocam `[System.Convert]::FromBase64String` |
| 3 | Sysmon | Conexão de rede originada de `regsvr32.exe` ou `rundll32.exe` logo após consulta de hostname |
**Sigma Rule - Environmental Keying Recon Pattern:**
```yaml
title: Possible Environmental Keying Recon - System Info Collection Before DLL Load
id: a3f9c7e2-88b1-4d05-9f3a-1c2e8b7d4a06
status: experimental
description: >
Detecta sequência de coleta de valores ambientais (hostname, domínio, UUID de hardware)
imediatamente antes do carregamento de DLL não assinada em memória - padrão consistente
com Environmental Keying (T1480.001).
author: RunkIntel
daté: 2026-03-24
tags:
- attack.defense_evasion
- attack.t1480.001
logsource:
product: windows
category: process_creation
detection:
selection_recon:
CommandLine|contains:
- 'Get-WmiObject Win32_ComputerSystem'
- 'wmic csproduct get UUID'
- '$env:USERDOMAIN'
- 'systeminfo'
- 'HKLM\HARDWARE\DESCRIPTION\System\BIOS'
filter_legitimate:
ParentImage|endswith:
- '\msiexec.exe'
- '\svchost.exe'
timeframe: 5m
condition: selection_recon and not filter_legitimate
falsepositives:
- Scripts de inventário de TI legítimos (SCCM, PDQ, Lansweeper)
- Softwares de monitoramento de endpoint
level: medium
```
## Mitigação
| Controle | Ação Recomendada | Prioridade para Orgs BR |
|----------|-----------------|------------------------|
| [[m1055-do-not-mitigaté\|M1055 - Do Not Mitigaté]] | MITRE classifica como não mitigável diretamente - foco em detecção | N/A |
| Análise comportamental de EDR | Configurar EDR para alertar em sequências de enumeração de sistema seguidas de carregamento de módulo não assinado | Alta |
| Sandbox com snapshots de ambiente real | Usar sandboxes que reproduzam fielmente valores ambientais corporativos (hostname, domínio, IP) para forçar a decriptação do payload | Alta |
| Monitoramento de WMI e `systeminfo` | Correlacionar chamadas WMI de coleta de hardware com eventos subsequentes de carga de DLL via SIEM | Média |
| Threat Intelligence sobre amostras cifradas | Participar de iniciativas de compartilhamento (CERT.br, ISACs setoriais) para trocar amostras cifradas e tentar reconstituição colaborativa de chaves | Média |
| Controle de execução de scripts | Bloquear PowerShell não assinado via AppLocker/WDAC para reduzir superfície de coleta de valores ambientais | Alta |
## Threat Actors que Usam
- [[g0020-equation-group|Equation]] - grupo de espionagem de nação-estado considerado um dos mais sofisticados do mundo; pioneiro no uso de Environmental Keying em campanhas contra alvos de alto valor, incluindo infraestrutura crítica em múltiplos continentes.
- [[g0096-apt41|APT41]] - grupo chinês de duplo mandato (espionagem e crime financeiro) que empregou keying baseado em domínio AD em operações contra setores de telecomúnicações e saúde, incluindo alvos na América Latina.
## Software Associado
- [[s1239-toneshell|TONESHELL]] - backdoor associado a [[g0096-apt41|APT41]] que implementa checagem de ambiente antes de decifrar configuração C2.
- [[s0240-rokrat|ROKRAT]] - RAT de origem norte-coreana que verifica atributos do sistema operacional antes de ativar funcionalidades de exfiltração.
- [[s1228-pubload|PUBLOAD]] - stager que válida o contexto de rede antes de baixar payload de segundo estágio.
- [[ninjá|Ninjá]] - ferramenta de pós-exploração com lógica de keying baseada em hostname para evitar execução em ambientes de análise.
- [[s0260-invisimole|InvisiMole]] - spyware avançado com múltiplas camadas de proteção ambiental, incluindo verificação de configurações regionais.
- [[pikabot|Pikabot]] - loader modular que implementa verificações de anti-análise baseadas em características do sistema antes de entregar o módulo principal.
- [[s0685-powerpunch|PowerPunch]] - downloader PowerShell que deriva chave de decriptação a partir de variáveis de ambiente do usuário.
- [[s0141-winnti-for-windows|Winnti for Windows]] - malware modular usado por [[g0096-apt41|APT41]] com capacidades de keying ambiental em campanhas de espionagem industrial.
---
*Fonte: [MITRE ATT&CK - T1480.001](https://attack.mitre.org/techniques/T1480/001)*