# T1574.002 - DLL Side-Loading
## Descrição
**T1574.002 - DLL Side-Loading** é uma subtécnica de [[t1574-hijack-execution-flow|T1574 - Hijack Execution Flow]] na qual adversários posicionam uma DLL maliciosa com o mesmo nome de uma DLL legítima esperada por um executável confiável, fazendo com que o processo carregue e execute código malicioso sob a identidade e reputação do binário legítimo.
A técnica explora a **ordem de busca de DLLs do Windows** (DLL Search Order): quando um executável é iniciado, o sistema operacional procura as DLLs necessárias em uma sequência de diretórios - começando pelo diretório do próprio executável antes de verificar diretórios do sistema como `C:\Windows\System32`. Adversários aproveitam essa precedência colocando uma DLL maliciosa no mesmo diretório que um executável legítimo e assinado digitalmente.
A eficácia da técnica reside na confiança que ferramentas de segurança depositam em processos assinados digitalmente por fornecedores reconhecidos. Um EDR que monitoriza `svchost.exe` com suspeita, mas confia implicitamente em `OneDrive.exe` ou `VLC.exe`, pode ignorar comportamentos maliciosos quando estes ocorrem dentro do espaço de processo de uma aplicação legítima. Além de [[_defense-evasion|Defense Evasion]], a técnica serve como vetor de [[persistence|Persistence]], pois o DLL malicioso é carregado cada vez que o executável legítimo é iniciado - incluindo na inicialização do sistema se o aplicativo estiver configurado para autostart.
[[g1017-volt-typhoon|Volt Typhoon]], ator de ameaça vinculado ao governo chinês com foco em infraestrutura crítica ocidental, utiliza DLL side-loading como pilar central de sua abordagem "living off the land" (LotL). [[g1045-salt-typhoon|Salt Typhoon]], grupo relacionado especializado em espionagem de redes de telecomúnicações, emprega a técnica para manter backdoors persistentes e discretos em ambientes de alta segurança sem acionar alarmes de EDR.
> **Técnica pai:** [[t1574-hijack-execution-flow|T1574 - Hijack Execution Flow]]
> **Táticas:** [[_defense-evasion|Defense Evasion]], [[persistence|Persistence]]
---
## Como Funciona
### 1. Identificação do Binário Vulnerável
O adversário identifica um executável legítimo e assinado que:
- Carrega DLLs pelo nome sem caminho absoluto (sem `LoadLibraryEx` com flag `LOAD_WITH_ALTERED_SEARCH_PATH`)
- Possui permissão de escrita no diretório onde reside (ou pode ser copiado para um diretório controlado pelo atacante)
- É preferencialmente executado com privilégios elevados ou na inicialização do sistema
Ferramentas como **Procmon** (Process Monitor) da Sysinternals são frequentemente usadas durante o reconhecimento para identificar chamadas `LoadLibrary` que resultam em `NAME NOT FOUND` - indicando que o executável tenta carregar uma DLL que não está presente.
### 2. Criação da DLL Maliciosa
O adversário cria uma DLL que exporta todas as funções esperadas pelo executável legítimo (para não causar erros visíveis) além de executar código malicioso. Técnicas de **DLL proxying** garantem que as funções legítimas continuem funcionando normalmente - o processo hospedeiro funciona sem erros enquanto o payload malicioso executa em segundo plano.
### 3. Posicionamento e Execução
A DLL maliciosa é colocada no diretório do executável legítimo. Quando o executável é iniciado (manualmente, por agendador de tarefas, na inicialização do sistema ou por outro processo), o sistema carrega automaticamente a DLL maliciosa antes mesmo de verificar os diretórios do sistema.
### 4. Execução Sob Identidade Legítima
O código malicioso executa dentro do processo do aplicativo legítimo, herdando:
- O token de segurança do processo
- A reputação do binário assinado perante ferramentas de segurança
- Acesso aos recursos e permissões do aplicativo
---
## Attack Flow
```mermaid
graph TB
A([Acesso Inicial<br/>ao Sistema]) --> B[Reconhecimento de<br/>Binários Vulneráveis]
B --> C{Identificar EXE Legítimo\nque Carrega DLL por Nome}
C --> D[Análise com Procmon<br/>ou Ferramentas Similares]
D --> E[Encontrar Chamadas LoadLibrary<br/>com NAME NOT FOUND]
E --> F[Criar DLL Maliciosa<br/>com Mesmo Nome]
F --> G[Implementar DLL Proxying<br/>para Manter Funcionalidade]
G --> H[Posicionar DLL no<br/>Diretório do EXE]
H --> I{Como o EXE é\nIniciado?}
I -->|Manual / Usuário| J[Execução Imediata<br/>do Payload]
I -->|Autostart / Registro| K[Persistência na<br/>Inicialização do Sistema]
I -->|Agendador de Tarefas| L[Execução Periódica<br/>Automática]
J --> M[Código Malicioso Executa<br/>Sob Identidade do EXE Legítimo]
K --> M
L --> M
M --> N[Comúnicação C2<br/>Disfarçada]
M --> O[Movimentação<br/>Lateral]
M --> P[Roubo de<br/>Credenciais]
N --> Q([Comprometimento<br/>Persistente e Furtivo])
O --> Q
P --> Q
style A fill:#2d3748,color:#fff
style Q fill:#9b2335,color:#fff
style M fill:#9b2335,color:#fff
style H fill:#744210,color:#fff
style C fill:#2b6cb0,color:#fff
style I fill:#2b6cb0,color:#fff
```
---
## Exemplos de Uso
### Volt Typhoon - Infraestrutura Crítica
[[g1017-volt-typhoon|Volt Typhoon]] (também rastreado como Bronze Silhouette e Dev-0391) é um ator de ameaça patrocinado pelo Estado chinês com foco em infraestrutura crítica dos EUA e aliados - energia, água, transporte e telecomúnicações. O grupo usa DLL side-loading como técnica central de sua métodologia "living off the land", frequentemente abusando de utilitários legítimos como `netsh.exe`, `wmic.exe` e ferramentas de gerenciamento de rede para carregar DLLs maliciosas. Em 2023, o FBI e CISA emitiram aviso conjunto sobre o grupo, destacando o uso extensivo desta técnica para manter acesso persistente sem acionar EDRs.
### Salt Typhoon - Espionagem em Telecomúnicações
[[g1045-salt-typhoon|Salt Typhoon]] (GhostEmperor, FamousSparrow) comprometeu operadoras de telecomúnicações em múltiplos países, incluindo provedores que operam na América Latina. O grupo utiliza DLL side-loading com aplicações de gerenciamento de rede e segurança comumente presentes em ambientes de telecom - onde remover ou questionar ferramentas legítimas de gerenciamento é operacionalmente custoso para os defensores.
### APT41 - Dupla Missão: Espionagem e Crime
[[g0096-apt41|APT41]] (Winnti, Barium) é prolífico no uso de DLL side-loading, frequentemente abusando de aplicações de segurança e antivírus de fornecedores legítimos como vetor de carregamento. Ferramentas de segurança têm alto nível de confiança implícita no sistema, tornando-as alvos ideais. O grupo tem sido documentado usando produtos de antivírus da Kaspersky, ESET e outros como hosts para DLLs maliciosas.
### PlugX / THOR - RAT Amplamente Distribuído
O RAT [[s0013-plugx|PlugX]] e sua variante [[thor|THOR]] são virtualmente sinônimos de DLL side-loading - práticamente todas as variantes conhecidas utilizam a técnica. O padrão típico envolve três arquivos: um executável legítimo assinado, uma DLL side-loaded que descriptografa e carrega o payload, e um arquivo `.dat` ou `.bin` contendo o shellcode criptografado. Variantes do PlugX têm sido identificadas em campanhas contra governos e empresas no Brasil e LATAM.
### LOLBAS - Living Off The Land Binaries
Binários legítimos do próprio Windows frequentemente são alvos de side-loading. Exemplos documentados incluem:
- `C:\Program Files\Microsoft OneDrive\` - versões antigas carregavam DLLs vulneráveis
- Aplicações da Adobe e produtos Microsoft Office
- Ferramentas de gerenciamento remoto como TeamViewer e AnyDesk
---
## Detecção
```yaml
# Sigma Rule - T1574.002 DLL Side-Loading
# Detecta DLLs carregadas de diretórios incomuns por processos assinados
title: DLL Side-Loading from Suspicious Directory
id: b7e4a2c1-8d3f-4b9e-a1c2-3e5f7d8b9c0d
status: experimental
description: >
Detecta o carregamento de DLLs por processos assinados de diretórios
não-padrão (fora de System32, SysWOW64, Program Files), especialmente
quando a DLL tem o mesmo nome de uma DLL legítima do sistema.
references:
- https://attack.mitre.org/techniques/T1574/002/
- https://github.com/wietze/HijackLibs
author: RunkIntel
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.persistence
- attack.t1574.002
logsource:
product: windows
category: image_load
detection:
selection_signed_process:
Signed: 'true'
SignatureStatus: 'Valid'
selection_suspicious_dll_path:
ImageLoaded|contains:
- '\Users\'
- '\AppData\Local\Temp\'
- '\Downloads\'
- '\Desktop\'
- '\ProgramData\'
filter_known_good:
ImageLoaded|contains:
- '\Windows\System32\'
- '\Windows\SysWOW64\'
- '\Program Files\'
- '\Program Files (x86)\'
condition: >
selection_signed_process and selection_suspicious_dll_path
and not filter_known_good
falsepositives:
- Instaladores portáteis legítimos
- Aplicações desenvolvidas internamente sem boas práticas de instalação
- Alguns jogos e softwares de entretenimento
level: high
---
# Sigma Rule - Detecção por Anomalia de Diretório de DLL
title: Known DLL Loaded from Non-Standard Path
id: c8f5b3d2-9e4a-5c0f-b2d3-4f6a8e9c1d2e
status: experimental
description: >
Detecta DLLs de sistema conhecidas carregadas de diretórios que não
são os caminhos oficiais - forte indicador de side-loading.
tags:
- attack.defense_evasion
- attack.t1574.002
logsource:
product: windows
category: image_load
detection:
selection_known_dlls:
ImageLoaded|endswith:
- '\version.dll'
- '\dbghelp.dll'
- '\winhttp.dll'
- '\cryptsp.dll'
- '\msasn1.dll'
- '\profapi.dll'
filter_system_paths:
ImageLoaded|startswith:
- 'C:\Windows\System32\'
- 'C:\Windows\SysWOW64\'
condition: selection_known_dlls and not filter_system_paths
falsepositives:
- Pacotes de redistribuição Visual C++ em subdiretórios de aplicação
level: critical
```
### Estrategias de Detecção Complementares
| Abordagem | Ferramenta | Método |
|-----------|-----------|--------|
| Process Monitoring | Sysmon (Event ID 7) | Registrar todos os carregamentos de DLL com hash e caminho |
| Path Anomaly Detection | EDR + SIEM | Alertar quando DLLs de sistema são carregadas fora de System32 |
| Hash Comparison | VirusTotal / NSRL | Comparar hash de DLL com a DLL legítima conhecida |
| Behavioral Analytics | UEBA | Detectar processos assinados com comportamento de rede anômalo |
| HijackLibs Database | [HijackLibs.net](https://hijacklibs.net) | Verificar executáveis conhecidamente vulneráveis a side-loading |
---
## Mitigação
| ID | Mitigação | Descrição | Eficácia |
|----|-----------|-----------|----------|
| [[m1051-update-software\|M1051]] | Updaté Software | Manter aplicações atualizadas - vendors corrigem vulnerabilidades de DLL loading | Alta |
| [[m1038-execution-prevention\|M1038]] | Execution Prevention | Usar AppLocker ou WDAC para restringir carregamento de DLLs não assinadas | Alta |
| [[m1022-restrict-file-and-directory-permissions\|M1022]] | Restrict File and Directory Permissions | Restringir permissões de escrita nos diretórios de instalação de aplicações legítimas | Alta |
| [[m1044-restrict-library-loading\|M1044]] | Restrict Library Loading | Configurar `SafeDllSearchMode` habilitado no registro do Windows | Média |
| [[m1040-behavior-prevention-on-endpoint\|M1040]] | Behavior Prevention on Endpoint | Soluções EDR com análise comportamental que detectam carregamento anômalo | Alta |
| - | Auditoria Regular | Usar ferramentas como Procmon e HijackLibs para auditar aplicações instaladas | Média |
### Hardening do Windows - DLL Safe Search
O Windows pode ser configurado para usar SafeDllSearchMode via registro:
```
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
SafeDllSearchMode = 1
```
Quando habilitado, diretórios do sistema têm precedência sobre o diretório atual na busca de DLLs.
---
## Contexto Brasil/LATAM
DLL side-loading tem sido identificado em campanhas direcionadas ao Brasil e LATAM com crescente frequência, especialmente em ataques contra setores de [[financial|financeiro]], [[government|governo]] e [[telecommunications|telecomúnicações]].
### Grupos Chineses e Infraestrutura LATAM
[[g1017-volt-typhoon|Volt Typhoon]] e [[g1045-salt-typhoon|Salt Typhoon]] têm interesse documentado em infraestrutura de telecomúnicações que inclui cabos submarinos e provedores de internet que aténdem a América Latina. Operadoras brasileiras de grande porte foram identificadas como possíveis alvos em relatórios da [[sources|Mandiant]] e [[_crowdstrike|CrowdStrike]].
### PlugX em Campanhas LATAM
Variantes do [[s0013-plugx|PlugX]], que usa side-loading como técnica primária, foram identificadas em campanhas contra entidades governamentais em países como México, Peru e Brasil. O grupo APT41 e afiliados têm interesse crescente na região, motivados tanto por espionagem quanto por acesso a redes financeiras.
### Malware Bancário Brasileiro
Embora menos sofisticados que APTs patrocinados por Estados, grupos criminosos brasileiros desenvolveram variantes de trojans bancários que usam side-loading para evasão de antivírus. A combinação com técnicas de [[t1027-obfuscated-files|ofuscação]] e [[t1036-masquerading|mascaramento]] torna estas amostras difíceis de detectar em soluções antivírus tradicionais amplamente usadas no mercado corporativo brasileiro.
### Recomendações para SOC LATAM
Equipes de segurança no Brasil devem priorizar:
1. Implementação de Sysmon com política de log de Event ID 7 (carregamento de imagens)
2. Consulta periódica ao banco de dados [HijackLibs.net](https://hijacklibs.net) para identificar aplicações vulneráveis no inventário
3. Monitoramento de [[sources|CERT.br]] para alertas sobre campanhas que usam esta técnica na região
---
## Referências
- [MITRE ATT&CK - T1574.002](https://attack.mitre.org/techniques/T1574/002/)
- [CISA Advisory - Volt Typhoon (AA23-144A)](https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-144a)
- [HijackLibs - DLL Hijacking Candidates Database](https://hijacklibs.net/)
- [Microsoft - Dynamic-Link Library Search Order](https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order)
- [Mandiant - APT41 Double Dragon](https://www.mandiant.com/resources/apt41-double-dragon)
- [[t1574-hijack-execution-flow|T1574 - Hijack Execution Flow]] (técnica pai)
- [[t1548-002-bypass-uac|T1548.002 - Bypass User Account Control]]
- [[t1027-obfuscated-files|T1027 - Obfuscated Files or Information]]
- [[t1036-masquerading|T1036 - Masquerading]]
- [[t1055-process-injection|T1055 - Process Injection]]