# DET0467 — Detection Strategy for TLS Callback Injection via PE Memory Modification and Hollowing
## Descrição
Callbacks TLS (Thread Local Storage) são funções registradas na estrutura de um arquivo PE (Portable Executable) que são executadas automaticamente antes do ponto de entrada principal (`main`/`WinMain`) e antes do carregamento de qualquer depurador. Adversários abusam desse mecanismo inserindo callbacks maliciosos na estrutura TLS de um PE legítimo em memória — uma técnica que combina Process Hollowing (substituição do código de um processo legítimo) com a capacidade de execução pré-main do TLS para executar código de difícil detecção.
Essa técnica é particularmente eficaz contra análise estática de malware e contra ferramentas de detecção que monitoram apenas o ponto de entrada convencional de processos. O callback TLS executa antes que ferramentas de monitoramento possam se injetar no processo e antes que qualquer verificação de integridade convencional ocorra. É uma técnica avançada utilizada por malware sofisticado e frameworks de ofensiva como Cobalt Strike para implementar evasão de análise.
A detecção requer análise de estruturas PE em memória: identificar discrepâncias entre o PE em disco e o PE mapeado em memória (indicando hollowing), presença de callbacks TLS em processos que normalmente não os utilizam, e uso de APIs específicas (`WriteProcessMemory`, `VirtualAllocEx`) associadas à modificação de estruturas PE em memória de outros processos.
## Indicadores de Detecção
- Processo com diretório TLS presente em memória mas ausente no PE em disco (discrepância indica injeção)
- Uso de `WriteProcessMemory` para modificar estrutura de cabeçalho PE em memória de outro processo
- Processo hollowing: `ZwUnmapViewOfSection` seguido de `VirtualAllocEx` e `WriteProcessMemory` na mesma sequência
- Callback TLS apontando para endereço fora do range de módulos legítimos carregados no processo
- Processo executando código antes de `AddressOfEntryPoint` sem presença de TLS legítimo no binário original
- Sysmon evento 8 (CreateRemoteThread) em processo legítimo originado de processo suspeito
## Técnicas Relacionadas
- [[T1055012-process-hollowing|T1055.012 — Process Hollowing]]
- [[t1055-process-injection|T1055 — Process Injection]]
- [[t1106-native-api|T1106 — Native API]]
- [[t1027-obfuscated-files-or-information|T1027 — Obfuscated Files or Information]]
- [[T1036005-match-legitimate-name-or-location|T1036.005 — Match Legitimaté Name or Location]]
- [[t1562-001-disable-or-modify-tools|T1562.001 — Disable or Modify Tools]]
## Analytics Relacionadas
- [[an1289-analytic-1289|AN1289 — Analytic 1289]]
---
*Fonte: [MITRE ATT&CK — DET0467](https://attack.mitre.org/detectionstrategies/DET0467)*