# T1140 - Deobfuscaté/Decode Files or Information
> [!info] Identificação MITRE ATT&CK
> **ID:** T1140 | **Tática:** Defense Evasion | **Plataformas:** Windows, Linux, macOS, ESXi
> **Versão MITRE:** 16.2 | **Referência:** [attack.mitre.org/techniques/T1140](https://attack.mitre.org/techniques/T1140)
## Descrição
A técnica **T1140 - Deobfuscaté/Decode Files or Information** descreve como adversários revertem processos de ofuscação aplicados a artefatos maliciosos durante a fase de entrega, preparando-os para execução no ambiente alvo. É o complemento direto de [[t1027-obfuscated-files-or-information|T1027 - Obfuscated Files or Information]]: se T1027 é o "embrulho", T1140 é o "desembrulho".
A ofuscação é empregada para contornar controles de segurança estáticos - antivírus, gateways de e-mail, EDR com análise de assinatura - durante o trânsito do payload. Uma vez no sistema alvo, o adversário precisa decodificar ou desofuscar o artefato para torná-lo executável ou interpretável. Isso pode acontecer de forma totalmente automatizada (dentro do próprio malware) ou, em alguns casos, exigir ação do usuário - como fornecer uma senha para abrir um arquivo comprimido protegido, explorando [[t1204-user-execution|T1204 - User Execution]].
A ausência de qualquer mitigação efetiva catalogada pelo MITRE reflete a natureza dual desta técnica: as mesmas ferramentas legítimas do sistema (certutil, PowerShell, Python, base64) que os administradores usam cotidianamente são aproveitadas pelos atacantes para decodificação, tornando a distinção entre uso legítimo e malicioso um desafio analítico centrado em contexto e comportamento.
## Como Funciona
O processo de deofuscação ocorre em diferentes camadas e momentos da intrusão:
### 1. Decodificação de Payload em Trânsito
O payload chega ao sistema codificado - tipicamente via e-mail de phishing ([[t1566-phishing|T1566]]), download drive-by ([[t1189-drive-by-compromise|T1189]]) ou arquivo malicioso ([[t1105-ingress-tool-transfer|T1105]]). Formatos comuns de codificação:
- **Base64** - Encoding padrão; facilmente revertido com `certutil -decode`, `base64 -d` (Linux), ou `[System.Convert]::FromBase64String()` no PowerShell
- **XOR** - Aplicação de chave XOR byte-a-byte; frequente em shellcode e stagers simples
- **ROT13 / ROT47** - Rotação de caracteres; ofuscação leve para strings de configuração
- **Compressão (GZIP, ZLIB, LZMA)** - Redução de tamanho + ofuscação; comum em malware Python e PowerShell
- **Criptografia simétrica (AES, RC4, ChaCha20)** - Proteção mais robusta; chave embutida no loader ou derivada de ambiente
- **Encoding customizado** - Esquemas proprietários de grupos APT avançados ([[g0010-turla|Turla]], [[g0087-apt39|APT39]])
### 2. Mecanismos de Deofuscação
**Via binários nativos do sistema (LOLBins):**
- `certutil.exe -decode input.b64 output.exe` - Decodificação Base64 no Windows
- `certutil.exe -decodehex input.hex output.bin` - Decodificação hexadecimal
- `expand.exe arquivo.cab destino\` - Extração de CAB files
- `msiexec.exe /a pacote.msi /qn TARGETDIR=...` - Extração de MSI
**Via interpretadores de script:**
- PowerShell: `[System.IO.Compression.GzipStream]` para descompressão inline
- Python: `base64.b64decode()`, `zlib.decompress()`, `Crypto.Cipher.AES`
- Bash/Linux: `base64 -d`, `gunzip`, `openssl enc -d -aes-256-cbc`
**Via rotinas internas do malware:**
- Stagers que carregam payload cifrado de um arquivo de configuração ou recurso embutido
- Loaders que descriptografam o PE final em memória antes de injetá-lo ([[t1055-process-injection|T1055]])
### 3. Deofuscação em Memória
Adversários sofisticados evitam gravar o payload deofuscado no disco. O loader descriptografa diretamente para um buffer de memória e passa execução para ele - técnica conhecida como "fileless execution", que frustra ferramentas forenses baseadas em análise de disco e complementa [[t1620-reflective-code-loading|T1620 - Reflective Code Loading]].
## Attack Flow
```mermaid
graph TB
A["Fase de Entrega<br/>(Payload Ofuscado)"] --> B["Vetor de Entrega<br/>Phishing / Drive-by / C2"]
B --> C["Payload chega ao disco<br/>(Base64 / XOR / Criptografado)"]
C --> D{"Mecanismo de<br/>Deofuscação"}
D -->|"LOLBin\n(certutil, expand)"| E["Binário nativo<br/>do sistema"]
D -->|"Script interno\n(PowerShell, Python)"| F["Interpretador<br/>de script"]
D -->|"Rotina interna\ndo malware"| G["Loader / Stager<br/>no processo"]
E --> H["Artefato<br/>Deofuscado"]
F --> H
G --> I["Payload em Memória<br/>(sem arquivo em disco)"]
H --> J["Execução<br/>no Disco"]
I --> K["Execução<br/>Fileless"]
J --> L["Persistência /<br/>Movimento Lateral"]
K --> L
style A fill:#2d3748,color:#e2e8f0
style D fill:#744210,color:#fefcbf
style H fill:#742a2a,color:#fed7d7
style I fill:#742a2a,color:#fed7d7
style L fill:#22543d,color:#c6f6d5
```
## Exemplos de Uso por Threat Actors
### Turla - Carbon Framework
O grupo russo [[g0010-turla|Turla]] emprega deofuscação multi-estágio em seu implante Carbon. O dropper inicial chega codificado em Base64 dentro de um documento Office legítimo. Após a abertura pelo usuário ([[t1204-user-execution|T1204]]), uma macro VBA executa a decodificação usando rotinas XOR customizadas, grava o DLL resultante em disco e o registra para persistência via COM hijacking.
### Kimsuky - Machete e Scripts PowerShell
O grupo norte-coreano [[g0094-kimsuky|Kimsuky]] utiliza scripts PowerShell fortemente ofuscados, com múltiplas camadas de codificação Base64 e compressão GZIP. O script inicial baixa um segundo estágio cifrado com AES-256, cujá chave é derivada de informações do ambiente (nome do computador + usuário), garantindo que o payload só funcione no alvo pretendido. O malware [[g0095-machete|Machete]] associado ao grupo segue padrão similar.
### Mustang Panda - PlugX via DLL Sideloading
[[g0129-mustang-panda|Mustang Panda]] empacota o PlugX RAT em arquivos BIN ofuscados, distribuídos junto com executáveis legítimos (normalmente software antivírus ou aplicativos corporativos). O executável legítimo carrega a DLL maliciosa ([[t1574-002-dll-side-loading|T1574.002]]), que por sua vez lê e deofusca o arquivo BIN em memória, carregando o PlugX sem jámais gravar o PE descriptografado no disco.
### Moonstone Sleet - Pacotes npm Maliciosos
[[g1036-moonstone-sleet|Moonstone Sleet]] distribui pacotes npm com código JavaScript ofuscado. Ao ser instalado em ambiente de desenvolvimento, o pacote executa um script de pós-instalação que decodifica (Base64 + compressão) e executa um downloader, demonstrando a técnica em ambiente supply chain ([[t1195-002-compromise-software-supply-chain|T1195.002]]).
### WIRTE - Certutil para Decode de RAT
[[g0090-wirte|WIRTE]] foi observado usando `certutil.exe -decode` para converter um arquivo .cer (certificado aparentemente legítimo) em um executável portable de acesso remoto. Essa abordagem explora a natureza dual do certutil - ferramenta legítima de gerenciamento de certificados - para contornar listas de aplicativos confiáveis e EDRs com políticas de LOLBin permissivas.
## Detecção
### Regra Sigma - Uso Suspeito de certutil para Decode
```yaml
title: Certutil Decode de Payload Suspeito
id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
status: experimental
description: >
Detecta uso de certutil.exe com flags -decode ou -decodehex,
indicando possível deofuscação de payload malicioso (T1140).
references:
- https://attack.mitre.org/techniques/T1140
- https://lolbas-project.github.io/lolbas/Binaries/Certutil/
author: RunkIntel
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.t1140
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\certutil.exe'
CommandLine|contains:
- '-decode'
- '-decodehex'
- '/decode'
- '/decodehex'
filter_legitimate:
ParentImage|endswith:
- '\mmc.exe'
- '\certmgr.exe'
condition: selection and not filter_legitimate
falsepositives:
- Administradores gerenciando certificados via linha de comando
- Ferramentas de deployment corporativo que usam certutil para extração
level: high
fields:
- CommandLine
- ParentImage
- User
- Image
```
### Regra Sigma - Deofuscação PowerShell Multi-Camada
```yaml
title: PowerShell Deofuscação Base64 em Múltiplas Camadas
id: b2c3d4e5-f6a7-8901-bcde-f23456789012
status: experimental
description: >
Detecta execução de PowerShell com padrões de deofuscação aninhada:
múltiplos FromBase64String ou combinação com GZip/Deflaté (T1140 + T1059.001).
references:
- https://attack.mitre.org/techniques/T1140
author: RunkIntel
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.t1140
- attack.t1059.001
logsource:
category: process_creation
product: windows
detection:
selection_b64:
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
CommandLine|contains:
- 'FromBase64String'
- 'Convert]::From'
selection_decompress:
CommandLine|contains:
- 'GZipStream'
- 'DeflateStream'
- 'IO.Compression'
condition: selection_b64 and selection_decompress
falsepositives:
- Scripts de deployment legítimos com payloads comprimidos
- Ferramentas de monitoramento com telemetria comprimida
level: high
```
### Indicadores Comportamentais Adicionais
| Comportamento | Ferramenta de Detecção | Confiança |
|---|---|---|
| `certutil` acessando arquivo não-certificado | EDR / Process Monitor | Alta |
| PowerShell com `Invoke-Expression` + B64 | SIEM / Script Block Logging | Alta |
| Criação de arquivo executável por processo script | EDR / File Integrity Monitoring | Média-Alta |
| `expand.exe` ou `msiexec /a` em contexto incomum | EDR | Média |
| Leitura de arquivo .bin ou .dat seguida de alocação RWX | EDR com memória | Alta |
## Mitigação
> [!warning] Nota sobre Mitigações
> O MITRE ATT&CK não cataloga mitigações específicas para T1140, pois os mecanismos de deofuscação frequentemente aproveitam funcionalidades legítimas do sistema. A defesa eficaz depende de detecção comportamental contextualizada.
| Controle | Descrição | Eficácia |
|---|---|---|
| **Script Block Logging** | Ativar `PowerShell Script Block Logging` (Event ID 4104) para capturar o código deofuscado antes da execução | Alta |
| **Monitoramento de LOLBins** | Regras EDR para uso anômalo de `certutil`, `expand`, `msiexec` fora de contextos administrativos | Alta |
| **AMSI (Antimalware Scan Interface)** | Integração de soluções AV/EDR com AMSI para inspeção de scripts em tempo de execução | Média-Alta |
| **Application Whitelisting** | AppLocker/WDAC para bloquear execução de binários não autorizados resultantes de deofuscação | Média |
| **Monitoramento de Memória** | EDR com capacidade de detecção de alocação RWX suspeita (shellcode em memória) | Alta |
| **Network Filtering** | Bloquear download de payloads cifrados via proxy/firewall com inspeção TLS | Média |
## Contexto Brasil/LATAM
A técnica T1140 é amplamente documentada em campanhas que afetam o Brasil e a América Latina, especialmente no contexto de:
### Campanhas de Phishing Financeiro
Grupos de crime organizado financeiro que operam no Brasil - incluindo operadores de trojans bancários como [[s0531-grandoreiro|Grandoreiro]], [[mekotio|Mekotio]] e [[s0455-metamorfo|Casbaneiro]] - utilizam consistentemente ofuscação/deofuscação em seus loaders. O padrão típico envolve um arquivo ZIP enviado por phishing, contendo um MSI ou LNK que, ao ser executado, decodifica o payload do banker em Base64 ou XOR usando AutoIt ou PowerShell.
O [[s0531-grandoreiro|Grandoreiro]], considerado a maior ameaça bancária da região, foi alvo de operação de takedown em 2024 com cooperação entre Interpol, PF brasileira e CERT.br - mas variantes continuam ativas com técnicas de ofuscação evoluídas.
### Ameaças a Infraestrutura Crítica
Em incidentes envolvendo o setor energético e de utilities no Brasil e México, foram observados loaders que utilizam arquivos DLL com payloads cifrados com RC4 ou ChaCha20, deofuscando em memória para evitar detecção por EDRs implantados após regulamentações setoriais recentes.
### Dificuldades Forenses
A prevalência de deofuscação em memória (fileless) representa desafio específico para equipes de SOC e IR no Brasil, dado que:
- Muitas organizações ainda operam com soluções AV tradicionais (sem EDR com memória)
- Capacidade de análise de memória forense é escassa no mercado local
- Regulamentações do BACEN (Resolução CMN 4.893/2021) e ANPD não impõem exigências técnicas específicas de EDR
## Referências
- [MITRE ATT&CK - T1140](https://attack.mitre.org/techniques/T1140)
- [LOLBAS Project - certutil](https://lolbas-project.github.io/lolbas/Binaries/Certutil/)
- [Microsoft - Script Block Logging](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_logging_windows)
- [CERT.br - Análise de Malware Brasileiro](https://www.cert.br/)
**Técnicas Relacionadas:** [[t1027-obfuscated-files-or-information|T1027]], [[t1059-001-powershell|T1059.001]], [[t1204-user-execution|T1204]], [[t1055-process-injection|T1055]], [[t1620-reflective-code-loading|T1620]], [[t1105-ingress-tool-transfer|T1105]], [[t1566-phishing|T1566]]
**Threat Actors:** [[g0060-bronze-butler|BRONZE BUTLER]], [[g0010-turla|Turla]], [[g0087-apt39|APT39]], [[g0094-kimsuky|Kimsuky]], [[g0129-mustang-panda|Mustang Panda]], [[g1036-moonstone-sleet|Moonstone Sleet]], [[g0090-wirte|WIRTE]], [[g1030-agrius|Agrius]]
**Malware Associado:** [[g0095-machete|Machete]], [[g1049-applejeus|AppleJeus]], [[konni|KONNI]], [[s0574-bendybear|BendyBear]], [[s0230-zerot|ZeroT]], [[s0513-liteduke|LiteDuke]]
---
*Fonte: [MITRE ATT&CK - T1140](https://attack.mitre.org/techniques/T1140)*