# DET0505 — Detection Strategy for Command Obfuscation ## Descrição A ofuscação de comandos é uma técnica de evasão amplamente utilizada por adversários para dificultar a análise e detecção de comandos maliciosos executados via interpreters como PowerShell, cmd.exe, bash e outros. Técnicas incluem: codificação Base64 de scripts PowerShell (`-EncodedCommand`), concatenação de strings para dividir palavras-chave monitoradas, uso de variáveis de ambiente para substituição de caracteres, charcode obfuscation e uso de aliases. A técnica é mapeada como [[T1027.010-obfuscated-files-or-information-command-obfuscation|T1027.010]] e [[t1140-deobfuscate-decode|T1140]] no MITRE ATT&CK. Ferramentas como [[s0154-cobalt-strike|Cobalt Strike]] e frameworks de post-exploitation utilizam ofuscação de comandos por padrão para evitar detecção baseada em assinaturas de strings. PowerShell Script Block Logging (Event ID 4104) é crítico para detecar ofuscação em PowerShell, pois registra o comando após a deobfuscação interna do interpretador — revelando o código malicioso real independente da camada de ofuscação. A análise de entropia e uso de heurísticas de ofuscação em comandos de linha são complementares. A detecção eficaz de ofuscação de comandos requer análise heurística da linha de comando: alta proporção de caracteres especiais, sequências de codificação Base64 (alto valor de entropia), uso excessivo de concatenação de strings, e comprimento anômalo de linha de comando são indicadores de ofuscação. Soluções SIEM com capacidade de decodificação automática de Base64 e análise de entropia são particularmente eficazes. ## Indicadores de Detecção - PowerShell invocado com parâmetro `-EncodedCommand` ou `-enc` seguido de string Base64 de comprimento elevado - Linha de comando com alta concentração de caracteres especiais (`^`, `` ` ``, `%`, `'`) indicando obfuscação de cmd/PowerShell - Script Block Logging (Event ID 4104) mostrando código PowerShell deobfuscado contendo downloads ou execuções remotas - Uso de `[char]` casting ou `join` com array de inteiros para construir strings de comandos sensíveis em PowerShell - Variáveis de ambiente usadas para quebrar palavras-chave monitoradas (`%com%spec%` → `cmd.exe`) - Comprimento de argumento de linha de comando excedendo 1000 caracteres para interpretadores de script - Download de URL codificada em Base64 ou hex dentro de payload de PowerShell/cmd ofuscado ## Técnicas Relacionadas - [[T1027.010-obfuscated-files-or-information-command-obfuscation|T1027.010 — Command Obfuscation]] - [[t1027-obfuscated-files-or-information|T1027 — Obfuscated Files or Information]] - [[t1059-001-powershell|T1059.001 — PowerShell]] - [[T1059.003-windows-command-shell|T1059.003 — Windows Command Shell]] - [[t1140-deobfuscate-decode|T1140 — Deobfuscaté/Decode Files or Information]] ## Analytics Relacionadas - [[an1394-analytic-1394|AN1394 — Analytic 1394]] - [[an1395-analytic-1395|AN1395 — Analytic 1395]] - [[an1396-analytic-1396|AN1396 — Analytic 1396]] --- *Fonte: [MITRE ATT&CK — DET0505](https://attack.mitre.org/detectionstrategies/DET0505)*