# 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)*