Introdução: A evolução do phishing nos jogos e o vetor BitB
Por mais de uma década, os ataques de phishing direcionados a jogadores de PC — principalmente usuários de Steam, Epic Games e Discord — dependiam de táticas facilmente identificáveis: domínios com erros de digitação intencionais (como staemcommunitly.com), conexões HTTP não criptografadas e interfaces visuais grosseiras. Jogadores atentos desenvolveram uma regra prática fundamental: sempre conferir a barra de endereços do navegador para confirmar o domínio oficial e o cadeado SSL antes de digitar credenciais.
No entanto, o crime cibernético focado no ecossistema de games atingiu um novo patamar de sofisticação. A disseminação do phishing navegador dentro do navegador (Browser-in-the-Browser ou BitB) tornou a simples inspeção visual obsoleta. Em um ataque BitB, a vítima não é redirecionada para um domínio suspeito externo. Em vez disso, a página maliciosa injeta diretamente no Modelo de Objetos do Documento (DOM) uma janela simulada de sistema operacional com precisão absoluta de pixels.
Essa janela falsa reproduz uma barra de endereços contendo https://steamcommunity.com, um ícone de cadeado de segurança e os botões tradicionais da janela (minimizar, maximizar e fechar). Quando combinada com servidores de proxy reverso intermediário (Browser-in-the-Middle ou BitM), a técnica contorna com facilidade o autenticador móvel do Steam Guard (2FA), captura os cookies de sessão autenticados e executa o sequestro da conta e do inventário em segundos.
Anatomia técnica do ataque BitB: Simulação de DOM e proxies reversos
O ataque BitB une a manipulação visual avançada no lado do cliente a um relé de proxy reverso no lado do servidor.
[Área de visualização do navegador da vítima: site malicioso "cs2-tournament-bracket.com"]
│
├─► [Contêiner de janela simulada BitB (elemento DOM [div])]
│ ├── Barra de título falsa e botões de controle do sistema operacional
│ └── Barra de endereços estática simulada: "https://steamcommunity.com/openid/login"
│
└─► [Iframe incorporado / Formulário / Conexão WebSocket em tempo real]
│
▼ (Captura das credenciais e do código de autenticação Steam Guard)
[Servidor proxy reverso do invasor (como Evilginx ou Muraena)]
│
▼ (Encaminha as credenciais legítimas aos servidores da Valve)
[Endpoint oficial de autenticação da Steam (valve / steamcommunity.com)]
│
▼ (Valve emite cookies de sessão autenticados: steamLoginSecure, sessionid)
[Invasor intercepta os cookies -> Esvaziamento de inventário e sequestro de conta]
A simulação no cliente: Recriação de janela no DOM
Em um fluxo legítimo de autenticação OpenID da Steam, a página parceira invoca o método JavaScript window.open(), solicitando que o sistema operacional gere uma janela de navegador real e independente, cuja barra de URL é controlada de forma segura pelo próprio sistema.
No ataque BitB, nenhum processo novo de janela é gerado pelo sistema operacional:
- Contêiner modal: A página web utiliza propriedades CSS de posicionamento absoluto ou fixo para desenhar um elemento
divem camadas superiores, estilizado para reproduzir a moldura de uma janela desktop nativa. - Clonagem do visual do navegador: O atacante recria os botões de navegação, ícones de recarga e o campo de endereço exibindo
https://steamcommunity.comcom gráficos vetoriais SVG e fontes idênticas às do sistema operacional da vítima. - Adaptação dinâmica: Ferramentas modernas de BitB consultam o cabeçalho
navigator.userAgentpara identificar a plataforma (Windows 10, Windows 11, macOS, Linux) e o navegador, ajustando os botões de controle e o espaçamento para que fiquem idênticos ao ambiente do usuário.
A interceptação no servidor: Proxy reverso e bypass de 2FA
Quando o usuário preenche seus dados e o código gerado pelo Steam Guard no formulário simulado:
- Transposição do segundo fator de autenticação: A segurança de códigos temporários (TOTP) reside no fato de que o invasor não consegue adivinhar o token numérico. No entanto, com um proxy reverso, a vítima digita voluntariamente o código válido. O servidor intermediário do invasor repassa os dados instantaneamente para a API oficial da Valve antes que o token expire.
- Captura de cookies de sessão: Ao validar o login, os servidores da Valve retornam cookies essenciais de autenticação, como
steamLoginSecureesessionid. O proxy intercepta e grava essas informações antes de redirecionar a vítima para uma página qualquer. - Sequestro automatizado da conta: De posse do cookie
steamLoginSecure, o invasor não necessita de senhas adicionais. Sessões automatizadas em navegadores sem interface (headless browsers) assumem o controle imediato da conta, revogam chaves de API existentes, cadastram chaves de Steam Web API maliciosas para interceptar trocas, enviam itens valiosos para contas laranja e disparam mensagens de phishing para todos os contatos da lista de amigos.
Por que a inspeção visual clássica falha e métodos técnicos de detecção
Como a barra de endereços falsa é visualmente idêntica à de um navegador real, o usuário precisa recorrer a testes operacionais para desmascarar a farsa.
1. Teste de arraste para fora do navegador (Limites da janela)
O método prático mais imediato consiste em tentar arrastar a janela de login para além das bordas do navegador:
- Janela legítima: Sendo um processo independente do sistema operacional, ela pode ser arrastada livremente pela área de trabalho, colocada na divisa de dois monitores ou movida parcialmente para fora da tela.
- Janela BitB falsa: Por ser apenas um elemento HTML contido na página web, ela não consegue ultrapassar os limites visuais do navegador. Ao ser arrastada para o canto, ela será cortada pela borda da página (
overflow: hidden) ou ficará presa atrás de barras de rolagem.
2. Comportamento do gerenciador de senhas
Gerenciadores de senhas modernos e confiáveis (como Bitwarden, 1Password ou os cofres nativos dos navegadores) determinam a origem de um site por meio da assinatura criptográfica (window.location.origin), ignorando qualquer texto desenhado na tela:
- Ao abrir uma página de autenticação legítima da Steam, o gerenciador identifica o domínio
steamcommunity.come oferece o preenchimento automático das credenciais salvas. - Ao abrir uma janela BitB, o gerenciador lê a origem real da página principal (por exemplo,
torneio-falso-cs2.com). Como o domínio não confere com o cadastro da Steam, o gerenciador recusa sumariamente o preenchimento automático. - Regra de ouro: Se o seu gerenciador de senhas de confiança não reconhecer uma janela de login da Steam na qual você sempre entra automaticamente, trata-se com quase total certeza de um frame falso de phishing.
3. Inspeção de elementos com ferramentas de desenvolvedor
Pressionar F12 ou clicar com o botão direito sobre a suposta barra de endereços e selecionar Inspecionar elemento desmonta o golpe imediatamente:
- A barra de endereços de um navegador autêntico é uma área nativa do sistema operacional e não pode ser inspecionada pelas ferramentas web da página.
- Em um frame BitB, o inspetor destacará elementos HTML comuns, como tags
divouspancontendo o texto da falsa URL.
Matriz comparativa: Janela legítima do OpenID versus quadro BitB
| Recurso arquitetural | Autenticação oficial Steam OpenID | Quadro simulado de phishing BitB |
|---|---|---|
| Origem da janela | Processo independente do SO via window.open | Elemento DOM (div / iframe) dentro da página web |
| Mobilidade na tela | Movimentação irrestrita entre monitores | Restrita estritamente à área visível da página |
| Barra de endereços | Nativa do sistema com certificado SSL inspecionável | Bloco de texto estático com ícone SVG decorativo |
| Gerenciador de senhas | Reconhece o domínio e preenche credenciais | Detecta a origem maliciosa e bloqueia o preenchimento |
| Herança de sessão | Permite entrar com 1 clique se já logado no navegador | Sempre exige digitar usuário, senha e código Steam Guard |
| Menu de clique direito | Menu nativo do navegador/sistema operacional | Abre o inspecionador web exibindo a árvore DOM da página |
Protocolo de contenção imediata pós-comprometimento
Caso você suspeite ter inserido credenciais ou códigos de autenticação em uma janela BitB, siga este protocolo emergencial na sequência exata descrita:
- Encerrar todas as sessões ativas:
- Abra o aplicativo oficial da Steam no celular ou o cliente em um computador limpo e acesse as configurações do Steam Guard.
- Selecione Desautorizar todos os outros dispositivos. Essa ação revoga imediatamente os cookies
steamLoginSecureativos, derrubando o acesso do invasor.
- Auditar e revogar chaves de Steam Web API:
- Acesse diretamente
https://steamcommunity.com/dev/apikey. - Se houver qualquer chave registrada sem o seu consentimento explícito, clique em Revogar minha chave de API Web do Steam. Os golpistas usam essa chave para alterar ofertas de troca de skins.
- Acesse diretamente
- Alterar senhas e revisar credenciais:
- Atualize a senha principal da Steam e a senha do seu e-mail de segurança a partir de um dispositivo confiável.
- Gerar nova URL de troca:
- Na aba de ofertas de troca da Steam, crie uma nova URL de troca para inutilizar os endereços que os bots dos invasores tenham registrado.
O ambiente de jogos moderno exige uma compreensão clara dos protocolos de identidade digital e de navegação segura. Ao acompanhar as diretrizes e análises técnicas do 365Finds, jogadores e organizadores de campeonatos conseguem neutralizar ameaças avançadas de injeção de DOM e proxies reversos antes da ocorrência de prejuízos patrimoniais. Tratar as páginas web como ambientes não confiáveis e priorizar gerenciadores de senhas vinculados à origem do documento são pilares indispensáveis de segurança cibernética.