# GuLoader
> Tipo: **loader** (shellcode downloader) · S0561 · [MITRE ATT&CK](https://attack.mitre.org/software/S0561)
## Visão Geral
[[s0561-guloader|GuLoader]] (também conhecido como CloudEyE) e um downloader de shellcode altamente evasivo descoberto em dezembro de 2019, amplamente utilizado em campanhas de malspam globais para entregar payloads de segunda fase - principalmente [[s0331-agent-tesla|Agent Tesla]], [[s0514-formbook|Formbook]], [[s0198-netwire|NETWIRE]], [[s0336-nanocore|NanoCore]], Parallax RAT e LokiBot. O GuLoader e notoriamente complexo de analisar: cada variante implementa dezenas de técnicas anti-análise, anti-VM, anti-debug e anti-dump que tornam a análise estática e dinâmica extremamente demorada - a ponto de sandboxes automatizados de renome nao conseguirem detonar amostras com sucesso em determinadas versoes.
O GuLoader evoluiu significativamente desde 2019. Versoes iniciais eram escritas em VB5/6 com shellcode embutido. Versoes intermediarias passaram a usar VBScript para baixar o shellcode de servidores remotos. A arquitetura atual mais comum empacota o shellcode em um instalador NSIS (Nullsoft Scriptable Install System) - um formato legitimo de instalador Windows que evita alertas de AV - com o payload final criptografado com chave XOR hardcoded em pasta aninhada. A técnica mais caracteristica e o uso de **Vectored Exception Handler (VEH)** personalizado para obfuscar o fluxo de execução: o shellcode deliberadamente dispara excecoes via instrução `INT3` (0xCC), acessos a memoria inválida e flags de trap, e o VEH calcula o proximo endereco legitimo de execução via XOR com chave variavel por amostra - tornando o fluxo de controle incompreensivel para debuggers e desassembladores.
O payload de segunda fase e armazenado criptografado em servicos de cloud públicos - Google Drive, OneDrive, GitHub, Dropbox - com a URL de download criptografada dentro do GuLoader. Isso permite que o payload mude sem necessidade de recompilar o loader, e que servicos de network security baseados em reputacao de dominio nao bloqueiem o download (o dominio e legitimo).
**Plataformas:** Windows
## Como Funciona
### Arquitetura de Tres Camadas
**Camada 1 - NSIS Installer:** O GuLoader chega como instalador NSIS legítimo. Ao executar, extrai e executa um DLL plugin (`System.dll` modificado) e um arquivo de shellcode criptografado em pasta aninhada.
**Camada 2 - Shellcode Inicial:** O DLL plugin aloca memoria executavel, decripta o shellcode com XOR de 4 bytes e transfere execução. O shellcode inicial implementa todas as técnicas anti-análise antes de prosseguir.
**Camada 3 - Shellcode Principal (GuLoader Core):** Execução em memoria pura sem arquivo em disco. O core:
- Realiza extensas verificacoes de ambiente (anti-VM, anti-sandbox, anti-debug)
- Utiliza "Heaven Gaté" para redirecionar execução em sistemas x64
- Decripta a URL do C2/payload usando a mesma rotina de decodificacao de strings
- Faz download do payload criptografado (XOR key hardcoded) de servico cloud legitimo
- Cria processo filho suspenso, injeta o payload decriptado via `NtMapViewOfSection` ou `NtAllocateVirtualMemory`/`NtWriteProcessMemory` (redundancia se o primeiro falhar)
- Retoma o processo filho com o payload em execução
### Técnicas Anti-Análise (VEH)
O fluxo de execução do shellcode e quebrado por centenas de excecoes deliberadas. O VEH registrado com prioridade 1 intercepta cada excecao, verifica ausência de hardware breakpoints (registros DR0-DR7), e calcula o proximo endereco via:
`EIP += ByteAt(EIP + offset) XOR chave_de_um_byte`
A chave varia por amostra. Tres tipos de excecao sao usados: instrução `INT3`, acesso a endereco inválido (zero register) e flag de trap via `PUSHFD/POPFD`. Uma amostra tipica dispara mais de 229 excecoes únicas.
## Attack Flow
```mermaid
graph TB
A["📧 Malspam PT-BR<br/>ZIP / NSIS / VBS<br/>T1566.001 Attachment"] --> B["📦 NSIS Installer<br/>DLL plugin + shellcode<br/>T1204.002 Malicious File"]
B --> C["🛡 Verificacoes anti-VM<br/>VEH obfusca fluxo<br/>Heaven Gaté x64"]
C --> D["☁ Download payload<br/>Google Drive / OneDrive<br/>T1102 Web Service"]
D --> E["💉 Injecao em processo<br/>NtMapViewOfSection<br/>T1055 Process Injection"]
E --> F["🎯 Payload final<br/>AgentTesla / Formbook<br/>NanoCore / NETWIRE"]
classDef delivery fill:#e74c3c,color:#fff
classDef pack fill:#e67e22,color:#fff
classDef evade fill:#8e44ad,color:#fff
classDef download fill:#2980b9,color:#fff
classDef inject fill:#27ae60,color:#fff
classDef payload fill:#2c3e50,color:#fff
class A delivery
class B pack
class C evade
class D download
class E inject
class F payload
```
## Timeline
```mermaid
timeline
title GuLoader - Evolução
2019-12 : Primeiras amostras - versao VB6
2020 : Adocao massiva para distribuir AgentTesla
2022 : VEH anti-análise com INT3 documentado
: Payload migrado para cloud services
2022-09 : Novo VEH com tres tipos de excecao (Unit42)
2023 : NSIS como empacotador principal
: Heaven Gaté technique adicionado
2024 : Persistência global - zero deteccoes em VT
2025 : Campanha LATAM documentada com AgentTesla
2026 : Análise aprofundada CrowdStrike publicada
```
## Técnicas Utilizadas
- [[t1566-001-spearphishing-attachment|T1566.001 - Spearphishing Attachment]]
- [[t1566-002-spearphishing-link|T1566.002 - Spearphishing Link]]
- [[t1204-002-malicious-file|T1204.002 - Malicious File]]
- [[t1027-obfuscated-files-or-information|T1027 - Obfuscated Files or Information]]
- [[t1497-001-system-checks|T1497.001 - System Checks]]
- [[t1497-003-time-based-checks|T1497.003 - Time Based Checks]]
- [[t1106-native-api|T1106 - Native API]]
- [[t1055-process-injection|T1055 - Process Injection]]
- [[t1102-web-service|T1102 - Web Service]]
- [[t1105-ingress-tool-transfer|T1105 - Ingress Tool Transfer]]
- [[t1071-001-web-protocols|T1071.001 - Web Protocols]]
- [[t1547-001-registry-run-keys-startup-folder|T1547.001 - Registry Run Keys / Startup Folder]]
- [[t1070-004-file-deletion|T1070.004 - File Deletion]]
## Detecção
> [!warning] Alta Complexidade de Detecção
> O GuLoader foi projetado específicamente para frustrar sandboxes automaticos. Detecção por assinatura estática e ineficaz - novas amostras recebem zero deteccoes no VirusTotal no momento do lancamento de cada campanha.
**Indicadores comportamentais:**
- Execução de instalador NSIS seguida de criação de processo filho suspenso - especialmente `aspnet_compiler.exe`, `RegAsm.exe`, processos do sistema
- Chamadas massivas a `AddVectoredExceptionHandler` durante execução de processo .exe
- Uso de `NtSetInformationThread` com `ThreadHideFromDebugger` (0x11) - indicador de rootkit/anti-debug
- `NtMapViewOfSection` ou `NtWriteProcessMemory` executados por processo recentemente criado a partir de instalador
**Indicadores de rede:**
- Downloads HTTPS de `drive.google.com`, `onedrive.live.com`, `github.com` por processos incomuns (ex: NSIS temporario, script VBS) - especialmente downloads de arquivos binarios grandes (> 500KB) sem navegador
- Acesso a `ip-api.com` ou similar para descoberta de IP externo logo após instalacao
**YARA (Elastic Security Labs):**
- Regras públicas para identificar shellcode NSIS do GuLoader via padroes do loader `System.dll` modificado e estrutura de excecao VEH
- Repositorio Elastic Security: `rule_guloader_shellcode.yar`
## Relevância LATAM/Brasil
O [[s0561-guloader|GuLoader]] e amplamente documentado em campanhas direcionadas ao Brasil e a América Latina, atuando como primeiro estagio de infecção para payloads como [[s0331-agent-tesla|Agent Tesla]] e [[s0514-formbook|Formbook]] - consistentemente os infostealers mais detectados na regiao. Campanhas em portugues brasileiro utilizam o GuLoader com isca de e-mails de negocios (cotacoes, pedidos de compra, DANFE, boletos) para distribuir nas empresas dos setores [[financial|financeiro]], [[manufacturing|industrial]] e [[logistics|logistico]]. A técnica de hospedar payloads em servicos cloud legitimos (Google Drive, OneDrive) e especialmente eficaz contra firewalls corporativos que nao inspecionam conteudo de dominios de alta reputacao - vulnerabilidade comum em organizacoes brasileiras de medio porte. A complexidade técnica do GuLoader - que frustra sandboxes automatizados - torna-o particularmente perigoso em ambientes com capacidade analitica limitada.
## Referências
- [MITRE ATT&CK - S0561](https://attack.mitre.org/software/S0561)
- [Unit42 - Defeating GuLoader Anti-Analysis Technique (2022)](https://unit42.paloaltonetworks.com/guloader-variant-anti-analysis/)
- [Elastic Security Labs - Getting Gooey with GULOADER (2023)](https://www.elastic.co/security-labs/getting-gooey-with-guloader-downloader)
- [CrowdStrike - GuLoader: Peering Into a Shellcode-based Downloader (2020)](https://www.crowdstrike.com/en-us/blog/guloader-malware-analysis/)
- [Check Point Research - Cloud-Based Malware Delivery: The Evolution of GuLoader (2023)](https://research.checkpoint.com/2023/cloud-based-malware-delivery-the-evolution-of-guloader/)
- [Spamhaus - Dissecting the new shellcode-based variant of GuLoader (2022)](https://www.spamhaus.com/resource-center/dissecting-the-new-shellcode-based-variant-of-guloader-cloudeye/)