Uma biblioteca de modelagem JavaScript amplamente utilizada chamada art-template foi weaponizada para entregar um kit de exploração sofisticado de navegador iOS através de um ataque à cadeia de suprimentos. O pacote backdoorado deixou silenciosamente código malicioso nos navegadores dos usuários finais, transformando aplicativos web cotidianos em armadilhas digitais visando proprietários de dispositivos Apple em todo o mundo.
Comprometimento do pacote
O ataque começou quando o pacote npm art-template, originalmente desenvolvido por um mantenedor conhecido como aui, foi entregue a um ator desconhecido sob o pretexto de continuar sua manutenção. De acordo com o autor original, o novo controlador quase imediatamente começou a weaponizar o pacote. Relatórios de problemas sinalizando o comportamento suspeito foram silenciosamente excluídos enquanto o atacante continuava a empurrar versões maliciosas para suprimir a descoberta.
Pesquisadores da Socket.dev identificaram a campanha e a vincularam a um framework de exploração iOS anteriormente documentado chamado kit de exploração Coruna. Sua análise, intitulada Coruna Respawned, revelou que o implante dentro do pacote backdoorado espelha de perto os padrões de entrega daquele framework anterior, sugerindo reutilização direta ou um derivado quase idêntico.
Exploração e vetores de ataque
As versões backdooradas seguiram um padrão de injeção escalonada em vários lançamentos. A versão 4.13.3 usou codificação para esconder um carregador apontando para um domínio externo suspeito. As versões 4.13.5 e 4.13.6 eliminaram a ofuscação completamente e injetaram um carregador de script em texto plano diretamente no arquivo de bundle do navegador do pacote. Qualquer aplicativo web que incluísse essas versões carregaria e executaria silenciosamente o kit de exploração em cada navegador do visitante.
O implante só ativa no Safari executando no iOS 11.0 até 17.2, e sai silenciosamente no Chrome, Firefox, Edge, Android e iOS 17.3 ou superior. Uma vez que um dispositivo correspondente é detectado, o implante começa a enviar o endereço IP público da vítima, a string de versão do iOS e um código de rastreamento de campanha para um servidor de comando e controle a cada dez segundos.
Medidas de mitigação recomendadas
Os desenvolvedores são instados a auditar árvores de dependência para versões do art-template de 4.13.3 a 4.13.6. Bloquear dependências, revisar saídas de bundle do navegador para carregadores de script inesperados e monitorar solicitações de rede de saída de runtimes JavaScript são as principais mitigações. Qualquer aplicativo implantado com versões afetadas deve passar por uma revisão de segurança imediata.
Indicadores de comprometimento (IoCs)
Os indicadores incluem domínios como v3.jiathis[.]com e utaq[.]cfww[.]shop. URLs maliciosas incluem hxxps://utaq[.]cfww[.]shop/gooll/gooll.html. O arquivo de implante JavaScript primário é 49554fde7424c31c.js. Chaves de sessão e códigos de campanha foram identificados para rastreamento de vítimas.