Introducción: La evolución del phishing en videojuegos y el vector BitB
Durante más de una década, los ataques de suplantación de identidad (phishing) dirigidos a jugadores de PC —en especial a usuarios de Steam, Epic Games y Discord— dependían de señales relativamente evidentes: dominios con erratas tipográficas (como staemcommunitly.com), conexiones HTTP no cifradas y clones visuales deficientes de las páginas de acceso. Los usuarios concienciados adoptaron una regla universal: verificar siempre la barra de direcciones del navegador para comprobar el dominio exacto y la presencia del candado SSL antes de introducir credenciales.
Sin embargo, las redes de ciberdelincuencia que atacan a la comunidad gamer han evolucionado de forma drástica. La proliferación del phishing navegador en el navegador (Browser-in-the-Browser o BitB) ha invalidado la inspección visual clásica. En un ataque BitB, la víctima no es redirigida a una URL sospechosa externa. En su lugar, el sitio web malicioso inyecta en el propio Modelo de Objetos del Documento (DOM) de la página una ventana simulada de sistema operativo con precisión a nivel de píxel.
Esta ventana simulada incorpora una barra de direcciones falsa que muestra https://steamcommunity.com, un candado de seguridad verificado ficticio y controles de ventana idénticos a los del sistema operativo (minimizar, maximizar, cerrar). Al combinarse con un sistema de proxy inverso intermediario (Browser-in-the-Middle o BitM), el ataque elude la autenticación en dos pasos de Steam Guard, intercepta las cookies de sesión autorizadas y ejecuta el vaciado automático de la cuenta en cuestión de segundos.
Anatomía técnica del ataque BitB: Simulación DOM y relés proxy inverso
El ataque BitB fusiona la manipulación de la interfaz gráfica en el cliente con la retransmisión de tráfico en tiempo real en el servidor.
[Área visible del navegador de la víctima: sitio malicioso "cs2-tournament-bracket.com"]
│
├─► [Contenedor de ventana simulada BitB (nodo DOM [div])]
│ ├── Barra de título falsa y controles de ventana del sistema
│ └── Barra de direcciones estática simulada: "https://steamcommunity.com/openid/login"
│
└─► [Iframe incrustado / Formulario / Retransmisión WebSocket]
│
▼ (Captura en tiempo real de credenciales y código Steam Guard)
[Servidor proxy inverso del atacante (por ejemplo, Evilginx o Muraena)]
│
▼ (Reenvía las credenciales legítimas a la infraestructura de Valve)
[Punto de autenticación oficial de Steam (valve / steamcommunity.com)]
│
▼ (Valve emite cookies de sesión autenticadas: steamLoginSecure, sessionid)
[El atacante intercepta las cookies -> Drenado automático de inventario y API Keys]
La ilusión en el cliente: Simulación de ventana en el DOM
En un proceso legítimo de autenticación OpenID de Steam, el sitio web de terceros invoca la función de JavaScript window.open(), ordenando al sistema operativo generar una ventana de navegador independiente cuyo marco y barra de direcciones están controlados directamente por el sistema.
En el ataque BitB, no se genera ningún proceso de ventana nuevo en el sistema operativo:
- Contenedor modal: La página web utiliza posicionamiento CSS absoluto o fijo para superponer un contenedor
divcon estilos que imitan el aspecto exacto de una ventana de escritorio nativa. - Recreación del marco del navegador: El atacante reproduce la barra de herramientas del navegador —botones de navegación, recarga, candado de seguridad y campo de URL con el texto
https://steamcommunity.com— mediante gráficos vectoriales SVG y tipografía idéntica a la del sistema. - Adaptación dinámica al entorno: Las plantillas BitB actuales leen
navigator.userAgentpara identificar el sistema operativo (Windows 10/11, macOS, Linux) y el navegador de la víctima, renderizando controles de ventana coherentes con la plataforma en tiempo real.
La interceptación en el servidor: Proxy inverso y bypass de 2FA
Cuando el usuario introduce su usuario, contraseña y código móvil de Steam Guard en el formulario falso:
- Anulación de la autenticación en dos factores: La seguridad de los códigos de un solo uso (TOTP) reside en que caducan a los 30 segundos. Al actuar como proxy inverso, el servidor del atacante recibe el código válido de manos de la víctima y lo transmite de inmediato a los servidores oficiales de Valve antes de su expiración.
- Exfiltración de cookies de sesión: Tras validar el acceso, Valve emite las cookies de sesión
steamLoginSecureysessionid. El proxy inverso intercepta estas cabeceras antes de redirigir a la víctima. - Secuestro automatizado de la sesión: Con
steamLoginSecureen su poder, el atacante no requiere contraseñas adicionales. Un navegador automatizado sin interfaz (headless browser) toma el control de la cuenta, revoca las claves API existentes, genera una clave Steam Web API maliciosa, transfiere artículos comerciables y envía enlaces de phishing a todos los contactos de la lista de amigos.
Por qué falla la inspección visual clásica y métodos de detección técnica
Debido a que la barra de direcciones simulada resulta visualmente indistinguible de una real, los usuarios deben recurrir a pruebas funcionales para desenmascarar el engaño.
1. Prueba de arrastre fuera del área visible (Límites de ventana)
La comprobación física más rápida consiste en intentar arrastrar la ventana emergente fuera del marco del navegador:
- Ventana legítima: Al ser un proceso independiente del sistema operativo, puede moverse libremente por el escritorio, situarse a caballo entre dos monitores o salir parcialmente de la pantalla.
- Ventana BitB: Al ser un elemento HTML perteneciente a la página web, está restringida al área de visualización del navegador. Si se arrastra hacia el borde, quedará cortada por los límites del contenedor (
overflow: hidden) o no podrá rebasar las barras de desplazamiento del navegador.
2. Comportamiento del gestor de contraseñas
Los gestores de contraseñas de confianza (como Bitwarden, 1Password o el llavero integrado del navegador) determinan la legitimidad del sitio basándose exclusivamente en el origen criptográfico (window.location.origin), no en los textos visibles en pantalla:
- En la página oficial de Steam, el gestor reconoce el dominio
steamcommunity.comy ofrece autorrellenar las credenciales guardadas. - En una ventana BitB, el gestor detecta el dominio del sitio atacante (por ejemplo,
torneo-cs2-falso.com). Al no coincidir el origen, deniega de forma tajante el autorrellenado. - Regla de oro: Si tu gestor de contraseñas habitual no reconoce un formulario de inicio de sesión de Steam en el que sueles entrar de forma automática, estás ante una ventana simulada de phishing.
3. Inspección del código mediante herramientas de desarrollo
Pulsar F12 o hacer clic derecho sobre la supuesta barra de direcciones y seleccionar Inspeccionar elemento desmantela el engaño de inmediato:
- La barra de direcciones de un navegador real es inaccesible para las herramientas de desarrollo de una página web.
- En una ventana BitB, la herramienta de desarrollo resaltará elementos HTML ordinarios, como etiquetas
divospanque contienen el texto simulado de la URL.
Matriz comparativa: Ventana legítima de OpenID frente a marco BitB
| Característica arquitectónica | Autenticación oficial Steam OpenID | Marco simulado de phishing BitB |
|---|---|---|
| Origen de la ventana | Proceso independiente del SO vía window.open | Elemento DOM (div / iframe) dentro de la página |
| Movilidad en pantalla | Desplazamiento libre entre múltiples monitores | Confinada estrictamente a la vista del navegador |
| Seguridad de la barra de URL | Barra nativa con certificado SSL inspeccionable | Texto estático estilizado con icono SVG decorativo |
| Gestores de contraseñas | Reconocen el dominio y ofrecen autorrellenado | Detectan el sitio malicioso y bloquean el relleno |
| Persistencia de sesión | Permite inicio rápido si ya hay sesión activa | Exige siempre introducir usuario, clave y código 2FA |
| Menú contextual derecho | Menú estándar del navegador o sistema operativo | Abre el inspector web sobre nodos HTML de la página |
Protocolo de contención inmediata tras una brecha de seguridad
Si sospechas haber introducido tus datos de acceso en una ventana BitB, debes ejecutar este protocolo de respuesta en estricto orden de prioridad:
- Cerrar todas las sesiones activas:
- Accede a la aplicación oficial de Steam o visita directamente los ajustes de Steam Guard.
- Pulsa en Desautorizar todos los demás dispositivos. Esta acción invalida de forma inmediata la cookie
steamLoginSecure, expulsando las herramientas automatizadas del atacante.
- Revocar claves de Steam Web API:
- Entra directamente en
https://steamcommunity.com/dev/apikey. - Si figura alguna clave API registrada sin que la hayas creado para desarrollo, pulsa Revocar mi clave de la API web de Steam. Los atacantes emplean esta clave para interceptar ofertas de intercambio.
- Entra directamente en
- Cambiar contraseñas asociadas:
- Modifica la contraseña principal de Steam y la de tu cuenta de correo electrónico vinculada desde un dispositivo seguro.
- Regenerar la URL de intercambio:
- En la sección de ofertas de intercambio de Steam, genera una nueva URL de intercambio para inutilizar los enlaces que los atacantes hayan indexado en sus bases de datos.
La defensa en los ecosistemas de videojuegos actuales exige comprender los mecanismos fundamentales de la autenticación web. A través de los análisis técnicos disponibles en 365Finds, los jugadores y organizadores de torneos pueden identificar las amenazas basadas en inyección de DOM y proxies inversos antes de que sus cuentas y activos digitales se vean comprometidos. Considerar el área de visualización del navegador como un entorno no confiable y confiar en el enlace criptográfico de los gestores de contraseñas constituyen las defensas más sólidas frente al phishing moderno.