# 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/)