# Donut
> Tipo: **tool** · S0695 · [MITRE ATT&CK](https://attack.mitre.org/software/S0695)
## Descrição
[[s0695-donut|Donut]] é um framework open-source para geração de shellcode independente de posição (position-independent code/PIC), desenvolvido como ferramenta de pesquisa de segurança ofensiva. A ferramenta converte executáveis .NET, scripts VBScript/JScript, e DLLs em shellcode que pode ser injetado diretamente na memória de um processo alvo, sem criar arquivos em disco. Isso permite a execução de práticamente qualquer payload .NET ou script Windows completamente em memória (fileless execution), contornando soluções AV baseadas em arquivo.
Em contextos maliciosos, o Donut é usado como componente de carregamento e injeção de payloads em campanhas sofisticadas. O [[g0119-indrik-spider|Indrik Spider]] (Evil Corp) utiliza Donut para converter seus implants em shellcode injetável, evitando detecção por soluções de endpoint baseadas em assinaturas de arquivo. A combinação de Donut com técnicas de [[t1620-reflective-code-loading|reflective code loading]] e process injection produz uma cadeia de execução completamente em memória que é significativamente mais difícil de detectar e analisar do que executáveis em disco.
**Plataformas:** Windows
## Técnicas Utilizadas
- [[t1070-indicator-removal|T1070 - Indicator Removal]]
- [[t1059-006-python|T1059.006 - Python]]
- [[t1055-process-injection|T1055 - Process Injection]]
- [[t1059-command-and-scripting-interpreter|T1059 - Command and Scripting Interpreter]]
- [[t1059-005-visual-basic|T1059.005 - Visual Basic]]
- [[t1027-013-encryptedencoded-file|T1027.013 - Encrypted/Encoded File]]
- [[t1057-process-discovery|T1057 - Process Discovery]]
- [[t1027-002-software-packing|T1027.002 - Software Packing]]
- [[t1071-001-web-protocols|T1071.001 - Web Protocols]]
- [[t1059-007-javascript|T1059.007 - JavaScript]]
- [[t1106-native-api|T1106 - Native API]]
- [[t1620-reflective-code-loading|T1620 - Reflective Code Loading]]
- [[t1027-015-compression|T1027.015 - Compression]]
- [[t1059-001-powershell|T1059.001 - PowerShell]]
- [[t1105-ingress-tool-transfer|T1105 - Ingress Tool Transfer]]
## Grupos que Usam
- [[g0119-indrik-spider|Indrik Spider]]
## Relevância LATAM/Brasil
O [[g0119-indrik-spider|Indrik Spider]] (Evil Corp) e seus afiliados, que operam ransomware como WastedLocker e Hades, têm histórico de alvos em setores de manufatura, serviços financeiros e tecnologia - todos presentes no Brasil. O uso de Donut para execução fileless torna a detecção por soluções de segurança básicas (antivírus tradicional) práticamente impossível, representando um risco elevado para organizações brasileiras que ainda dependem exclusivamente de AV baseado em assinaturas. Em campanhas de ransomware documentadas no Brasil em 2024, a técnica de process injection via shellcode gerado por frameworks similares ao Donut foi identificada em análises forenses pós-incidente.
## Detecção
**Fontes de dados recomendadas:**
- **ETW (Event Tracing for Windows) - AMSI:** O Anti-Malware Scan Interface captura shellcode antes da execução na maioria dos casos; Donut shellcode contém padrões detectáveis pelo AMSI em .NET CLR
- **Sysmon Event ID 8 (CreateRemoteThread):** Injeção de shellcode Donut em processos alvo via CreateRemoteThread ou VirtualAllocEx/WriteProcessMemory/CreateRemoteThread
- **Memory Scanning (EDR):** Varredura de memória de processos identifica shellcode Donut pelo cabeçalho PIC característico e padrões de assembly
- **Sysmon Event ID 7 (ImageLoad):** Carregamento inesperado de CLR (`clr.dll`, `mscorwks.dll`) em processos que não deveriam usar .NET
**Regras de detecção:**
- YARA: `win_shellcode_donut` - assinaturas do shellcode gerado pelo Donut em memória ou arquivo (Neo23x0/signature-base)
- Sigma: `proc_access_win_donut_shellcode_injection.yml` - padrões de injeção de shellcode Donut via process access (SigmaHQ)
- Elastic: `shellcode_injection_via_donut_loader` - detecção comportamental de carregamento de shellcode Donut
## Referências Adicionais
- [MITRE ATT&CK - S0695](https://attack.mitre.org/software/S0695)
- [GitHub - TheWover/donut](https://github.com/TheWover/donut) - repositório oficial
- [NCC Group - Donut in Evil Corp Operations](https://research.nccgroup.com/2020/06/23/wastedlocker-a-new-ransomware-variant-developed-by-the-evil-corp-group/) - 2020-06-23