# T1218.001 - Compiled HTML File ## Técnica Pai > Sub-técnica de [[t1218-system-binary-proxy-execution|T1218 - System Binary Proxy Execution]] - execução de código malicioso via binários legítimos e assinados do Windows. ## Descrição Adversários abusam de arquivos **Compiled HTML** (`.chm`) para ocultar e executar código malicioso. Os arquivos CHM fazem parte do sistema de ajuda do Microsoft HTML Help e são compilações comprimidas de documentos HTML, imagens e linguagens de script como VBScript, JScript, Java e ActiveX. O conteúdo de um arquivo CHM é renderizado pelos componentes internos do Internet Explorer, carregados pelo executável `hh.exe` - o binário legítimo do Windows responsável pelo sistema de ajuda. Esse mecanismo é explorado porque: - `hh.exe` é um binário **assinado digitalmente pela Microsoft**, presente por padrão em todas as versões do Windows; - A execução de scripts dentro de um CHM ocorre no contexto do Internet Explorer, contornando algumas soluções de controle de aplicações; - Em sistemas mais antigos ou sem patches, essa técnica pode **ignorar completamente** o AppLocker e outras políticas de execução. Um arquivo CHM personalizado contendo payloads embarcados pode ser entregue à vítima via [[t1566-phishing|Phishing]] (anexo malicioso) ou [[t1204-user-execution|User Execution]] (download direto). A execução ocorre assim que o usuário abre o arquivo - sem necessidade de privilégios elevados. ## Como Funciona O fluxo de ataque segue etapas bem definidas: 1. **Criação do CHM malicioso:** o adversário utiliza ferramentas como `HTML Help Workshop` para compilar um CHM com scripts VBScript ou JScript embutidos em páginas HTML internas. 2. **Entrega:** o arquivo `.chm` é enviado por e-mail de phishing, hospedado em servidor web ou distribuído via mídias removíveis. 3. **Execução pelo usuário:** a vítima clica duas vezes no arquivo - o Windows o abre automaticamente com `hh.exe`. 4. **Ativação do payload:** o script embutido é interpretado pelo motor JScript/VBScript do Internet Explorer (via `mshta.exe` ou diretamente pelo IE engine), executando comandos como `CreateObject("WScript.Shell").Run(...)`. 5. **Download e execução de segundo estágio:** o payload inicial geralmente baixa e executa um RAT, backdoor ou loader da infraestrutura do adversário via [[t1105-ingress-tool-transfer|Ingress Tool Transfer]]. ### Exemplo de script embutido em CHM (padrão observado em campo) Arquivos CHM maliciosos frequentemente contêm um `<OBJECT>` HTML que dispara scripts automaticamente ao carregar a página de ajuda: ```html ``` Esse padrão foi documentado em campanhas do [[g0049-oilrig|OilRig]], [[g0091-silence|Silence]] e [[s0373-astaroth|Astaroth]]. ## Attack Flow ```mermaid graph TB A["Adversário cria CHM malicioso<br/>(HTML Help Workshop ou similar)"] --> B["Entrega à vítima<br/>(Phishing / drive-by / mídia)"] B --> C["Usuário abre arquivo .chm<br/>hh.exe invocado automaticamente"] C --> D["Internet Explorer Engine<br/>carrega HTML interno"] D --> E["Script VBScript/JScript<br/>executado no contexto IE"] E --> F["Payload de 1º estágio<br/>CriaObject → cmd/powershell"] F --> G["Download de 2º estágio<br/>(RAT, Backdoor, Loader)"] G --> H["Persistência e<br/>Movimentação Lateral"] style A fill:#2d2d2d,color:#fff style B fill:#8b1a1a,color:#fff style C fill:#8b4513,color:#fff style D fill:#8b4513,color:#fff style E fill:#8b6914,color:#fff style F fill:#8b6914,color:#fff style G fill:#1a4a1a,color:#fff style H fill:#1a1a8b,color:#fff ``` ## Exemplos de Uso ### OilRig (APT34) - Campanhas no Oriente Médio e LATAM O grupo iraniano [[g0049-oilrig|OilRig]] utilizou arquivos CHM maliciosos como vetor inicial em campanhas de espionagem direcionadas a governos e organizações financeiras. Os CHMs continham scripts que baixavam implantes personalizados como o **BONDUPDATER** e o **QUADAGENT**, estabelecendo canais de C2 via DNS tunneling. ### APT41 - Operações de Dupla Missão O [[g0096-apt41|APT41]] - grupo de espionagem e crime cibernético vinculado à China - utilizou CHMs em campanhas de spear-phishing para comprometer empresas de tecnologia e saúde. Os arquivos eram disfarçados como documentação técnica legítima. ### Silence Group - Setor Financeiro O grupo [[g0091-silence|Silence]], especializado em ataques ao setor bancário, usou CHMs em campanhas direcionadas a instituições financeiras na Europa Oriental e na Rússia. Os arquivos CHM abriam falsos documentos enquanto executavam o loader do Silence em segundo plano. ### Astaroth (Guildma) - Brasil O malware [[s0373-astaroth|Astaroth]], amplamente utilizado em campanhas contra usuários brasileiros, foi distribuído via arquivos CHM. O script interno usava `wmic.exe` como intermediário adicional para baixar e executar o payload final - uma cadeia de LOLBins empilhados para máxima evasão. Esta é uma das técnicas mais documentadas contra o setor financeiro brasileiro. ## Detecção ### Regra Sigma - Execução Suspeita de hh.exe ```yaml title: Execução Suspeita de Arquivo CHM via hh.exe id: b7b2d0b1-4f2c-4a3e-9c1d-7e8f3a2b5c6d status: stable description: > Detecta a execução do HTML Help (hh.exe) com arquivos CHM suspeitos, especialmente quando hh.exe gera processos filhos como cmd, powershell ou wscript. references: - https://attack.mitre.org/techniques/T1218/001/ author: RunkIntel daté: 2026-03-25 logsource: category: process_creation product: windows detection: selection_parent: ParentImage|endswith: '\hh.exe' Image|endswith: - '\cmd.exe' - '\powershell.exe' - '\wscript.exe' - '\cscript.exe' - '\mshta.exe' - '\rundll32.exe' condition: selection_parent falsepositives: - Documentação legítima de produtos que use CHM com scripts - raro em ambientes corporativos modernos level: high tags: - attack.defense_evasion - attack.t1218.001 ``` ### Regra Sigma - CHM Baixado da Internet ```yaml title: Arquivo CHM Baixado de Fonte Externa id: c9d3f4a2-8e1b-4f5c-a2d7-9b6e3c4f7a8b status: experimental description: > Detecta a abertura de arquivos CHM com Zone.Identifier indicando origem da internet (Zone 3) - padrão de entrega via phishing. logsource: category: file_event product: windows detection: selection: TargetFilename|endswith: '.chm' TargetFilename|contains: ':Zone.Identifier' condition: selection falsepositives: - Downloads legítimos de documentação de vendors level: medium tags: - attack.defense_evasion - attack.t1218.001 ``` ### Indicadores Comportamentais Adicionais | Indicador | Descrição | Ferramenta | |-----------|-----------|------------| | `hh.exe` com argumento de rede (`http://`, `\\`) | CHM remoto - raro em uso legítimo | Sysmon Event ID 1 | | Criação de processo filho por `hh.exe` | Execução de script - padrão de ataque | Sysmon Event ID 1 | | Conexão de rede originada de `hh.exe` | Download de payload de 2º estágio | Sysmon Event ID 3 | | Arquivo `.chm` em `%TEMP%` ou `%APPDATA%` | Local incomum para arquivos de ajuda | Sysmon Event ID 11 | | `hh.exe` executando `wmic.exe` | Padrão do Astaroth/Guildma | Sysmon Event ID 1 | ## Mitigação | ID | Mitigação | Descrição | |----|-----------|-----------| | [[m1021-restrict-web-based-content\|M1021]] | [[m1021-restrict-web-based-content\|Restrict Web-Based Content]] | Bloquear a execução de controles ActiveX e scripts em arquivos CHM via Group Policy. Desabilitar o Internet Explorer onde não for necessário. | | [[m1038-execution-prevention\|M1038]] | [[m1038-execution-prevention\|Execution Prevention]] | Usar AppLocker ou WDAC para bloquear a execução de `hh.exe` em workstations que não necessitam de arquivos de ajuda CHM. Regra de path: `%SystemRoot%\System32\hh.exe`. | ### Hardening Adicional Recomendado - **Desabilitar ActiveX no Internet Explorer:** via Group Policy em `Computer Configuration > Administrative Templates > Windows Components > Internet Explorer` - **Bloquear `.chm` por extensão no e-mail gateway:** previne a entrega do vetor inicial - **ASR (Attack Surface Reduction):** habilitar a regra `Block execution of potentially obfuscated scripts` no Microsoft Defender - **Monitorar Zone.Identifier:** arquivos `.chm` com origem Zone 3 (Internet) devem disparar alertas antes da abertura ## Contexto Brasil/LATAM O uso de arquivos CHM em ataques ao Brasil está diretamente relacionado à família de malware [[s0373-astaroth|Astaroth]] (também conhecido como **Guildma**), um trojan bancário desenvolvido por atores brasileiros e ativo desde pelo menos 2017. ### Attack Flow Astaroth via CHM O Astaroth usa arquivos CHM como primeiro estágio de uma cadeia LOLBins sofisticada: 1. Vítima recebe e-mail de phishing com `.chm` disfarçado de nota fiscal ou boleto bancário 2. `hh.exe` executa o script interno 3. `wmic.exe` é chamado para baixar e executar o loader 4. `certutil.exe` decodifica o payload final 5. `regsvr32.exe` carrega o DLL do Astaroth 6. Credenciais bancárias são capturadas via hooking de API Esse padrão é descrito em relatórios da Kaspersky LATAM, Microsoft e CERT.br, e representa um dos vetores mais persistentes de ataque ao setor financeiro do Brasil. ### Grupos Relevantes para LATAM - [[g0049-oilrig|OilRig]] documentou uso de CHMs em operações de espionagem em países latino-americanos com presença de infraestrutura crítica de energia e governo - Grupos de crime organizado cibernético brasileiro (`Guildma`, `Casbaneiro`) usam CHM como vetor de entrega preferêncial por sua baixa detecção em soluções AV tradicionais ### Recomendação para SOCs Brasileiros Priorizar a detecção de `hh.exe` gerando processos filhos - especialmente com `wmic.exe` - como indicador de altíssima fidelidade para infecção por trojans bancários nacionais. Correlacionar com telemetria de e-mail para identificar campanhas de phishing ativas. ## Referências - [[t1218-system-binary-proxy-execution|T1218 - System Binary Proxy Execution]] (técnica pai) - [[t1566-phishing|T1566 - Phishing]] (vetor de entrega comum) - [[t1204-user-execution|T1204 - User Execution]] (requerido para ativação) - [[t1105-ingress-tool-transfer|T1105 - Ingress Tool Transfer]] (download de 2º estágio) - [[s0373-astaroth|Astaroth]] (malware brasileiro que usa CHM) - [[g0049-oilrig|OilRig]] · [[g0096-apt41|APT41]] · [[g0091-silence|Silence]] · [[g0082-apt38|APT38]] · [[g0070-dark-caracal|Dark Caracal]] - [[m1021-restrict-web-based-content|M1021 - Restrict Web-Based Content]] - [[m1038-execution-prevention|M1038 - Execution Prevention]] *Fonte: MITRE ATT&CK - T1218.001*