# DC0016 — Module Load ## Descrição O **Module Load** é o componente de dados que registra quando um processo ou aplicação carrega dinâmicamente uma biblioteca compartilhada, módulo ou plugin em seu espaço de memória. Esse evento ocorre com frequência em sistemas operacionais modernos através de mecanismos como `LoadLibrary` no Windows, `dlopen` no Linux/macOS, e equivalentes em outros ambientes. O monitoramento desses eventos é fundamental para identificar comportamentos suspeitos, especialmente quando módulos são carregados de caminhos incomuns ou sem assinatura digital válida. Adversários exploram o carregamento de módulos para executar código malicioso no contexto de processos legítimos — uma técnica central no [[t1574-hijack-execution-flow|T1574-hijack-execution-flow]] (DLL Hijacking, DLL Side-Loading) e no [[t1055-process-injection|T1055-process-injection]] (Process Hollowing, Reflective DLL Injection). Ao interceptar o caminho de busca de módulos ou injetar DLLs diretamente na memória de um processo, um atacante pode contornar controles de execução e operar com as permissões do processo alvo. A telemetria de Module Load é especialmente valiosa porque captura não apenas o nome do módulo, mas também o caminho completo, o hash do arquivo, a assinatura digital (se presente) e o processo pai que realizou o carregamento. Isso permite correlacionar eventos suspeitos — como `svchost.exe` carregando uma DLL de `C:\Users\Public\` — com outros indicadores de comprometimento no ambiente. No contexto de operações de red team e ataques reais, o carregamento de módulos refletidos (Reflective DLL Injection) não gera eventos de carregamento de arquivo em disco, tornando o monitoramento em nível de processo (Sysmon Event ID 7) ainda mais relevante. Ferramentas como [[s0154-cobalt-strike]] e [[metasploit]] utilizam extensivamente essa técnica para manter persistência e executar payloads sem deixar artefatos em disco. ## Telemetria | Plataforma | Event ID | Descrição | Log Source | |---|---|---|---| | Windows | Sysmon 7 | ImageLoad — DLL carregada por processo | Sysmon | | Windows | 4688 + stack | Correlação com criação de processo | Security.evtx | | Linux | syscall `open`/`mmap` | Abertura e mapeamento de biblioteca compartilhada | Auditd | | Linux | `execve` + `ld.so` | Carregamento dinâmico via linker | Auditd / strace | | macOS | `ES_EVENT_TYPE_NOTIFY_MMAP` | Endpoint Security Framework — mapeamento de módulo | ESF / Unified Logs | | macOS | `kextload` | Carregamento de extensão de kernel | Unified Logs | ## Queries de Detecção ### KQL — Azure Sentinel / Microsoft Defender ```kql // Módulos carregados de caminhos suspeitos (fora de System32/Program Files) DeviceImageLoadEvents | where not(FolderPath has_any ("\\Windows\\System32", "\\Program Files", "\\Program Files (x86)")) | where not(InitiatingProcessFolderPath has_any ("\\Windows\\System32", "\\Program Files")) | where ActionType == "ImageLoaded" | project Timestamp, DeviceName, FileName, FolderPath, SHA256, InitiatingProcessFileName, InitiatingProcessCommandLine | order by Timestamp desc ``` ### SPL — Splunk (com Sysmon) ```spl index=sysmon EventCode=7 | where NOT (ImageLoaded LIKE "%\\Windows\\System32\\%" OR ImageLoaded LIKE "%\\Program Files\\%" OR ImageLoaded LIKE "%\\Program Files (x86)\\%") | eval suspicious=if(match(ImageLoaded, "(?i)(\\\\temp\\\\|\\\\users\\\\public\\\\|\\\\appdata\\\\local\\\\temp)"), "high", "medium") | stats count by Computer, Image, ImageLoaded, Signed, SignatureStatus, suspicious | sort - count ``` ## Técnicas Relacionadas | Técnica | Nome | Relevância | |---|---|---| | [[t1574-hijack-execution-flow\|T1574-hijack-execution-flow]] | Hijack Execution Flow | DLL Hijacking, DLL Side-Loading, DLL Search Order | | [[t1055-process-injection\|T1055-process-injection]] | Process Injection | Reflective DLL Injection, DLL injection via `LoadLibrary` | | [[t1129-shared-modules\|T1129-shared-modules]] | Shared Modules | Execução via módulos compartilhados do SO | ## Contexto LATAM > [!globe] Relevância Regional > A telemetria de Module Load é amplamente disponível em SOCs brasileiros que utilizam Sysmon ou EDRs como CrowdStrike Falcon e Microsoft Defender for Endpoint. Grupos como [[g0032-lazarus-group]] e atores de ransomware ativos no Brasil (ex.: [[lockbit]], [[blackcat]]) utilizam DLL Side-Loading como vetor de execução frequente em campanhas direcionadas ao setor financeiro e governo latino-americano. A implementação do Sysmon Event ID 7 com filtros de assinatura digital é recomendada como controle prioritário para organizações do setor financeiro brasileiro. ## Referências - [MITRE ATT&CK — DC0016 Module Load](https://attack.mitre.org/datasources/DS0011/#Module%20Load) - [Sysmon Event ID 7 — Image Loaded](https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon) - [[ds0011-module|DS0011 — Module]] - [[t1574-hijack-execution-flow|T1574-hijack-execution-flow]] - [[t1055-process-injection|T1055-process-injection]]