UNC7017 Alveja Tecnologia AOMEI em Ataque à Cadeia de Suprimentos de Software
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
UNC7017 realizou uma sofisticada campanha de cadeia de suprimentos de software visando a infraestrutura de atualização da AOMEI Technology. O ator da ameaça usou janelas breves de adulteração de configuração para redirecionar solicitações de atualização para servidores maliciosos, ajudando a evadir a verificação pontual tradicional. A campanha entregou uma cadeia de carga útil de múltiplos estágios que incluía o downloader CROSSROAD e o backdoor SHINYROAD.
Investigação
A investigação foi realizada conjuntamente pelo Mandiant Google Threat Intelligence Group (GTIG) e ManageEngine Threat Analysis Lab (METAL). Pesquisadores detectaram a campanha por meio de telemetria EDR e confirmaram que o adversário contou com janelas de adulteração efêmeras que duravam apenas cinco a dez minutos. A análise também mostrou uma mudança de infraestrutura de provedores de nuvem para domínios temáticos de fornecedores dedicados e armazenamento em nuvem legítimo.
Mitigação
Os fornecedores devem impor a verificação de assinatura criptográfica de ponta a ponta para todos os executáveis e arquivos de configuração baixados. As organizações devem implementar fixação estrita de destino para clientes de atualização para evitar redirecionamento para domínios não autorizados. Restringir esquemas de URI dentro de manipuladores de aplicativos também pode ajudar a evitar ataques de coerção de credenciais NTLM baseados em WebDAV.
Resposta
As equipes de segurança devem conduzir buscas retrospectivas em endpoints e redes cobrindo o período de abril a julho de 2026. Priorizar o monitoramento de processos filhos não assinados iniciados por atualizadores legítimos e sinais de redirecionamento de rede não autorizado. Os analistas devem inspecionar arquivos de configuração de endpoint em cache localmente em vez de contar apenas com verificações ao vivo de URLs hospedados por fornecedores.
Fluxo de Ataque
Ainda estamos atualizando esta parte.
Detecções
Tarefa Agendada Suspeita (via auditoria)
Possível Processo de Execução do PowerShell em Diretório Suspeito (via linha de comando)
Software Alternativo de Acesso Remoto / Gerenciamento (via criação de processo)
Tentativa de Comunicações de Pesquisa de IP Possível (via DNS)
IOCs (HashSha256) para detectar: Investigando Adulteração da Cadeia de Suprimentos Efêmera
IOCs (SourceIP) para detectar: Investigando Adulteração da Cadeia de Suprimentos Efêmera
IOCs (DestinationIP) para detectar: Investigando Adulteração da Cadeia de Suprimentos Efêmera
Detecção de Redirecionamentos Maliciosos de Atualização de Software AOMEI [Proxy]
Detecção de Atividade de Malware CROSSROAD e SHINYROAD [Windows Sysmon]
Detecção de DLL Maliciosa e Serviço Temporário para Campanha SHINYROAD [Evento de Arquivo do Windows]
Execução de Simulação
-
Narrativa do Ataque & Comandos: Um adversário implementou com sucesso um downloader CROSSROAD em uma estação de trabalho por meio de um comprometimento da cadeia de suprimentos (T1195.002). Para evitar que várias instâncias do backdoor interfiram entre si ou causem instabilidade no sistema, o malware tenta criar um Mutex específico. O objetivo do atacante é estabelecer um backdoor persistente (T1547) para comando e controle (C2) a longo prazo e exfiltração de dados. A simulação executará um script PowerShell que imita esse comportamento criando exatamente as cadeias globais e locais de mutex identificadas na regra de detecção.
-
Script de Teste de Regressão:
# Script de Simulação de Mutex CROSSROAD/SHINYROAD # Este script simula a criação dos mutexes específicos direcionados pela regra de detecção. Write-Host "[*] Começando a Simulação de Mutex..." -ForegroundColor Cyan # 1. Simular Mutex Global (CROSSROAD) try { $globalMutexName = "GlobalF9E6E3C0-E11A-4F85-9944-AF4AD6E05883" Write-Host "[!] Tentando criar Mutex Global: $globalMutexName" -ForegroundColor Yellow $globalMutex = New-Object System.Threading.Mutex($true, $globalMutexName) Write-Host "[+] Mutex Global criado com sucesso." -ForegroundColor Green } catch { Write-Error "[X] Falha ao criar Mutex Global: $($_.Exception.Message)" } # 2. Simular Mutex Local (SHINYROAD) try { $localMutexName = "Local963d3c60-d406-4ad6-aa1e-dc8e45061ccf" Write-Host "[!] Tentando criar Mutex Local: $localMutexName" -ForegroundColor Yellow $localMutex = New-Object System.Threading.Mutex($true, $localMutexName) Write-Host "[+] Mutex Local criado com sucesso." -ForegroundColor Green } catch { Write-Error "[X] Falha ao criar Mutex Local: $($_.Exception.Message)" } Write-Host "[*] Os Mutexes são mantidos por 30 segundos para garantir captura de telemetria..." -ForegroundColor Cyan Start-Sleep -Seconds 30 # Limpeza (Liberar manualmente é gerenciado pela saída do script, mas explícito é melhor) if ($globalMutex) { $globalMutex.ReleaseMutex() } if ($localMutex) { $localMutex.ReleaseMutex() } Write-Host "[*] Simulação Completa." -ForegroundColor Cyan -
Comandos de Limpeza:
# Caso o script seja interrompido, execute isto para liberar os mutexes # Nota: No PowerShell, se o processo é interrompido, o SO normalmente limpa o mutex. # Isto é uma precaução de segurança para o executor da simulação. Write-Host "[*] Executando Limpeza..." # Nenhum comando específico necessário se o processo encerrar, mas verificamos se não há alças penduradas.