Comprometimento em andamento: TA4922 Usa PackClient
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
TA4922, um ator de ameaça que fala chinês, está usando uma nova estrutura modular C2 chamada PackClient. O malware é anunciado no Telegram e suporta roubo de dados, vigilância e acesso remoto. Campanhas recentes têm como alvo organizações na China e na Índia através de iscas de phishing com temas de imposto.
Investigação
Pesquisadores da Proofpoint identificaram o PackClient através da capacidade de observação de malware dentro do ambiente Deception Pro. A investigação rastreou várias cadeias de infecção, incluindo carregamento de DLLs e entrega por imagens de disco IMG. A análise revelou um fluxo de execução em várias etapas envolvendo um downloader, um componente de inicialização e o módulo RAT núcleo final do PackClient.
Mitigação
As organizações devem monitorar linhas de comando suspeitas do rundll32.exe e persistência incomum através da chave de registro RunOnce . Controles estritos devem ser aplicados a downloads de executáveis de domínios não confiáveis, enquanto a implantação de software RMM não autorizada deve ser monitorada de perto. Inspecionar o tráfego de rede para protocolos TCP personalizados em portas não padrão, como a 6666, também pode melhorar a detecção.
Resposta
Se a atividade do PackClient for detectada, o host afetado deve ser isolado imediatamente para interromper a comunicação C2 adicional e a exfiltração de dados. Os respondedores devem realizar análise forense de memória para identificar o módulo PackClientCore injetado e procurar pelo processo guardian associado. Chaves de registro em HKCUSOFTWAREPackClientConsole e logs de sistema também devem ser revisados para atividades não autorizadas de ManageEngine RMM.
Fluxo de Ataque
Ainda estamos atualizando esta parte.
Detectações
Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via registry_event)
Execução de Processos do Sistema a partir de Caminhos Atípicos (via process_creation)
Execução do Caminho Suspeito de Rundll32 Dll (via process_creation)
IOCs (HashSha256) para detectar: Comprometimento em Andamento: TA4922 Equipamentos do PackClient
IOCs (SourceIP) para detectar: Comprometimento em Andamento: TA4922 Equipamentos do PackClient
IOCs (DestinationIP) para detectar: Comprometimento em Andamento: TA4922 Equipamentos do PackClient
Detecção de Download do Módulo Carregador PackClient [Firewall]
Detectar Comunicação C2 do PackClient [Conexão de Rede do Windows]
Detecção da Infecção do PackClient Usando Comandos de Execução Distintos [Criação de Processo do Windows]
Execução de Simulação
Pré-requisito: O Check de Pré-voo do 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 narrativa DEVEM refletir diretamente os TTPs identificados e objetivar gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnósticos incorretos.
-
Narrativa do Ataque & Comandos: O adversário implantou com sucesso o RAT PackClient em uma estação de trabalho Windows comprometida. Para estabelecer comando e controle, o malware tenta se conectar à sua infraestrutura C2 pré-definida. O objetivo do atacante é receber instruções para a exfiltração de dados e mais movimentos laterais. Vamos simular isso iniciando uma conexão de socket com um dos IPs maliciosos (206.238.196.96) na porta específica (6666) definida na regra de detecção para verificar se o SIEM gera um alerta.
-
Script de Teste de Regressão:
# Simulação de tentativa de comunicação C2 do PackClient $C2_IP = "206.238.196.96" $C2_PORT = 6666 Write-Host "Tentando simular a conexão C2 do PackClient para $C2_IP na porta $C2_PORT..." try { $tcpClient = New-Object System.Net.Sockets.TcpClient $connection = $tcpClient.BeginConnect($C2_IP, $C2_PORT, $null, $null) $wait = $connection.AsyncWaitHandle.WaitOne(5000, $false) if (-not $wait) { Write-Host "Tempo limite de conexão (esperado se IP estiver inacessível, mas a telemetria ainda deve ser gerada)." -ForegroundColor Yellow } else { Write-Host "Conexão bem-sucedida (Imprevista para simulação)." -ForegroundColor Red } $tcpClient.Close() } catch { Write-Host "Conexão falhou conforme esperado: $($_.Exception.Message)" -ForegroundColor Green } -
Comandos de Limpeza:
# Nenhum artefato persistente é criado por esta simulação apenas de rede. Write-Host "Limpeza da simulação completa. Nenhum arquivo ou chave de registro foi modificado."