As vulnerabilidades “zero-day” podem ser exploradas por criminosos para causar danos inesperados às vítimas. Este novo exploit foi usado em ataques que aproveitaram uma injecção de código malicioso num website de notícias sul-coreano.
A página principal deste site foi infectada por um código Javascript malicioso que, por sua vez, carregava um script de identificação para um servidor remoto, para verificar se o sistema da vítima poderia ser infectado, examinando as versões do navegador utilizado.
O ataque tentava então explorar a vulnerabilidade no browser Google Chrome através de um script que verificava se estava a ser utilizada a versão 65 ou anterior. Esse exploit dava ao criminoso uma condição de Use-After-Free (UaF) que permite cenários onde a execução de códigos maliciosos é permitida.
Se o sistema operativo e o browser cumprirem com os requisitos, o script descarrega o exploit por fragmentos e depois, monta-o e decifra-o. A primeira coisa que este exploit faz é comprovar a versão do Chrome. Nessa etapa, torna-se mais selectivo e funciona exclusivamente com o Chrome 76 ou 77, embora possa haver outros exploits para diferentes versões.
Depois de encontrar o que procura, o exploit tenta aproveitar a vulnerabilidade CVE-2019-13720, do tipo use-after-free. Ao manipular a memória, o exploit obtém permissão para ler e escrever dados no dispositivo, que usa imediatamente para descarregar, decifrar e executar o malware.
A vulnerabilidade detectada foi usada no que os especialistas da Kaspersky chamam de “Operação WizardOpium”. Certas semelhanças no código apontam para um possível vínculo entre esta campanha e os ataques realizados pelo grupo Lazarus. Além disso, o perfil do website de destino é semelhante ao encontrado em ataques anteriores como o DarkHotel, que implementaram recentemente ataques comparáveis de bandeira falsa.
Esta vulnerabilidade foi detectada pela tecnologia Kaspersky Exploit Prevention e reportada à Google. Após a análise do PoC fornecido, a Google lançou um patch.