Empresa de Mídia CloudZ RAT potencialmente rouba mensagens OTP usando plugin Pheno
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
A Cisco Talos identificou uma intrusão na qual os atacantes implantaram o trojan de acesso remoto CloudZ juntamente com um plugin personalizado chamado Pheno. A atividade tem como alvo sistemas Windows 10 e 11 que dependem do Microsoft Phone Link para sincronizar com dispositivos móveis. Ao abusar da ponte Phone Link na estação de trabalho, os atacantes podem acessar o conteúdo de SMS e mensagens de senhas de uso único sem colocar malware diretamente no telefone. A cadeia de infecção usa um dropper baseado em Rust, um carregador .NET, persistência via tarefa agendada e vários métodos de entrega de payload.
Investigação
A Talos rastreou a intrusão até uma falsa atualização do ScreenConnect que entregou um carregador compilado em Rust chamado systemupdates.exe or Windows-interactive-update.exe. Esse carregador decifrou e descartou um componente .NET, que então instalou o CloudZ RAT através de uma tarefa agendada que iniciou regasm.exe. Após a instalação, o CloudZ recuperou o plugin Pheno de um servidor de preparação e o utilizou para acessar dados armazenados no banco de dados SQLite do Phone Link. Os investigadores também identificaram infraestrutura de comando e controle, incluindo o endereço IP 185.196.10.136 e vários domínios maliciosos ligados à campanha.
Mitigação
A Cisco Talos observou que detecções do ClamAV como Win.Packed.Msilheracles and Win.Trojan.CloudZRAT, juntamente com regras do Snort 66408–66410 and 301492, podem ajudar a identificar a ameaça. Bloquear os domínios maliciosos conhecidos e o endereço IP, enquanto restringe a execução de binários não assinados de locais como ProgramData, pode ajudar a interromper a cadeia do carregador. As organizações também podem reduzir a exposição desabilitando ou monitorando de perto o Microsoft Phone Link e aplicando o menor privilégio sobre a criação e execução de tarefas agendadas.
Resposta
Se esta atividade for detectada, isole imediatamente o host afetado e colete imagens de memória e disco para análise forense. Os investigadores devem confirmar a presença da tarefa agendada SystemWindowsApis e de quaisquer binários relacionados ao CloudZ, removendo-os do sistema. A infraestrutura de comando e controle identificada deve ser bloqueada, e quaisquer credenciais potencialmente expostas devem ser redefinidas, especialmente onde a autenticação baseada em OTP possa ter sido interceptada. Uma revisão mais ampla do sistema também deve examinar outros métodos de persistência e auditar a atividade PowerShell and regasm.exe para abusos relacionados.
"graph TB %% Class definitions classDef technique fill:#ffe699 %% Node definitions step1_user_exec["<b>Technique</b> – <b>T1204.002 Execução do Usuário: Arquivo Malicioso</b><br/><b>Descrição</b>: O usuário é enganado para executar um executável malicioso disfarçado como uma falsa atualização do ScreenConnect."] class step1_user_exec technique step2_persistence["<b>Technique</b> – <b>T1218.009 Execução por Proxy com Binário do Sistema: Regsvcs/Regasm</b><br/><b>Descrição</b>: Código malicioso é executado via regsvcs ou regasm através de uma tarefa agendada, aproveitando binários confiáveis do .NET."] class step2_persistence technique step3_obfuscation["<b>Technique</b> – <b>T1027 Arquivos ou Informações Ofuscados</b><br/><b>Descrição</b>: Payload é empacotado com ConfuserEx e criptografado com XOR‑2011 para esconder sua verdadeira funcionalidade."] class step3_obfuscation technique step4_dynamic_api["<b>Technique</b> – <b>T1027.007 Resolução de API Dinâmica</b><br/><b>Descrição</b>: Em tempo de execução o malware resolve as APIs necessárias, checando por ferramentas de análise para evitar a detecção estática."] class step4_dynamic_api technique step5_indicator_removal["<b>Technique</b> – <b>T1027.005 Remoção de Indicador de Ferramentas</b><br/><b>Descrição</b>: O código aborta a execução se forem detectadas utilidades de segurança, removendo quaisquer indicadores observáveis."] class step5_indicator_removal technique step6_reflective_load["<b>Technique</b> – <b>T1620 Carregamento de Código Reflexivo</b><br/><b>Descrição</b>: O payload .NET é carregado diretamente na memória de forma reflexiva, não deixando qualquer arquivo no disco."] class step6_reflective_load technique step7_process_discovery["<b>Technique</b> – <b>T1057 Descoberta de Processos</b><br/><b>Descrição</b>: Malware enumera processos em execução para localizar e possivelmente desativar ferramentas de segurança."] class step7_process_discovery technique step8_browser_creds["<b>Technique</b> – <b>T1555.003 Credenciais de Navegadores Web</b><br/><b>Descrição</b>: Senhas armazenadas em navegadores são extraídas e preparadas para exfiltração."] class step8_browser_creds technique step9_steal_cookie["<b>Technique</b> – <b>T1539 Roubo de Cookie de Sessão Web</b><br/><b>Descrição</b>: Cookies de sessão web ativa são capturados do navegador."] class step9_steal_cookie technique step10_use_cookie["<b>Technique</b> – <b>T1550.004 Uso de Material de Autenticação Alternativo: Cookie de Sessão Web</b><br/><b>Descrição</b>: Cookies roubados são reutilizados para autenticar em serviços web-alvo."] class step10_use_cookie technique step11_browser_info["<b>Technique</b> – <b>T1217 Descoberta de Informações do Navegador</b><br/><b>Descrição</b>: Dados adicionais do navegador e mensagens OTP são coletadas para uso indevido adicional."] class step11_browser_info technique step12_bits_jobs["<b>Technique</b> – <b>T1197 Tarefas BITS</b><br/><b>Descrição</b>: Tarefas BITS baixam plugins maliciosos extras usando bitsadmin, curl ou PowerShell."] class step12_bits_jobs technique step13_exfil_encrypted["<b>Technique</b> – <b>T1048.002 Exfiltração sobre Protocolo Encriptado Assimétrico Não‑C2</b><br/><b>Descrição</b>: Dados coletados são enviados através de um soquete TCP criptografado que não faz parte de um canal C2 padrão."] class step13_exfil_encrypted technique step14_c2_web["<b>Technique</b> – <b>T1071.001 Protocolo de Camada de Aplicação: Protocolos Web</b><br/><b>Descrição</b>: O tráfego de comando e controle utiliza HTTP/S com agentes de usuário rotativos e cabeçalhos anti-cache."] class step14_c2_web technique %% Connections step1_user_exec –>|leva_a| step2_persistence step2_persistence –>|leva_a| step3_obfuscation step3_obfuscation –>|leva_a| step4_dynamic_api step4_dynamic_api –>|leva_a| step5_indicator_removal step5_indicator_removal –>|leva_a| step6_reflective_load step6_reflective_load –>|leva_a| step7_process_discovery step7_process_discovery –>|leva_a| step8_browser_creds step8_browser_creds –>|leva_a| step9_steal_cookie step9_steal_cookie –>|leva_a| step10_use_cookie step10_use_cookie –>|leva_a| step11_browser_info step11_browser_info –>|leva_a| step12_bits_jobs step12_bits_jobs –>|leva_a| step13_exfil_encrypted step13_exfil_encrypted –>|leva_a| step14_c2_web "
Fluxo de Ataque
Detecções
Baixar ou Carregar via PowerShell (via cmdline)
Ver
LOLBAS Schtasks (via cmdline)
Ver
LOLBAS Bitsadmin (via cmdline)
Ver
Uso Suspeito de CURL (via cmdline)
Ver
Possível Uso Indevido de Domínio de Desenvolvimento do Cloudflare (via dns)
Ver
Detecção de Execução de Tarefa Agendada e Consulta de Processo na Infecção por CloudZ RAT [Windows Powershell]
Ver
Detecção de Carregador .NET Usando regasm.exe para Persistência [Criação de Processo no Windows]
Ver
Execução Simulada
Pré-requisito: A verificação prévia do Telemetria & Baseline deve ter sido aprovada.
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 visam gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa do Ataque & Comandos:
O atacante comprometeu uma conta de usuário de baixo privilégio e deseja estabelecer persistência enquanto confirma que o carregador .NET do CloudZ está ativo. Eles:- Criam uma tarefa agendada que lança um script PowerShell (
C:Tempcloudz.ps1). - Executam imediatamente a tarefa com
schtasks /runpara garantir que o script seja executado. - Dentro do script, enumere todos os processos usando
Get‑CimInstance Win32_Processpara testar a presença do carregador .NET. - O processo PowerShell e o
schtaskscomando ambos produzem registros de EventID 1 do Sysmon cujosCommandLinecampos contêm as strings exatas que a regra monitora, causando um alerta.
- Criam uma tarefa agendada que lança um script PowerShell (
-
Script de Teste de Regressão:
#------------------------------------------------- # Script de persistência & verificação estilo CloudZ #------------------------------------------------- $taskName = "CloudZ_Persistence" $scriptPath = "C:Tempcloudz.ps1" # 1️⃣ Escrever o payload do PowerShell que consulta processos @" # Payload do CloudZ – enumeração de processos Get-CimInstance Win32_Process | Out-Null "@ | Set-Content -Path $scriptPath -Encoding ASCII # 2️⃣ Registrar uma tarefa agendada que executa o payload $action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -File `"$scriptPath`" $trigger = New-ScheduledTaskTrigger -AtLogOn Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -Force # 3️⃣ Executar imediatamente a tarefa (gera schtasks /run) schtasks /run /tn "$taskName" # 4️⃣ Pausa curta para permitir registros Start-Sleep -Seconds 5 -
Comandos de Limpeza:
# Remover tarefa agendada Unregister-ScheduledTask -TaskName "CloudZ_Persistence" -Confirm:$false # Excluir o script de payload Remove-Item -Path "C:Tempcloudz.ps1" -Force # Opcionalmente, parar o Sysmon (restaurar a configuração original) se necessário # & "$env:ProgramFilesSysinternalsSysmon.exe" -u