CaptiveCrunch: Midnight Blizzard se dirige a viajeros de todo el mundo para entregar malware y robo de credenciales

Mujer con anteojos teclea en una laptop

Por: Microsoft Threat Intelligence.

Desde principios de mayo de 2026, Microsoft Threat Intelligence ha observado a Storm-2945, un subgrupo de Midnight Blizzard, que lleva a cabo ataques de manipulación de tráfico generalizados pero dirigidos que involucran redes del sector hotelero atendidas por portales cautivos en todo el mundo. A pesar de algunas similitudes en táctica, técnica y procedimiento (TTP, por sus siglas en inglés) con la Operación de secuestro DNS en Forest Blizzard que hicimos pública en abril de 2026, atribuimos esta campaña, que llamamos CaptiveCrunch, a Storm-2945. Según informó ReliaQuest el 23 de julio, parte de esta actividad aprovecha dominios doppelganger que imitan los servicios online de Microsoft para llevar a cabo operaciones de phishing de seguimiento de adversario en el medio (AitM, por sus siglas en inglés) que abusan del flujo de autenticación del código de dispositivo en Microsoft Entra ID. Microsoft Threat Intelligence también ha identificado ataques activos de manipulación de tráfico que conducen a la entrega de malware en sistemas afectados. Microsoft ha observado que Storm-2945 aprovecha la IA para soportar una parte significativa de estas operaciones.

Hoy compartimos nuestros hallazgos sobre estas intrusiones continuas para concienciar sobre esta amenaza y permitir que los clientes protejan sus dispositivos, en especial mientras viajan. Ofrecemos nuestra evaluación de la relación de Storm-2945 con Midnight Blizzard y un análisis de la campaña CaptiveCrunch, donde detallamos el malware y la técnica utilizados en estas operaciones. También ofrecemos orientación sobre mitigación, detección y caza para ayudar a las organizaciones a identificar y defenderse contra la tormenta-2945 y actividades relacionadas.

Microsoft Threat Intelligence desea agradecer a nuestros socios de Anthropic y OpenAI por su colaboración y apoyo durante esta investigación.

La campaña CaptiveCrunch

Desde febrero de 2026, Storm-2945 ha llevado a cabo operaciones con IA, incluidas campañas de phishing dirigidas por código de dispositivo y código OAuth que han llevado al registro de dispositivos Entra y a la posterior recogida de datos desde Microsoft 365. Desde principios de mayo de 2026, Microsoft Threat Intelligence ha observado que Storm-2945 manipula el tráfico DNS y HTTP desde redes atendidas por portales cautivos para redirigir el tráfico de usuarios a través de infraestructuras controladas por los actores. Aunque nuestra investigación sobre el vector de compromiso inicial para las redes de portales cautivos sigue en curso, hemos observado similitudes notables en los equipos y sistemas de gestión utilizados en múltiples redes afectadas. Estas similitudes sugieren que la actividad podría no limitarse a compromisos aislados de espacios individuales y podría reflejar el acceso a servicios compartidos dentro de partes del ecosistema cautivo del portal.

Diagrama que muestra una visión general del flujo de ataque de la campaña CaptiveCrunch.
Figura 1. Resumen del flujo de ataque de CaptiveCrunch

Como parte de la campaña CaptiveCrunch, Storm-2945 ha aprovechado su posición en AitM para redirigir a los usuarios a través de infraestructuras de phishing controladas por actores y también ha entregado malware que en teoría son actualizaciones de navegadores o sistemas operativos en respuesta a comprobaciones automáticas de conectividad emitidas por los navegadores de los usuarios. Se han entregado múltiples variantes, incluidos troyanos de acceso remoto (RAT, por sus siglas en inglés) de Windows completos en Golang compilado, con funcionalidad para realizar enumeración del sistema, recopilar archivos y pulsaciones de teclas, robar credenciales y tokens de sesión, realizar vigilancia de audio y vídeo, monitorizar medios extraíbles y proporcionar al actor de amenazas una carcasa remota en sistemas infectados.

La infraestructura de los actores de amenazas aprovecha una variedad de técnicas ClickFix para inducir al usuario a descargar y ejecutar el malware:

Interfaz de la utilidad Windows Driver Repair, con instrucciones para reparar manualmente una falla en la reparación automática de controladores, incluidos los pasos para ejecutar un script de verificación mediante Windows Terminal.
Figura 2. Prompt ClickFix con instrucciones manuales de usuario
Página web de Google que indica que la verificación falló e incluye instrucciones manuales adicionales para que el usuario las siga.
Figura 3. Prompt ClickFix con instrucciones adicionales tras el fallo de verificación

Además de variantes de malware dirigidas a sistemas Windows, Microsoft Threat Intelligence también está al tanto de indicios de que el actor de la amenaza podría atacar dispositivos Android con técnicas similares, ya que los aterrizajes ClickFix también incluyen instrucciones para que los dispositivos Android descarguen e instalen un archivo APK.

Hasta la fecha, Microsoft ha identificado un compromiso generalizado de las redes Wi-Fi en organizaciones relacionadas con la hostelería y otras redes atendidas por equipos cautivos de portales en varios países. ReliaQuest ha identificado esta actividad no solo en hoteles, sino también en centros de conferencias y otros espacios compartidos, y evalúa que el objetivo de esta actividad es acceder a las cuentas de los viajeros corporativos.

Storm-2945 y Midnight Blizzard

Microsoft Threat Intelligence evalúa que Storm-2945 es un subclúster operativo de Midnight Blizzard basándose en solapamientos técnicos y operativos distintivos. Estas incluyen similitudes técnicas con Storm-2372, un subclúster de operaciones de acceso inicial de Midnight Blizzard, también notable por sus operaciones de phishing con código de dispositivo y código OAuth rastreadas a lo largo de 2025, la exfiltración de correos electrónicos basada en Microsoft Graph, la ingeniería social entregada mediante aplicaciones comerciales de mensajería y similitudes significativas en la victimología.

Midnight Blizzard es un actor amenazante con base en Rusia atribuido por los gobiernos de Estados Unidos y Reino Unido al Servicio de Inteligencia Exterior de la Federación Rusa, también conocido como el SVR. Se sabe que este actor amenazante tiene como objetivo principal gobiernos, entidades diplomáticas, organizaciones no gubernamentales (ONG) y proveedores de servicios de tecnología de la información (TI), principalmente en Estados Unidos y Europa. Midnight Blizzard es constante y persistente en su objetivo operativo, y sus objetivos rara vez cambian. Su objetivo es recopilar inteligencia mediante un espionaje prolongado y dedicado en apoyo a los intereses de la política exterior rusa.

Las operaciones de Midnight Blizzard suelen implicar el compromiso de cuentas válidas y, en algunos casos muy específicos, técnicas avanzadas para comprometer los mecanismos de autenticación dentro de una organización con el fin de ampliar el acceso y evadir la detección. Utilizan métodos de acceso inicial diversos, y Midnight Blizzard también es experta en identificar y abusar de aplicaciones OAuth para moverse de manera lateral entre entornos de nube y para actividades posteriores a compromisos, como la recogida de correos electrónicos.

Oficio y herramientas de CaptiveCrunch

CornFlake: Acceso remoto e implante de robo de información

CornFlake es un Windows RAT completo escrito en Go que sirve como implante persistente principal de Storm-2945. Microsoft ha observado cómo el actor de la amenaza itera con rapidez en esta capa de malware, que cuenta con capacidades personalizables desde la interfaz de usuario de ingeniería social y la recopilación de datos hasta técnicas de antidetección y evasión.

En la ejecución inicial, CornFlake opera en modo cuentagotas: muestra una ventana de progreso falsa convincente diseñada para captar la atención de la víctima mientras el binario se copia a sí mismo en %APPDATA%\svchost32\svchost32.exe y establece la persistencia.

Opciones de ventana falsas configurables por el actor de amenaza en tiempo de compilación:

  • winupdate — Una pantalla de Windows Update que muestra «Trabajando en actualizaciones… No apagues tu ordenador»
  • defender — Un análisis de virus de Windows Security
  • DirectX — Un instalador web de ejecución para usuarios finales de DirectX
  • vcredist — Un instalador redistribuible de Microsoft Visual C++ 2015-2022
  • sysopt — Una utilidad de optimización de discos
  • netfix — Una herramienta de Diagnóstico de Red de Windows
  • navegador — Un prompt de actualización del navegador
  • pdfview — Un instalador visor de documentos
Ventana de actualización falsa que afirma que las actualizaciones se han descargado en un 3 %.
Figura 4. Ventana de actualización falsa

CornFlake se registra como un servicio de Windows llamado svchost32 con el nombre de visualización «Cloud Sync Service« y la descripción «Sincroniza archivos con el proveedor de almacenamiento en la nube», que imita de manera deliberada el proceso legítimo de svchost.exe. Establece mecanismos de persistencia redundantes: registros de servicios de Windows, claves de ejecución del registro, tareas programadas nombradas y una rutina de vigilancia de persistencia que se ejecuta de manera continua para restaurar cualquier mecanismo de persistencia eliminado por defensores o protección de endpoints.

Para mando y control (C2), CornFlake realiza un intercambio efímero de claves Diffie-Hellman Elliptic Curve (ECDH) P-256 con el servidor C2, deriva una clave de sesión mediante SHA-256 y se comunica mediante un protocolo JSON personalizado enmarcado dentro del canal cifrado. Esto proporciona un canal cifrado al servidor C2, donde cada sesión C2  usa una clave efímera única, lo que hace imposible el descifrado del tráfico capturado sin la clave privada específica de la sesión. El archivo de configuración en tiempo de ejecución sync.dat soporta la reconfiguración en caliente de servidores C2, directorios vigilados, patrones de segmentación de archivos y configuraciones de Seguridad de la Capa de Transporte (TLS, por sus silgas en inglés) sin necesidad de reimplementación.

Una vez establecido en un sistema víctima, CornFlake proporciona al operador un conjunto completo de herramientas de recogida, bloqueado por banderas de configuración que permiten la activación selectiva tras el despliegue:

CapacidadDescripción
KeyloggingKeylogger (registro de tecleo) en bruto basado en API de entrada que captura todas las pulsaciones, incluidos los campos de contraseña
Monitorización con portapapelesCaptura cambios en la carpeta con deduplicación SHA-256 y registra el título activo de la ventana en el momento de la captura
Captura de pantallaCapturas de pantalla activadas en inactividad y bajo demanda con umbral de inactividad configurable
Vigilancia auditivaCaptura de micrófono basada en la API de Sesión de Audio de Windows (WASAPI), codificada como archivos WAV
VideovigilanciaCaptura de webcam basada en Media Foundation, codificada como JPEG
Robo de credenciales en el navegadorMódulo derivado de ChromeKatz que soporta la extracción de cookies en tiempo real desde la memoria de procesos (navegadores Chromium) y la extracción de contraseñas almacenadas de bases de datos en disco, incluido el bypass de cifrado por aplicaciones de Chrome (ABE) y la descifración NSS/SDR de Firefox
Exfiltración de archivosApunta a los archivos basándose en extensiones de archivo con monitorización en tiempo real del sistema de archivos y un acelerador de subida (1.000 archivos o 500 MB por ciclo). Las extensiones de archivo se categorizan como Documentos, Archivos, Imágenes, Código, Datos, Correos electrónicos y Claves
Monitorización de la unidad USBDetecta y escanea medios extraíbles cuando se inserta
Barrido de postura de seguridadRecopila 18 categorías de inteligencia de host, incluido software instalado, antivirus (AV)/productos de detección y respuesta de endpoint (EDR), exclusiones de Defender, nivel de Control de Cuenta de Usuario (UAC), historial del Protocolo de Escritorio Remoto (RDP), archivos más recientes usados por Office (MRU) y consejos de credenciales
Carcasa remotaEjecución arbitraria de comandos vía cmd.exe o PowerShell (con  la bandera -NoP para suprimir la detección basada en perfiles)

CornFlake también expone un servidor local host HTTP API (/upload, /reload, /status) que transforma el RAT en una plataforma modular: cargas útiles complementarias o de siguiente etapa como ChocoShell podrían realizar tareas de exfiltración de archivos, activar recargas en caliente de configuración o comprobar la conectividad C2 usando el canal seguro C2 preestablecido para la comunicación.

ChocoShell: Ladrón de información de PowerShell

ChocoShell es el robo de información basado en Powershell de la campaña, entregado y ejecutado por completo en memoria. Su objetivo principal es el robo en gran volumen de cookies de sesión del navegador, contraseñas guardadas, tokens de inicio de sesión único (SSO, por sus siglas en inglés) de Microsoft 365 y credenciales Wi-Fi de sistemas comprometidos. Mientras que CornFlake proporciona al operador una base persistente y duradera sobre el dispositivo, ChocoShell está diseñado para extraer las credenciales más valiosas operativamente, dando al operador acceso a entornos de nube víctimas.

El script de ChocoShell fue elaborado con comentarios completos de los desarrolladores que revelan la intención del operador detrás de cada decisión de código, incluidas referencias explícitas a firmas de detección de Microsoft y el razonamiento detrás de decisiones específicas de evasión. El estándar de codificación coherente y los comentarios descriptivos sugieren que el autor podría haber aprovechado la generación de código asistida por IA.

Evasión defensiva. Al ejecutarse, ChocoShell se conecta con un servidor C2 codificado en 213.145.86[.]112 e implementa varias técnicas de evasión en secuencia. Desactiva la Interfaz de Escaneo Antimalware (AMSI, por sus siglas en inglés) mediante la reflexión de .NET para evitar el escaneo de bloques de scripts y evade la detección de comportamiento de Microsoft que se activa en los cmdlets sospechosos de peticiones web de PowerShell. También se emplea una comprobación sandbox basada en el tiempo como mecanismo de detección de máquinas virtuales (VM, por sus siglas en inglés), que sale de manera silenciosa, sin realizar ninguna recogida si se detecta.

Comunicación C2. ChocoShell se comunica con su servidor C2 a través de HTTPS con rutas URI diseñadas para integrarse con el tráfico web legítimo. Las balizas usan /t/pixel.gif?m=<estado>, imitando un píxel de seguimiento de imagen. Se obtienen herramientas adicionales de /cdn/chunks/polyfill-7e2b.min.js, disfrazadas como un archivo de polyfill en JavaScript. Este módulo descargado está decodificado en Base64 y se ejecuta en memoria mediante [ScriptBlock]::Create(), para proporcionar capacidades de extracción de claves de cifrado del navegador, suplantación de tokens SYSTEM y bloqueo de firma Defender. Los datos exfiltrados son enviados por POST a /t/event como JSON comprimido en GZip y envuelto en Base64.

Escalada de privilegios. ChocoShell requiere privilegios administrativos para sus capacidades más impactantes: suplantación de tokens SYSTEM para descifrado ABE de Chrome, creación de copias en sombra por Volume Shadow Copy Service (VSS), bloqueo de firma Defender. Implementa tres técnicas silenciosas de bypass UAC con respaldo ordenado:

  1.  Secuestro de tarea SilentCleanup: Escribe un comando malicioso en HKCU\Environment\windir, luego activa la tarea programada SilentCleanup incorporada, que resuelve %windir% desde el entorno del usuario, ejecutando el comando del actor de amenazas con privilegio elevado. El valor del registro se limpia tras dos segundos para evitar la detección en la nube.
  2. wsreset.exe secuestro COM: Crea una clave de manejador COM en HKCU\Software\Classes y lanza la herramienta de reinicio automático de la Windows Store.
  3. sdclt.exe secuestrador de carpetas: Secuestra HKCU\Software\Classes\Folder\shell\open\command y lanza la utilidad de copia de seguridad de Windows con la  bandera /KickOffElev.

Si ninguno de los bypass silenciosos tiene éxito (por ejemplo, el usuario no es un administrador local), ChocoShell vuelve a un aviso visible de UAC mediante Start-Process -Verb RunAs. Cabe destacar que el script también contiene una variante diseñada para ejecutarse dentro del proceso host de Configuración de Estado Deseado (DSC, por sus siglas en inglés) de WinGet (ConfigurationRemotingServer), lo que sugiere un vector de ataque mediante una configuración maliciosa de WinGet DSC utilizada en el aprovisionamiento de máquinas Windows.

Robo de credenciales y de la sesión. Una vez ejecutado con permisos elevados, ChocoShell bloquea las actualizaciones de firmas de Defender y recopila, de manera sistemática, datos de múltiples fuentes. Para navegadores basados en Chromium (Chrome, Edge, Brave, Opera, Opera GX, Vivaldi), extrae la clave maestra de cifrado del archivo de Estado Local del navegador, para gestionar tanto el esquema ABE moderno (Chrome v127+) como el esquema heredado solo de protección de datos (DPAPI). El descifrado ABE requiere acceso DPAPI a nivel SYSTEM, que el malware obtiene al suplantar un token de proceso SYSTEM tomado prestado de winlogon.exe, wininit.exe o services.exe. Las bases de datos SQLite bloqueadas en navegador se acceden mediante tres estrategias: acceso compartido a archivos, instantáneas del Servicio Sombra de Volumen y copia directa como respaldo.

Como ruta de recolección paralela, ChocoShell lanza Chrome, Edge y Brave con la  bandera –remote-debugging-port y emite Network.getAllCookies a través del Protocolo de DevTools de Chrome (CDP, por sus siglas en inglés). Esto evita por completo a ABE, lo que permite al navegador realizar su propio descifrado interno y devuelve los valores de las cookies en texto plano. Para gestionar problemas de privilegios (los navegadores lanzados por el SISTEMA heredan el token incorrecto), el malware crea tareas programadas transitorias con TASK_LOGON_INTERACTIVE_TOKEN para iniciar el navegador en la sesión del usuario iniciado sesión. Tras la extracción, el navegador se detiene y se reinicia con –restore-last-session para evitar alertar al usuario.

Para los navegadores de la familia Firefox (Firefox, Waterfox, LibreWolf, Floorp, Zen), el malware copia bases de datos cookies.sqlite sin cifrar de cada perfil. Además, ChocoShell recopila tokens de acceso Microsoft 365 y Azure Active Directory (AD), tokens de actualización y tokens Web Account Manager (WAM) de  archivos .tbres en la caché del Token Broker. La recopilación de estos tokens representa una amenaza significativa para los entornos empresariales, ya que los actores peligrosos podrían reproducir sesiones SSO sin cookies de navegador. Además, las credenciales Wi-Fi se recolectan mediante el perfil de show de netsh wlan con key=clear.

Exfiltración y limpieza. Todos los datos recogidos se agregan en una estructura JSON, se comprimen en GZip, se codifican en Base64 y se envían por POST al punto final /t/event del C2. Tras la exfiltración, todas las variables de datos recogidas quedan anuladas, se fuerza la recogida de basura, se eliminan las copias sombra de VSS mediante Windows Management Instrumentation (WMI), se eliminan los scripts de elevación temporales y se verifican que todas las claves de registro de UAC (ya limpiadas durante la escalada) se verifican eliminadas.

FruitStone: Panel Operator C2

FruitStone es el panel C2 basado en la web que los operadores de Storm-2945 utilizan para gestionar toda la infraestructura de campaña de CaptiveCrunch. Implementado como una aplicación de una sola página (HTML y JavaScript) que sirve como la interfaz del servidor C2 con toda la funcionalidad expuesta sin autenticación, FruitStone proporciona un panel centralizado para gestionar terminales comprometidas, construir y desplegar nuevas cargas útiles de campaña, y revisar todos los datos recopilados (como capturas de pantalla, pulsaciones de teclas, credenciales del navegador).

Cobertura operativa. El panel se marca como «CloudSync Console» con un pie de página que dice «Acuity Systems, Inc. — Cloud Infrastructure Portal v3.2.1», diseñado para parecer un software legítimo de gestión empresarial en la nube si la URL del panel es detectada por defensores o proveedores de alojamiento. Esta mascarada se extiende al nombre del servicio del agente CornFlake (Cloud Sync Service) y a la descripción («Sincroniza archivos con el proveedor de almacenamiento en la nube»), para crear una historia de cobertura coherente a lo largo de toda la cadena de herramientas.

Consola CloudSync presentada como el panel de inicio de sesión de Acuity Systems, Inc.
Figura 5. Máscara de paneles de la Consola CloudSync

Gestión de sesiones y soporte multioperador. FruitStone utiliza autenticación basada en JSON Web Token (JWT), revocación de sesión y limitación de velocidad con bloqueo de IP para evitar ataques de fuerza bruta contra el inicio de sesión del panel. Se pueden provisionar múltiples operadores con cuentas individuales, y todas las sesiones activas son visibles con dirección IP, agente de usuario y tiempo de creación para permitir la conciencia de seguridad operativa entre los operadores.

Gestión de agentes. El panel muestra todos los agentes CornFlake registrados en un panel de control con actualizaciones de estado en tiempo real mediante Eventos Enviados por el Servidor (SSE, por sus siglas en inglés). Cada tarjeta de agente muestra información completa del sistema, incluido el nombre de host, nombre de usuario, versión del sistema operativo, CPU, RAM, uso del disco, resolución de pantalla, zona horaria, pertenencia al dominio y presencia de cámara/micrófono, todo recogido durante el barrido de postura CornFlake. Los agentes se agrupan por país y subred, con la distribución geográfica visualizada en un mapa.

Los operadores podían interactuar con agentes individuales a través de:

  • Shell remoto — Ejecución interactiva de comandos cmd.exe o PowerShell con historial de comandos
  • Navegador del sistema de archivos — Recorrido en directo de directorios y descarga arbitraria de archivos desde hosts comprometidos
  • Tarea de recogida — Captura de pantalla bajo demanda, lista de procesos, vaciado del búfer de keylog, volcado de portapapeles, encuesta de postura de seguridad, extracción de cookies/contraseñas de ChromeKatz, captura de cámara y grabación de audio
  • Push de configuración — Reconfiguración en tiempo real de servidores C2, rutas de reloj y temporización de balizas C2
  • Actualización del agente — Actualización del implante in situ al enviar una nueva versión de CornFlake a un agente en ejecución
  • Kill del agente — Terminación remota del implante CornFlake

Constructor de campañas. Un asistente paso a paso permite a los operadores configurar y construir nuevas cargas útiles de CornFlake directo desde el panel:

  1. Identidad — ID de campaña, host y puerto C2, URL base HTTP, nombre del archivo ejecutable (svchost32.exe por defecto) y tipo de dropper (dropper C a ~19 KB, Go stub a ~8 MB, o autoinstalador independiente)
Pestaña de identidad
Figura 6. Pestaña de identidad
  1. Capacidades — Alternar módulos individuales de colección: capturas de pantalla, enumeración de procesos, keylogging, monitorización de portapapeles, encuesta de postura, exfiltración de archivos y robo de credenciales en ChromeKatz
Pestaña de capacidades
Figura 7. Pestaña de Capacidades
  1. Rutas de archivo — Configurar directorios y extensiones de archivo específicas por categoría (documentos, archivos, imágenes, código, datos, correos electrónicos, claves de cifrado)
Pestaña de rutas de archivo
Figura 8. Pestaña de rutas de archivo
  1. Evasión — Habilitar aleatorización de símbolos ininteligibles (para cargas útiles GoLang), codificación de cadenas XOR, compresión de subida de GZip y modo de depuración
Pestaña de evasión
Figura 9. Pestaña de evasión

Gestión de infraestructuras. FruitStone proporciona interfaces de gestión para tres capas de infraestructura de apoyo:

  • Relés proxy — Arquitectura de relés C2 multiproxy con seguimiento de certificados TLS (huella dactilar, expiración), comprobaciones de salud, conteo de conexiones, bytes redirigidos y capacidades de rotación que envían listas de servidores actualizadas a todos los agentes en línea
  • Perfiles de baliza — Perfiles de temporización configurables que controlan intervalos de suspensión de agentes, retrasos en reconexión, suplantación de Indicación de Nombre de Servidor TLS (SNI, por sus siglas en inglés) (como teams.microsoft.com) y dominios de respaldo DNS
  • Servidores de staging — Infraestructura externa de alojamiento de cargas útiles con push-to-deploy, listado de archivos y monitorización de la salud
Vista de la interfaz de servidores de staging de CloudSync
Figura 10. Vista de la interfaz de servidores de staging de CloudSync

Abuso del código del dispositivo para el acceso a la nube

Desde el 16 de julio, Microsoft ha observado que una parte de las páginas de aterrizaje de CaptiveCrunch redirigen a los usuarios a experiencias de flujo de autenticación por código de dispositivos. En estos casos, los usuarios que reciben estos aterrizajes pueden recibir instrucciones para introducir un código de dispositivo en una página legítima de inicio de sesión de Microsoft, una técnica conocida como phishing por código de dispositivo.

La autenticación por código de dispositivo es un flujo de trabajo OAuth legítimo diseñado para dispositivos que no pueden soportar una experiencia tradicional de inicio de sesión. Sin embargo, los actores maliciosos podían abusar de este flujo al iniciar una solicitud de autenticación en nombre de un usuario y luego convenciéndolo para introducir un código de dispositivo controlado por el actor en una página legítima de autenticación de Microsoft. Cuando tiene éxito, la víctima autentica la sesión del actor amenazante en lugar de la suya propia.

Esta actividad es coherente con operaciones de phishing por código de dispositivo reportadas de manera previa por Midnight Blizzard desde agosto de 2024. La técnica observada no parece novedosa; sin embargo, integrar el phishing por código de dispositivo en operaciones de portal cautivo y manipulación de tráfico podría aumentar la probabilidad de que los usuarios perciban la solicitud de autenticación como legítima. Para más detalles sobre técnicas de phishing por código de dispositivos relacionadas con Midnight Blizzard, véase: Storm-2372 realiza una campaña de phishing con código de dispositivo. Para entender el uso de phishing por código de dispositivo por parte de otros actores amenazantes y las mitigaciones asociadas, véase Dentro de una campaña de phishing de código habilitada por IA.

Cómo protegerse contra la actividad de CaptiveCrunch

Minimizar la confianza en la hospitalidad y las redes de huéspedes

Al viajar, los usuarios deben tratar las redes inalámbricas de hoteles, conferencias, aeropuertos y otras compañías de huéspedes como poco fiables.

  • Prefieran conectividad privada (incluidos puntos de acceso móvil, satélite y conexiones de datos celulares basadas en eSIM) frente a WiFi público siempre que sea posible.
  • Consideren usar routers de viaje gestionados por empresas o dispositivos hotspot que establezcan túneles cifrados hacia infraestructuras corporativas de confianza antes de acceder a recursos sensibles.
  • Eviten descargar actualizaciones de software, certificados, actualizaciones del navegador, herramientas de solución de problemas de red o utilidades de seguridad que se presenten a través de portales cautivos u otras indicaciones web inesperadas.
  • Verifiquen las solicitudes de actualización mediante mecanismos fiables del sistema operativo en lugar de mensajes emergentes o indicaciones de sitios web.

Reforzar los controles de identidad y acceso

Las organizaciones deberían asumir que la infraestructura de redes públicas y de hostelería podría no ser fiable y adoptar controles que limiten la exposición a la manipulación de tráfico, el robo de credenciales y el phishing por código de dispositivos.

  • Educar a los usuarios para que reconozcan los prompts al estilo ClickFix, las comprobaciones falsas y las instrucciones de pegar y ejecutar como maliciosos, en especial cuando invocan intérpretes de comandos o hosts de scripts como cmd.exe, PowerShell, rundll32.exe o mshta.exe.
  • Utilizar soluciones sin contraseña como las claves de acceso e implementar autenticación multifactor (MFA, por sus siglas en inglés).
  • Solo permitir el flujo de código del dispositivo cuando sea necesario. Microsoft recomienda bloquear el flujo de código del dispositivo siempre que sea posible. Cuando sea necesario, configuren el flujo de código del dispositivo de Microsoft Entra ID en tus políticas de Acceso Condicional.
  • Implementar una política de riesgo de inicio de sesión para automatizar la respuesta a los inicios de sesión arriesgados. Un riesgo de inicio de sesión representa la probabilidad de que una solicitud de autenticación no sea autorizada por el propietario de la identidad. Una política basada en riesgos de inicio de sesión puede implementarse añadiendo una condición de riesgo de inicio de sesión a las políticas de Acceso Condicional que evalúe el nivel de riesgo de un usuario o grupo específico. Según el nivel de riesgo (alto/medio/bajo), una política puede configurarse para bloquear el acceso o forzar la MFA.
    • Cuando un usuario es de alto riesgo y  se habilita la evaluación de acceso condicional, el acceso del usuario se revoca y se ve obligado a volver a autenticarse.
    • Para monitorización regular de actividades, utilicen los informes de inicio de sesión Risky, que muestran intentos y actividades de acceso exitoso de usuarios donde el propietario legítimo podría no haber realizado el inicio de sesión.
  • Utilizar una solución Security Service Edge (SSE) como Global Secure Access para acceder de manera segura a cualquier aplicación o recurso por medio de controles de acceso de red, identidad y punto final.

Reducir la exposición durante el registro del portal cautivo

Las organizaciones deberían revisar qué información proporcionan los empleados a los proveedores de hostelería al conectarse a las redes de huéspedes.

  • No reutilicen credenciales corporativas en páginas de registro de hoteles, conferencias o redes de huéspedes.
  • Cuando sea posible, las organizaciones deberían evaluar si es necesario el servicio inalámbrico proporcionado por el lugar para eventos corporativos y conferencias.
  • Las organizaciones deben minimizar la divulgación innecesaria de identidades de empleados, afiliaciones organizativas y detalles de viaje al reservar alojamiento o registrarse para acceder a la red de invitados, en consonancia con la política corporativa y los requisitos locales aplicables.

Detección y guía de caza con Microsoft Defender

Los clientes de Microsoft Defender pueden consultar la lista de detecciones aplicables a continuación. Microsoft Defender coordina la detección, prevención, investigación y respuesta entre terminales, identidades, correo electrónico y aplicaciones para proporcionar protección integrada contra ataques como la amenaza que se discute en este blog.

Microsoft Defender for Endpoint detecta actividad de Storm-2945 bajo la detección Se ha detectado actividad sospechosa vinculada a un actor amenazante patrocinado por el Estado ruso. Sin embargo, estas alertas pueden ser activadas por actividades no relacionadas de actores amenazantes. El siguiente gráfico enumera las detecciones de Microsoft Defender específicas para los TTP utilizados por Storm-2945 en este ataque.

TácticaActividad observadaCobertura de Microsoft Defender
Acceso inicialDescarga de archivos mediante redirección de portal cautivoMicrosoft Defender for Endpoint – Archivo descargado sospechoso
Acceso inicialTécnica ClickFix, actualización falsa de navegador o sistema operativo, descarga inicial de archivoMicrosoft Defender para Endpoint
– Posible acceso inicial desde una amenaza emergente – Posible actividad ClickFix
PersistenciaCornFlake registra un servicio de Windows, una clave de Registro Run y una tarea programadaMicrosoft Defender para Endpoint
– Proceso de tarea programada sospechosa lanzada – Tarea programada sospechosa – Archivo sospechoso añadido para ejecutar clave – Registro de servicio

sospechoso Microsoft Entra ID
Protection – Microsoft Entra inteligencia de amenazas – IP verificada del actor de amenazas
Sigilo/Evasión defensivaChocoShell desactiva AMSIMicrosoft Defender para Endpoint
– Posible manipulación de la Interfaz de Escaneo Antimalware (AMSI, por sus siglas en inglés)
Acceso por credencialesEl robo de cookies de sesión del navegador, contraseñas guardadas, tokens SSO de Microsoft 365 y credenciales Wi-Fi por parte de ChocoShell. Abuso del código del dispositivo.Microsoft Defender para Endpoint
– Posible robo de contraseñas y otra información sensible del navegador web – Actividad sospechosa DPAPI

Microsoft Defender For Identity
– Actividad anómala de autenticación por código de dispositivo OAuth

Microsoft Defender XDR
– Compromiso de cuenta de usuario mediante phishing de código de dispositivo OAuth – Inicio de sesión malicioso desde una dirección IP asociada a infraestructura de atacante reconocida – Autenticación sospechosa de Azure mediante posible código de dispositivo Phishing
ColecciónMonitoreo y tala de CornFlakeMicrosoft Defender para Endpoint: Actividad que podría llevar a robo de información
Escalada de privilegiosTécnicas de bypass UAC de ChocoShellMicrosoft Defender para Endpoint
– Se detectó un bypass UAC – Posible secuestro del Modelo de Objetos de Componentes (COM)

Microsoft Security Copilot

Microsoft Security Copilot está integrado en Microsoft Defender y proporciona a los equipos de seguridad capacidades impulsadas por IA para resumir incidentes, analizar archivos y scripts, resumir identidades, usar respuestas guiadas y generar resúmenes de dispositivos, consultas de búsqueda e informes de incidentes.

Los clientes también pueden desplegar agentes de IA, incluidos los siguientes agentes de Microsoft Security Copilot, para realizar tareas de seguridad de forma eficiente:

Security Copilot también está disponible como una experiencia independiente donde los clientes pueden realizar tareas específicas relacionadas con la seguridad, como la investigación de incidentes, el análisis de usuarios y la evaluación del impacto en vulnerabilidades. Además, Security Copilot ofrece escenarios para desarrolladores que permiten a los clientes crear, probar, publicar e integrar agentes y plugins de IA para satisfacer necesidades de seguridad únicas.

Informes de inteligencia sobre amenazas

Los clientes de Microsoft Defender XDR pueden utilizar los siguientes informes de análisis de amenazas en el portal Defender (requiere licencia para al menos un producto Defender XDR) para obtener la información más actualizada sobre el actor de la amenaza, la actividad maliciosa y las técnicas discutidas en este blog. Estos informes proporcionan la inteligencia, la información de protección y las acciones recomendadas para prevenir, mitigar o responder a las amenazas asociadas encontradas en los entornos de los clientes.

Los clientes de Microsoft Security Copilot también pueden utilizar la integración de Microsoft Security Copilot en Microsoft Defender Threat Intelligence, ya sea en el portal independiente Security Copilot o en la experiencia integrada en el portal Microsoft Defender para obtener más información sobre este actor amenazante.

Búsqueda de consultas

Microsoft Defender XDR

Los clientes de Microsoft Defender XDR pueden ejecutar las siguientes  consultas avanzadas de búsqueda para encontrar actividad relacionada en sus redes:

Detectar la creación de archivos tras una prueba de conectividad Wi-Fi en dispositivos

La siguiente consulta verifica la creación de un archivo en un dispositivo dentro de los dos minutos posteriores a que el dispositivo realice la prueba integrada del Indicador de Estado de Conectividad de Red (NCSI, por sus siglas en inglés), que ocurre cuando se establece conectividad de red a una red Wi-Fi con un portal cautivo. Esta actividad podría indicar la presencia inicial de un atacante en un archivo de acceso en un dispositivo.

Tengan en cuenta que no todos los archivos descubiertos a través de esta consulta pueden ser maliciosos o estar relacionados con esta actividad amenazante.

let ncsi_endpoints = dynamic([«msftconnecttest.com»,»edge-http.microsoft.com»,»msftncsi.com»,»captive.apple.com»,»clients1.google.com»,

«clients3.google.com»,»clients4.google.com»,»clients6.google.com»,»connectivitycheck.gstatic.com»,»connectivitycheck.android.com»,

    «android.clients.google.com»,»www.gstatic.com»,»detectportal.firefox.com»,»detectportal.brave-http-only.com»,»cloudflareportal.com»,

    «cloudflarecp.com»,»cloudflareok.com»,»connectivity-check.warp-svc»,»connectivity.cloudflareclient.com»,»spectrum.s3.amazonaws.com»,

    «nmcheck.gnome.org»]);

let NCSIEvents = DeviceNetworkEvents

    | where Timestamp > ago(7d)

    | where RemoteUrl has_any (ncsi_endpoints)

    | project NCSI_Timestamp = Timestamp, DeviceId, DeviceName, RemoteUrl, NCSI_ReportId = ReportId, NCSI_InitiatingProcessFileName = InitiatingProcessFileName, NCSI_InitiatingProcessCommandLine = InitiatingProcessCommandLine, NCSI_AccountName = InitiatingProcessAccountName;

let FileDownloadEvents = DeviceFileEvents

    | where Timestamp > ago(7d)

    | where ActionType == «FileCreated»

    | where FileName has_any («.exe»,».msi»,».zip»,».rar»,».7z»)

    | project Download_Timestamp = Timestamp, DeviceId, FileName, FolderPath, Download_ReportId = ReportId, Download_InitiatingProcessFileName = InitiatingProcessFileName, Download_InitiatingProcessCommandLine = InitiatingProcessCommandLine, Download_AccountName = InitiatingProcessAccountName;

NCSIEvents

| join kind=inner (

    FileDownloadEvents

) on DeviceId

| where Download_Timestamp >= NCSI_Timestamp and Download_Timestamp <= NCSI_Timestamp + 2m

| project

    NCSI_Timestamp,

    Download_Timestamp,

    DeviceName,

    DeviceId,

    RemoteUrl,

    FileName,

    FolderPath,

    InitiatingProcessFileName = Download_InitiatingProcessFileName,

    InitiatingProcessCommandLine = Download_InitiatingProcessCommandLine,

    AccountName = Download_AccountName,

    NCSI_ReportId,

    Download_ReportId

Detectar conectividad con la infraestructura Storm-2945

La siguiente consulta verifica la conectividad con la infraestructura Storm-2945 observada en esta actividad de ataque.

let target_domains = dynamic([«ms365-device.com», «ms365-live.com», «m365-owa.com», «owa-ms365.com»]); let target_ips = dynamic([«31.57.243.154», «38.146.28.75», «38.146.28.132», «104.194.159.150», «107.189.26.194», «213.145.86.112»]); DeviceNetworkEvents | where RemoteUrl has_any(target_domains) or RemoteIP in (target_ips) | project     Timestamp,     DeviceName,     DeviceId,     RemoteUrl,     RemoteIP,     LocalIP,     InitiatingProcessFileName,     InitiatingProcessCommandLine,     AccountName = InitiatingProcessAccountName,     ReportId

Detectar la presencia de CornFlake RAT en sistemas afectados

La siguiente consulta verifica la presencia del binario CornFlake RAT.

DeviceRegistryEvents | where RegistryKey has @»\SYSTEM\CurrentControlSet\Services\svchost32″ | where ActionType == «RegistryValueSet» | where (RegistryValueName == «DisplayName» and RegistryValueData == «Cloud Sync Service»)     or (RegistryValueName == «Description» and RegistryValueData == «Synchronizes files with the cloud storage provider») | project     Timestamp,     DeviceName,     DeviceId,     RegistryKey,     RegistryValueName,     RegistryValueData,     ActionType,     InitiatingProcessFileName,     InitiatingProcessCommandLine,     InitiatingProcessAccountName,     ReportId

Detectar registro de servicio CornFlake RAT para Windows

La siguiente consulta verifica el registro del servicio CornFlake RAT para Windows.

DeviceRegistryEvents | where RegistryKey has @»\SYSTEM\CurrentControlSet\Services\svchost32″ | where ActionType == «RegistryValueSet» | where (RegistryValueName == «DisplayName» and RegistryValueData == «Cloud Sync Service»)     or (RegistryValueName == «Description» and RegistryValueData == «Synchronizes files with the cloud storage provider») | project     Timestamp,     DeviceName,     DeviceId,     RegistryKey,     RegistryValueName,     RegistryValueData,     ActionType,     InitiatingProcessFileName,     InitiatingProcessCommandLine,     InitiatingProcessAccountName,     ReportId

Microsoft Sentinel

Los clientes de Microsoft Sentinel pueden utilizar la analítica de TI Mapping (una serie de análisis con el prefijo ‘TI map’) para emparejar de manera automática los indicadores maliciosos de dominio mencionados en esta entrada del blog con los datos de su espacio de trabajo. Si los análisis de TI Map no están desplegados en la actualidad, los clientes pueden instalar la solución de Inteligencia de Amenazas desde el Microsoft Sentinel Content Hub para que la regla de análisis se despliegue en su espacio de trabajo Sentinel.

Detectar IP de red e indicadores de dominio de compromiso con ASIM

La siguiente consulta verifica las direcciones IP y los IOC de dominio entre las fuentes de datos soportadas por el analizador de sesiones de red ASIM:

//IP list and domain list- _Im_NetworkSession let lookback = 30d; let ioc_ip_addr = dynamic([«213.145.86.112»]); let ioc_domains = dynamic([«213.145.86.112/t/pixel.gif», «213.145.86.112/cdn/chunks/polyfill-7e2b.min.js», «213.145.86.112/t/event»]); _Im_NetworkSession(starttime=todatetime(ago(lookback)), endtime=now()) | where DstIpAddr in (ioc_ip_addr) or DstDomain has_any (ioc_domains) | summarize imNWS_mintime=min(TimeGenerated), imNWS_maxtime=max(TimeGenerated),   EventCount=count() by SrcIpAddr, DstIpAddr, DstDomain, Dvc, EventProduct, EventVendor

Detectar IP de sesiones web e indicadores de hash de archivo de compromiso usando ASIM

La siguiente consulta verifica direcciones IP, dominios y IOCs de hash de archivo entre fuentes de datos soportadas por el analizador de sesiones web ASIM:

//IP list – _Im_WebSession let lookback = 30d; let ioc_ip_addr = dynamic([«213.145.86.112»]); let ioc_sha_hashes =dynamic([“918fa52ae45ed60ba7cc8bdc99c3cbe9ab92e0375ec31fc05d0d4513be11c593”, “be99857449d2856dd5a84e21c8a3d5e0e01456adb44062ddec5a6b4970d8d42c”]); _Im_WebSession(starttime=todatetime(ago(lookback)), endtime=now()) | where DstIpAddr in (ioc_ip_addr) or FileSHA256 in (ioc_sha_hashes) | summarize imWS_mintime=min(TimeGenerated), imWS_maxtime=max(TimeGenerated),   EventCount=count() by SrcIpAddr, DstIpAddr, Url, Dvc, EventProduct, EventVendor

Detectar indicadores de compromiso de dominio y URL con ASIM

La siguiente consulta verifica los IOCs de dominio y URL entre las fuentes de datos soportadas por el analizador de sesiones web ASIM:

// file hash list – imFileEvent // Domain list – _Im_WebSession let ioc_domains = dynamic([«https://213.145.86.112/t/pixel.gif», «https://213.145.86.112/cdn/chunks/polyfill-7e2b.min.js», «https://213.145.86.112/t/event»]); _Im_WebSession (url_has_any = ioc_domains)

Comunicaciones ChocoShell C2

La siguiente consulta detecta comunicaciones de ChocoShell con su servidor C2 con HTTPS con rutas URI diseñadas para integrarse con tráfico web legítimo. Las balizas usan /t/pixel.gif?m=<status>, para imitar un píxel de seguimiento de imagen.

let lookback = 30d; let ioc_url_artifacts = dynamic([«/t/pixel.gif?m=»]); _Im_WebSession(starttime=todatetime(ago(lookback)), endtime=now()) | where DstDomain  in (ioc_url_artifacts) | summarize imWS_mintime=min(TimeGenerated), imWS_maxtime=max(TimeGenerated),   EventCount=count() by SrcIpAddr, DstIpAddr, Url, Dvc, EventProduct, EventVendor

Indicadores de compromiso

IndicadorTipoDescripciónPrimera aparición
MS365-DISPOSITIVO[.]comDominioRedirección DCF de CaptiveCrunch2026-07-23
MS365-LIVE[.]comDominioRedirección DCF de CaptiveCrunch2026-05-14
M365-OWA[.]comDominioInfraestructura CaptiveCrunch AitM2026-07-20
owa-ms365[.]comDominioInfraestructura CaptiveCrunch AitM2026-07-16
31.57.243[.]154Dirección IPInfraestructura CaptiveCrunch AitM2026-07-16
38.146.28[.]75Dirección IPInfraestructura CaptiveCrunch AitM2026-07-01
38.146.28[.]132Dirección IPResolvedor DNS CaptiveCrunch2026-07-15
104.194.159[.]150Dirección IPInfraestructura CaptiveCrunch AitM2026-04-28
107.189.26[.]194Dirección IPChocoShell C2 / CaptiveCrunch DNS Resolver2026-02-27
213.145.86[.]112Dirección IPChocoShell C22026-07-01
918FA52AE45ED60BA7CC8BDC99C3CBE9AB92E0375EC31FC05D0D4513BE11C593Hash de archivoCornFlake2026-07-03
BE99857449D2856DD5A84E21C8A3D5E0E01456ADB44062DDEC5A6B4970D8D42CHash de archivoChocoShell2026-07-10

Referencias

Más información

Para la más reciente investigación en seguridad de la comunidad de Inteligencia de Amenazas de Microsoft, consulten el blog de Inteligencia de Amenazas de Microsoft.

Para recibir notificaciones sobre nuevas publicaciones y participar en debates en redes sociales, síganos en LinkedIn, X (antes Twitter) y Bluesky.

Para escuchar historias y opiniones de la comunidad de Microsoft Threat Intelligence sobre el panorama de amenazas en constante evolución, escuchen el podcast Microsoft Threat Intelligence.

Español (España)
Icono de exclusión de opciones de privacidad Tus opciones de privacidad
Privacidad de la salud del consumidor Ponte en contacto con Microsoft Privacidad Gestionar cookies Condiciones de uso Marcas registradas Sobre nuestra publicidad Docs de cumplimiento de la UE