# BeaconLoader
> Tipo: **loader DLL** - [Positive Technologies](https://global.ptsecurity.com/en/research/pt-esc-threat-intelligence/new-apt-group-chamelgang/)
> [!info] Loader DLL do ChamelGang - DLL Hijacking para Cobalt Strike em Infraestrutura Critica
> O BeaconLoader e uma biblioteca DLL maliciosa desenvolvida pelo grupo [[chamelgang|ChamelGang]] para carregar beacons [[s0154-cobalt-strike|Cobalt Strike]] em sistemas comprometidos via DLL hijacking de servicos Windows legitimos (MSDTC e IKEEXT). Identificado pela Positive Technologies em 2021, o BeaconLoader usa AES-CBC para descriptografar o payload e transfere controle diretamente para o beacon Cobalt Strike - HTTPS para hosts com acesso direto a internet e SMB para segmentos de rede isolados.
## Visão Geral
O [[beaconloader|BeaconLoader]] e um loader proprietario desenvolvido pelo grupo [[chamelgang|ChamelGang]] (Camaleao), ator de ameaça possívelmente alinhado com a China, identificado pela Positive Technologies em 2021. O grupo foi nomeado por sua caracteristica de disfarcar infraestrutura maliciosa como servicos legitimos de Microsoft, TrendMicro, McAfee, IBM e Google.
O BeaconLoader opera exclusivamente como loader de [[s0154-cobalt-strike|Cobalt Strike]] beacons via DLL hijacking. O mecanismo e simples mas eficaz: o loader e carregado na forma de uma DLL com nome de arquivo que substitui DLLs legitimas que o Windows tenta carregar durante a inicializacao de servicos do sistema (MSDTC e IKEEXT). Na investigação da Positive Technologies, o BeaconLoader se apresentou como `oci.dll` (carregada pelo servico MSDTC) e como `wlbsctrl.dll` (carregada pelo servico IKEEXT).
O processo de carga e o seguinte: o BeaconLoader recebe um arquivo de dados encriptado (tipicamente com extensao `.dat`, como `dlang.dat` ou `MpCmdRun.log.1`), le a hash MD5 do arquivo para derivar a chave AES, descriptografa o payload com AES-CBC (chave de 16 bytes, IV zero), e transfere execução para o código descriptografado em uma nova thread. O resultado e um beacon [[s0154-cobalt-strike|Cobalt Strike]] carregado em memoria - HTTPS para hosts com acesso direto a internet ou SMB para hosts em segmentos isolados.
O BeaconLoader também verifica o nome do processo pai e o nivel de privilegio (requer SYSTEM com processo pai msdtc.exe, msdtc.exe.mui ou vmtoolsd.exe) antes de ativar - mecanismo anti-sandbox que impede ativacao em ambientes de análise.
**Plataformas:** Windows
## Como Funciona
O BeaconLoader opera como segundo estagio via DLL hijacking de servicos Windows:
1. **Acesso Inicial**: [[chamelgang|ChamelGang]] explora vulnerabilidades em aplicações públicas (JBoss, Exchange) ou realiza supply chain attack via subsidiaria comprometida
2. **Upload da DLL**: o atacante faz upload da DLL BeaconLoader (ex: `oci.dll`) e do payload encriptado (ex: `dlang.dat`) para o diretorio de trabalho do servico
3. **DLL Hijacking**: reinicia o servico MSDTC ou IKEEXT via `sc stop` e `sc start` - o servico tenta carregar a DLL legitima e carrega o BeaconLoader no lugar
4. **Verificação anti-sandbox**: BeaconLoader verifica nome do processo pai e privilegios SYSTEM
5. **Descriptografia AES**: le MD5 do arquivo `.dat` como chave, descriptografa payload com AES-CBC, IV zero
6. **Cobalt Strike em memoria**: payload descriptografado e executado em nova thread - beacon HTTPS ou SMB
```mermaid
graph TB
A["Acesso Inicial<br/>JBoss Exchange exploit<br/>Supply chain via subsidiaria"] --> B["Upload DLL + Payload<br/>oci.dll / wlbsctrl.dll<br/>dlang.dat encriptado"]
B --> C["DLL Hijacking<br/>sc stop / sc start MSDTC<br/>T1574.002 + T1543.003"]
C --> D["Verificação Anti-Sandbox<br/>Processo pai + SYSTEM privs<br/>msdtc.exe / vmtoolsd.exe"]
D --> E["Descriptografia AES-CBC<br/>MD5(dat) como chave<br/>T1140 - Deobfuscaté"]
E --> F["Cobalt Strike HTTPS<br/>Hosts com acesso internet<br/>Controle manual atacante"]
E --> G["Cobalt Strike SMB<br/>Segmentos de rede isolados<br/>Lateral movement interno"]
classDef access fill:#e74c3c,color:#fff
classDef upload fill:#e67e22,color:#fff
classDef hijack fill:#8e44ad,color:#fff
classDef check fill:#2980b9,color:#fff
classDef decrypt fill:#27ae60,color:#fff
classDef cs fill:#2c3e50,color:#fff
class A access
class B upload
class C hijack
class D check
class E decrypt
class F,G cs
```
## Timeline
```mermaid
timeline
title BeaconLoader / ChamelGang - Historico
2021 : ChamelGang identificado pela Positive Technologies
: BeaconLoader documentado pela primeira vez
: Ataques contra energia e aviacao Russia e India
2022 : Campanhas ampliadas - governo e infraestrutura
: BeaconLoader usado em multiplos incidentes
2024 : KPMG publica relatorio sobre ChamelGang
: BeaconLoader confirmado como ferramenta central
: CatB ransomware adicionado ao arsenal do grupo
2025 : Grupo continua ativo em infraestrutura critica
```
## Técnicas Utilizadas
| Tática | ID | Técnica |
|--------|-----|---------|
| Initial Access | [[t1195-002-compromise-software-supply-chain\|T1195.002]] | Supply chain via subsidiaria comprometida |
| Defense Evasion | [[t1574-002-dll-side-loading\|T1574.002]] | DLL Hijacking via servicos MSDTC/IKEEXT |
| Defense Evasion | [[t1027-obfuscated-files-or-information\|T1027]] | Payload AES-CBC encriptado em arquivo .dat |
| Defense Evasion | [[t1140-deobfuscate-decode-files-or-information\|T1140]] | Descriptografia em memoria antes da execução |
| Persistence | [[t1543-003-windows-service\|T1543.003]] | Persistência via reinicio de servico Windows |
| Execution | [[t1055-process-injection\|T1055]] | Cobalt Strike injetado em processo via nova thread |
| C2 | [[t1071-002-file-transfer-protocols\|T1071.002]] | Beacon Cobalt Strike via HTTPS |
| C2 | [[t1090-003-multi-hop-proxy\|T1090.003]] | SMB Beacon para segmentos de rede isolados |
## Relevância LATAM/Brasil
O BeaconLoader tem relevância para o Brasil no contexto de ataques a infraestrutura critica por grupos com possiveis ligacoes ao estado chines. O [[chamelgang|ChamelGang]] tem como alvo prioritario setores de energia, aviacao e governo - setores onde o Brasil tem organizacoes com exposicao a ataques APT. O uso de DLL hijacking via servicos do sistema Windows e uma técnica transferivel que outros grupos APT também exploram contra alvos brasileiros.
Para equipes de segurança de [[critical-infrastructure|infraestrutura critica]] no Brasil (energia, petroleo, aviacao, governo), o padrao do BeaconLoader - DLL maliciosa em diretorio de servico do sistema + arquivo de payload encriptado - deve ser incluido nos playbooks de hunt.
**Setores historicamente impactados:** [[critical-infrastructure|infraestrutura critica]] - energia - aviacao - [[government|governo]]
## Detecção
- Monitorar criação de DLLs em `C:\Windows\System32` por processos nao-system (especialmente `oci.dll`, `wlbsctrl.dll`, `SQLLib80.dll`)
- Alertar para reinicio manual de servicos MSDTC e IKEEXT via `sc stop` / `sc start`
- Detectar acesso a arquivos `.dat` ou `.log` com extensao incomum no diretorio TEMP por processos de servico
- YARA para o padrao de descriptografia AES-CBC com derivacao de chave via MD5 do arquivo
```sigma
title: BeaconLoader MSDTC Service Restart for DLL Hijack
status: stable
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\sc.exe'
CommandLine|contains|all:
- 'msdtc'
stop_start:
CommandLine|contains:
- 'stop'
- 'start'
condition: selection
level: high
tags:
- attack.defense-evasion
- attack.t1574.002
```
## Referências
- [1](https://global.ptsecurity.com/en/research/pt-esc-threat-intelligence/new-apt-group-chamelgang/) Positive Technologies - New APT Group ChamelGang (2021)
- [2](https://assets.kpmg.com/content/dam/kpmg/in/pdf/2024/07/kpmg-ctip-chamel-gang-16-jul-2024.pdf) KPMG - ChamelGang CTI Advisory (2024)
- [3](https://attack.mitre.org/groups/G0114/) MITRE ATT&CK - ChamelGang Group Reference (2024)
- [4](https://malpedia.caad.fkie.fraunhofer.de/details/win.beaconloader) Malpedia - BeaconLoader Family Details (2024)
- [5](https://therecord.media/chamelgang-apt-critical-infrastructure) The Record - ChamelGang Critical Infrastructure Attacks (2024)