Hoje resolvi escrever um artigo sobre um problema que já enfrentei duas vezes, de ataque de um hacker, no qual insere um código malicioso dentro do seu WordPress ou qualquer gerenciador de conteúdo hospedado por conta própria.

O tal ataque transforma sua página em risco para quem visita-la e o pior, você acaba removido dos índices do Google, ninguém mais encontra seus artigos e você acaba isolado do seu público.

O código malicioso:

Já vi dois casos deste código que pode ser apresentado em duas formas:

iframe src="https://pinoc.org/count.php?o=2"

iframe src="https://msn-analytics.net/count.php?o=2"

Tenho até medo de reproduzir tudo aqui porém as duas linhas acima são somente um pedaço do que é inserido.

Você deve ter acesso ssh para poder analisar, identificar, remover e proteger seu servidor desta verdadeira praga.

Identificando páginas infectadas:

A partir da linha de comando ssh basta escrever o seguinte comando:

grep -lir “pinoc” *

que você verá quais arquivos o código foi inserido. Se tiver sorte, o comando não retorna nada.

Outra forma de verificar que sua página está OK é validar seu feed RSS. O serviço feedvalidator.org faz isso grátis.

Removendo o código das páginas infectadas

Caso você tenha sido vítima, respire fundo e mãos às obras para iniciar a limpeza. Geralmente a infecção afeta todas as páginas php e html e remover um a um é um trabalho demorado e desnecessário.

Antes de qualquer coisa desative o cache, super cache ou qualquer outro sistema de cache que possua.

Um simples script perl pode procurar e, quando encontrar, remover o código malicioso de todas as suas páginas. Baixe ele aqui.

Agora abra seu site e através do seu navegador visualize o código fonte para ver qual código malicioso que o atingiu. Mencionei dois tipos do tal “pinoc” porém ele pode aparecer em outras formas que você deve identificar. Geralmente ele fica no rodapé da página.

Copie o texto para um bloco de notas. O problema é que para usar o script perl você tem que colocar barras “\” na frente de tudo que não for letra ou número neste código, veja no exemplo seguir:

src=”https://msn-analytics.net/count.php?o=2″

fica assim…

src\=\”http\:\/\/msn\-analytics\.net\/count\.php\?o\=2\”

Coloque o caminho da pasta que deve ser pesquisada no comando:

find /home/ -type f | xargs perl -pi -e '...

Quando terminar de preparar o comando, execute-o. Deve demorar alguns minutos e quando finalizar o processo execute novamente o comando grep -lir “pinoc” * para ter certeza que está tudo limpo.

Prevenindo-se do Ataque do Pinoc.

Infelizmente eu não sei uma maneira 100% certa a não ser trocar a senha do seu servidor com frequência.

O que pode ser feito é instalar o monitoramento do seu código através de um outro script muito útil que encontrei aqui.

Baixe o script, edite e configure para informar a pasta a ser monitorada e também o endereço de email para receber o relatório de alteração. Você somente recebe relatório quando houver qualquer alteração no seu site.

Coloque o script numa pasta que contenha sua pasta web de forma que ninguém tenha acesso a ele. Em seguida dê permissão de execução 755 com o comando chmod.

Através de um “cron job” o script pode ser agendado para ser executado de 15 em 15 minutos. Meu cron job ficou assim:

/home/PWSmonitorchanges.cgi >/dev/null 2>&1

Teste se o script funciona alterando qualquer página para ver se recebe o relatório. Desta forma pelo menos você fica sabendo quando foi infectado e pode tomar uma ação rápida evitando qualquer perda de ranking no Google ou de clientes.

Espero ter ajudado compartilhando essa experiência que pode vir a ajudar quem possui um site e pode passar pela mesma situação, caso hajam outras soluções ou idéias, por favor compartilhem aqui pois isso se trata de uma séria questão que afeta todos que possuem blogs ou websites hospedados por conta própria, e também toda a segurança da internet.