La empresa de medios CloudZ RAT potencialmente roba mensajes OTP utilizando el plugin Pheno
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Cisco Talos identificó una intrusión en la que los atacantes desplegaron el troyano de acceso remoto CloudZ junto con un complemento personalizado llamado Pheno. La actividad apunta a sistemas Windows 10 y 11 que dependen de Microsoft Phone Link para sincronizarse con dispositivos móviles. Al abusar del puente de Phone Link en la estación de trabajo, los atacantes pueden acceder al contenido de SMS y mensajes de contraseñas de un solo uso sin colocar malware directamente en el propio teléfono. La cadena de infección utiliza un entregador basado en Rust, un cargador .NET, persistencia de tarea programada y varios métodos de entrega de carga útil.
Investigación
Talos rastreó la intrusión hasta una actualización falsa de ScreenConnect que entregó un cargador compilado en Rust llamado systemupdates.exe or Windows-interactive-update.exe. Ese cargador descifró y soltó un componente .NET, que luego instaló CloudZ RAT a través de una tarea programada que lanzó regasm.exe. Después de la instalación, CloudZ recuperó el complemento Pheno desde un servidor de preparación y lo usó para acceder a datos almacenados en la base de datos SQLite de Phone Link. Los investigadores también identificaron infraestructura de comando y control, incluyendo la dirección IP 185.196.10.136 y múltiples dominios maliciosos vinculados a la campaña.
Mitigación
Cisco Talos señaló que detecciones de ClamAV como Win.Packed.Msilheracles and Win.Trojan.CloudZRAT, junto con las reglas de Snort 66408–66410 and 301492, pueden ayudar a identificar la amenaza. Bloquear los dominios maliciosos conocidos y la dirección IP, mientras se restringe la ejecución de binarios no firmados desde ubicaciones como ProgramData, puede ayudar a detener la cadena de cargadores. Las organizaciones también pueden reducir la exposición deshabilitando o monitoreando de cerca Microsoft Phone Link y aplicando el privilegio mínimo sobre la creación y ejecución de tareas programadas.
Respuesta
Si se detecta esta actividad, aísle inmediatamente el host afectado y recopile imágenes de memoria y disco para análisis forense. Los investigadores deben confirmar la presencia de la SystemWindowsApis tarea programada y cualquier binario relacionado con CloudZ, luego retirarlos del sistema. La infraestructura de comando y control identificada debe ser bloqueada, y las credenciales potencialmente expuestas deben ser restablecidas, especialmente donde la autenticación basada en OTP pueda haber sido interceptada. Una revisión más amplia del sistema también debería examinar otros métodos de persistencia y auditar PowerShell and regasm.exe actividad para abuso relacionado.
"graph TB %% Class definitions classDef technique fill:#ffe699 %% Node definitions step1_user_exec["<b>Technique</b> – <b>T1204.002 User Execution: Malicious File</b><br/><b>Description</b>: User is tricked into running a malicious executable masquerading as a fake ScreenConnect update."] class step1_user_exec technique step2_persistence["<b>Technique</b> – <b>T1218.009 System Binary Proxy Execution: Regsvcs/Regasm</b><br/><b>Description</b>: Malicious code is executed via regsvcs or regasm through a scheduled task, leveraging trusted .NET binaries."] class step2_persistence technique step3_obfuscation["<b>Technique</b> – <b>T1027 Obfuscated Files or Information</b><br/><b>Description</b>: Payload is packed with ConfuserEx and XORu2011encrypted to hide its true functionality."] class step3_obfuscation technique step4_dynamic_api["<b>Technique</b> – <b>T1027.007 Dynamic API Resolution</b><br/><b>Description</b>: At runtime the malware resolves required APIs, checking for analysis tools to avoid static detection."] class step4_dynamic_api technique step5_indicator_removal["<b>Technique</b> – <b>T1027.005 Indicator Removal from Tools</b><br/><b>Description</b>: The code aborts execution if security utilities are detected, removing any observable indicators."] class step5_indicator_removal technique step6_reflective_load["<b>Technique</b> – <b>T1620 Reflective Code Loading</b><br/><b>Description</b>: .NET payload is loaded directly into memory reflectively, leaving no file on disk."] class step6_reflective_load technique step7_process_discovery["<b>Technique</b> – <b>T1057 Process Discovery</b><br/><b>Description</b>: Malware enumerates running processes to locate and possibly disable security tools."] class step7_process_discovery technique step8_browser_creds["<b>Technique</b> – <b>T1555.003 Credentials from Web Browsers</b><br/><b>Description</b>: Stored browser passwords are extracted and prepared for exfiltration."] class step8_browser_creds technique step9_steal_cookie["<b>Technique</b> – <b>T1539 Steal Web Session Cookie</b><br/><b>Description</b>: Active web session cookies are captured from the browser."] class step9_steal_cookie technique step10_use_cookie["<b>Technique</b> – <b>T1550.004 Use Alternate Authentication Material: Web Session Cookie</b><br/><b>Description</b>: Stolen cookies are reused to authenticate to target web services."] class step10_use_cookie technique step11_browser_info["<b>Technique</b> – <b>T1217 Browser Information Discovery</b><br/><b>Description</b>: Additional browser data and OTP messages are gathered for further abuse."] class step11_browser_info technique step12_bits_jobs["<b>Technique</b> – <b>T1197 BITS Jobs</b><br/><b>Description</b>: BITS jobs download extra malicious plugins using bitsadmin, curl, or PowerShell."] class step12_bits_jobs technique step13_exfil_encrypted["<b>Technique</b> – <b>T1048.002 Exfiltration Over Asymmetric Encrypted Nonu2011C2 Protocol</b><br/><b>Description</b>: Collected data is sent out over an encrypted TCP socket that is not part of a standard C2 channel."] class step13_exfil_encrypted technique step14_c2_web["<b>Technique</b> – <b>T1071.001 Application Layer Protocol: Web Protocols</b><br/><b>Description</b>: Command and control traffic uses HTTP/S with rotating useru2011agents and antiu2011caching headers."] class step14_c2_web technique %% Connections step1_user_exec –>|leads_to| step2_persistence step2_persistence –>|leads_to| step3_obfuscation step3_obfuscation –>|leads_to| step4_dynamic_api step4_dynamic_api –>|leads_to| step5_indicator_removal step5_indicator_removal –>|leads_to| step6_reflective_load step6_reflective_load –>|leads_to| step7_process_discovery step7_process_discovery –>|leads_to| step8_browser_creds step8_browser_creds –>|leads_to| step9_steal_cookie step9_steal_cookie –>|leads_to| step10_use_cookie step10_use_cookie –>|leads_to| step11_browser_info step11_browser_info –>|leads_to| step12_bits_jobs step12_bits_jobs –>|leads_to| step13_exfil_encrypted step13_exfil_encrypted –>|leads_to| step14_c2_web "
Flujo de ataque
Detecciones
Descargar o Subir mediante Powershell (vía línea de comandos)
Ver
LOLBAS Schtasks (vía línea de comandos)
Ver
LOLBAS Bitsadmin (vía línea de comandos)
Ver
Uso sospechoso de CURL (vía línea de comandos)
Ver
Posible abuso de dominio de desarrollo de Cloudflare (vía dns)
Ver
Detección de ejecución de tareas programadas y consulta de procesos en infección de CloudZ RAT [Windows Powershell]
Ver
Detección de Cargador .NET usando regasm.exe para Persistencia [Creación de Procesos de Windows]
Ver
Ejecución de Simulación
Prerequisito: La verificación previa de telemetría y línea base debe haber sido aprobada.
Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTP identificados y tienen como objetivo generar la telemetría exacta esperada por la lógica de detección.
-
Narrativa del Ataque y Comandos:
El atacante ha comprometido una cuenta de usuario de bajo privilegio y desea establecer persistencia mientras confirma que el cargador CloudZ .NET está activo. Ellos:- Crean una tarea programada que lanza un script de PowerShell (
C:Tempcloudz.ps1). - Ejecutan inmediatamente la tarea con
schtasks /runpara asegurar la ejecución del script. - Dentro del script, enumeran todos los procesos usando
Get‑CimInstance Win32_Processpara probar la presencia del cargador .NET. - El proceso de PowerShell y el
schtaskscomando ambos producen registros de Sysmon EventID 1 cuyosCommandLinecampos contienen las cadenas exactas que la regla monitorea, causando una alerta.
- Crean una tarea programada que lanza un script de PowerShell (
-
Script de Prueba de Regresión:
#------------------------------------------------- # Script de persistencia y verificación estilo CloudZ #------------------------------------------------- $taskName = "CloudZ_Persistence" $scriptPath = "C:Tempcloudz.ps1" # 1️⃣ Escriba la carga útil de PowerShell que consulta procesos @" # Carga útil de CloudZ – enumeración de procesos Get-CimInstance Win32_Process | Out-Null "@ | Set-Content -Path $scriptPath -Encoding ASCII # 2️⃣ Registre una tarea programada que ejecute la carga útil $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️⃣ Ejecute inmediatamente la tarea (genera schtasks /run) schtasks /run /tn "$taskName" # 4️⃣ Pausa corta para permitir registro Start-Sleep -Seconds 5 -
Comandos de Limpieza:
# Remover tarea programada Unregister-ScheduledTask -TaskName "CloudZ_Persistence" -Confirm:$false # Eliminar el script de carga útil Remove-Item -Path "C:Tempcloudz.ps1" -Force # Opcionalmente detener Sysmon (restaurar configuración original) si es necesario # & "$env:ProgramFilesSysinternalsSysmon.exe" -u