Introduction : L'évolution du phishing dans le jeu vidéo et le vecteur BitB
Pendant plus d'une décennie, les attaques par hameçonnage (phishing) ciblant les joueurs sur PC — tout particulièrement les utilisateurs de Steam, Epic Games et Discord — reposaient sur des ficelles faciles à repérer : des noms de domaine fautifs (comme staemcommunitly.com), des connexions HTTP non sécurisées et des interfaces de connexion grossièrement reproduites. Les joueurs avertis avaient adopté une règle fondamentale : toujours vérifier la barre d'adresse du navigateur pour s'assurer du nom de domaine exact et de la présence du cadenas SSL vert avant de saisir ses identifiants.
Cependant, les réseaux cybercriminels ciblant le jeu vidéo ont franchi un cap technologique majeur. L'apparition du phishing Browser-in-the-Browser (BitB) a rendu caduque la simple inspection visuelle de l'URL. Dans une attaque BitB, la victime n'est pas redirigée vers un domaine douteux externe. Le site malveillant injecte directement dans le modèle objet de document (DOM) de la page web une fausse fenêtre de navigateur simulant à la perfection les fenêtres du système d'exploitation.
Cette fenêtre factice intègre une fausse barre d'adresse affichant https://steamcommunity.com, un faux cadenas de sécurité et les boutons habituels du système d'exploitation (réduire, agrandir, fermer). Couplée à des serveurs relais en proxy inverse intermédiaire (Browser-in-the-Middle ou BitM), cette attaque contourne sans difficulté l'authentification à deux facteurs de Steam Guard Mobile, subtilise les cookies de session authentifiés et pille les inventaires de manière automatisée en quelques secondes.
Anatomie technique de l'attaque BitB : Simulation DOM et relais proxy inverse
L'attaque BitB associe une manipulation d'interface sophistiquée côté client à un dispositif de relais par proxy inverse côté serveur.
[Fenêtre d'affichage du navigateur de la victime : site pirate "cs2-tournament-bracket.com"]
│
├─► [Conteneur de fausse fenêtre BitB (nœud DOM [div])]
│ ├── Fausse barre de titre et commandes de fenêtre de l'OS
│ └── Fausse barre d'adresse statique : "https://steamcommunity.com/openid/login"
│
└─► [Iframe intégrée / Formulaire / Relais WebSocket temps réel]
│
▼ (Capture des identifiants et du code mobile Steam Guard)
[Serveur proxy inverse de l'attaquant (ex. Evilginx ou Muraena)]
│
▼ (Transmet les identifiants valides à l'infrastructure officielle de Valve)
[Point de terminaison d'authentification officiel Steam (valve / steamcommunity.com)]
│
▼ (Valve émet les cookies de session authentifiés : steamLoginSecure, sessionid)
[L'attaquant intercepte les cookies -> Pillage d'inventaire et capture d'API Key]
L'illusion côté client : Simulation de fenêtre dans le DOM
Lors d'une procédure d'authentification légitime via Steam OpenID, le site tiers déclenche la commande JavaScript window.open(), demandant au système d'exploitation d'ouvrir une fenêtre de navigateur indépendante et authentique, dont la barre d'adresse est gérée de façon sécurisée par l'OS.
Dans une attaque BitB, aucun processus de fenêtre n'est créé au niveau du système d'exploitation :
- Le conteneur modal : La page web utilise des règles CSS de positionnement absolu ou fixe pour superposer un élément
div, formaté pour reproduire fidèlement l'encadrement d'une fenêtre de bureau. - Reconstitution du cadre de navigation : L'attaquant reproduit les boutons de navigation, l'icône de rafraîchissement et le champ d'adresse affichant
https://steamcommunity.comà l'aide d'icônes vectorielles SVG et de polices système. Cette barre d'adresse n'est en réalité qu'une ligne de texte HTML ordinaire et statique. - Adaptation dynamique à la plateforme : Les kits BitB modernes analysent
navigator.userAgentpour identifier le système d'exploitation (Windows 10/11, macOS, Linux) et le moteur de rendu du navigateur de la victime. Ils ajustent automatiquement la typographie et la forme des boutons de fenêtre pour correspondre exactement à l'environnement de l'utilisateur.
L'interception côté serveur : Proxy inverse et contournement du 2FA
Dès que la victime saisit son identifiant, son mot de passe et son code Steam Guard dans le formulaire simulé :
- Contournement du double facteur : La sécurité des codes temporaires (TOTP) repose sur le fait que l'attaquant ne peut pas deviner le code changeant toutes les 30 secondes. Cependant, avec un proxy inverse, c'est la victime elle-même qui fournit le code valide. Le serveur de l'attaquant le retransmet instantanément à l'API officielle de Valve avant son expiration.
- Interception des cookies de session : Une fois la connexion validée par Valve, les serveurs émettent les cookies de session
steamLoginSecureetsessionid. Le proxy inverse intercepte ces jetons en mémoire vive avant de rediriger la victime vers une page anodine. - Détournement automatisé de la session : Grâce au cookie
steamLoginSecure, l'attaquant n'a plus besoin du mot de passe. Un navigateur automatisé (headless browser) prend le contrôle du compte, révoque les clés d'API existantes, génère une fausse clé Steam Web API pour intercepter les futurs échanges d'objets, transfère les skins de grande valeur vers des comptes complices et diffuse le lien de phishing à l'ensemble de la liste d'amis.
Pourquoi l'inspection visuelle classique échoue et méthodes techniques de détection
La barre d'adresse simulée étant impossible à distinguer d'une vraie par un simple regard, les joueurs doivent appliquer des tests comportementaux concrets.
1. Le test de déplacement hors de l'écran (Limites du viewport)
Le moyen le plus direct et efficace consiste à tenter de faire glisser la fenêtre de connexion en dehors du cadre du navigateur :
- Fenêtre authentique : Processus indépendant du système d'exploitation, elle peut être déplacée librement sur le bureau, positionnée à cheval entre deux écrans ou placée en dehors de l'affichage.
- Fenêtre BitB factice : Simple composant HTML de la page web, elle ne peut pas franchir les limites de la zone d'affichage (viewport) du navigateur. Si on la déplace vers le bord, elle sera bloquée ou tronquée par les limites de son conteneur (
overflow: hidden).
2. Comportement du gestionnaire de mots de passe
Les gestionnaires de mots de passe reconnus (comme Bitwarden, 1Password ou les trousseaux intégrés aux navigateurs) ne se fient jamais au texte affiché à l'écran. Ils vérifient la signature cryptographique du domaine d'origine (window.location.origin) :
- Sur une page officielle de Steam, le gestionnaire identifie le domaine
steamcommunity.comet propose automatiquement les identifiants enregistrés. - Dans une fausse fenêtre BitB, le gestionnaire détecte le domaine réel du site malveillant (par exemple
faux-tournoi-cs2.com). Constatant la non-concordance de l'origine, il refuse catégoriquement tout remplissage automatique. - Règle d'or : Si votre gestionnaire habituel ne réagit pas sur une page de connexion Steam où vous vous connectez d'ordinaire en un clic, vous êtes sans équivoque face à une fenêtre de phishing intégrée.
3. Inspection du code avec les outils de développement
Appuyer sur F12 ou effectuer un clic droit sur la fausse barre d'adresse puis sélectionner Inspecter l'élément révèle immédiatement la supercherie :
- La barre d'adresse d'un navigateur authentique relève du système d'exploitation et ne peut pas être inspectée par les outils de développement de la page.
- Dans une fenêtre BitB, l'inspecteur met en surbrillance des balises HTML ordinaires comme des balises
divouspancontenant le texte de la fausse adresse.
Matrice comparative : Fenêtre officielle OpenID contre cadre de phishing BitB
| Caractéristique architecturale | Authentification officielle Steam OpenID | Cadre de phishing simulé BitB |
|---|---|---|
| Origine de la fenêtre | Processus indépendant de l'OS via window.open | Élément DOM (div / iframe) au sein de la page |
| Périmètre de déplacement | Déplacement libre sur le bureau et multi-écrans | Confinée à la zone d'affichage du navigateur |
| Sécurité de l'adresse | Barre système sécurisée avec certificat SSL vérifiable | Bloc de texte stylisé avec icône SVG décorative |
| Gestionnaire de mots de passe | Reconnaît le domaine et propose le remplissage | Détecte le faux domaine et bloque le remplissage |
| Conservation de session | Connexion en 1 clic si déjà identifié sur Steam | Exige toujours la saisie complète des identifiants et du 2FA |
| Menu clic droit | Menu contextuel standard de l'OS ou du navigateur | Ouvre l'inspecteur web sur les balises de la page |
Protocole de remédiation immédiate après compromission
Si vous pensez avoir saisi vos identifiants ou votre code Steam Guard dans une fenêtre BitB, vous devez appliquer immédiatement les mesures suivantes dans l'ordre strict :
- Révoquer toutes les sessions actives :
- Depuis l'application officielle Steam Mobile ou un ordinateur sain, accédez aux paramètres de Steam Guard.
- Sélectionnez Désautoriser tous les autres appareils. Cette opération invalide sur le champ le cookie
steamLoginSecure, coupant net l'accès du pirate.
- Auditer et révoquer les clés Steam Web API :
- Rendez-vous directement sur
https://steamcommunity.com/dev/apikey. - Si une clé d'API y figure sans que vous l'ayez créée vous-même, cliquez sur Révoquer ma clé d'API Web Steam. Les pirates utilisent cette clé pour détourner les offres d'échange d'objets.
- Rendez-vous directement sur
- Changer les mots de passe associés :
- Modifiez le mot de passe de votre compte Steam ainsi que celui de votre boîte mail associée depuis un appareil sécurisé.
- Générer une nouvelle URL d'échange :
- Dans les paramètres d'échanges de Steam, créez une nouvelle URL d'échange pour neutraliser les liens indexés par les robots des assaillants.
La protection des comptes dans l'écosystème du jeu vidéo moderne nécessite une compréhension rigoureuse des mécanismes d'authentification web. Les synthèses techniques publiées sur 365Finds permettent aux joueurs et aux gestionnaires de tournois d'identifier les attaques par injection de DOM et relais par proxy inverse avant toute perte de données ou d'actifs numériques. Considérer la page web comme un environnement non sécurisé et s'appuyer sur la validation de domaine des gestionnaires de mots de passe constituent les remparts les plus efficaces contre le phishing de nouvelle génération.