# DET0501 — Detection Strategy for Compile After Delivery - Source Code to Executable Transformation ## Descrição "Compile After Delivery" é uma técnica de evasão em que adversários entregam código-fonte (C, C++, C#, Go, Rust) ao sistema alvo em vez de executáveis pré-compilados, e então compilam o payload diretamente no endpoint usando compiladores disponíveis no sistema. Essa abordagem evita detecção baseada em assinaturas de arquivos PE/ELF maliciosos conhecidos, pois o código-fonte tem aparência diferente em ferramentas de análise estática. Compiladores como `csc.exe` (C# Roslyn), `msbuild.exe`, `gcc`, `go build` e `dotnet` podem ser abusados para essa finalidade. A técnica é mapeada como [[T1027.004-obfuscated-files-or-information-compile-after-delivery|T1027.004]] no MITRE ATT&CK. A detecção foca em três pontos da cadeia: entrega do código-fonte (arquivo .cs, .cpp, .go em diretório temporário), invocação do compilador por processo incomum ou em contexto suspeito (filho de browser, cliente de e-mail ou script), e execução do binário resultante imediatamente após a compilação. Grupos como [[g0032-lazarus-group|Lazarus Group]] e [[g0010-turla|Turla]] documentadamente utilizam compilação local como técnica de evasão de EDR em implants de segunda fase. O monitoramento de uso de compiladores em contextos operacionais não esperados é altamente eficaz: a maioria dos endpoints de usuários finais não executa compiladores regularmente. A correlação entre a criação de arquivo de código-fonte, invocação do compilador e execução do binário resultante em sequência fornece uma cadeia de evidências de alta fidelidade. ## Indicadores de Detecção - `csc.exe` ou `vbc.exe` executados por processo filho de aplicação de produtividade (Office, browser) ou shell remoto - `msbuild.exe` invocado com arquivo de projeto de localização incomum (diretório temporário, AppData) - `gcc`, `g++` ou `go build` executados em sistemas Windows sem ambiente de desenvolvimento instalado - Compilador dotnet/Roslyn compilando arquivo .cs recém-criado em diretório temporário - Arquivo .cs, .cpp ou .go criado em `%TEMP%` ou `%APPDATA%` seguido de compilação e execução imediata - Binário PE criado por compilador e executado pelo mesmo processo pai em menos de 60 segundos - PowerShell Add-Type compilando código C# inline seguido de execução de método malicioso ## Técnicas Relacionadas - [[T1027.004-obfuscated-files-or-information-compile-after-delivery|T1027.004 — Compile After Delivery]] - [[t1027-obfuscated-files-or-information|T1027 — Obfuscated Files or Information]] - [[t1059-001-powershell|T1059.001 — PowerShell]] - [[t1218-system-binary-proxy-execution|T1218 — System Binary Proxy Execution]] - [[t1036-masquerading|T1036 — Masquerading]] ## Analytics Relacionadas - [[an1381-analytic-1381|AN1381 — Analytic 1381]] - [[an1382-analytic-1382|AN1382 — Analytic 1382]] - [[an1383-analytic-1383|AN1383 — Analytic 1383]] --- *Fonte: [MITRE ATT&CK — DET0501](https://attack.mitre.org/detectionstrategies/DET0501)*