À caça de um Malware!

Este post foi escrito pela nossa amiga e colaboradora Caroline Souza em seu Blog, ao se deparar com um problema ao visualizar seu site, descobriu um malware e depois como ela resolveu isso. Segue abaixo o relato:

Escrevendo novos posts até tarde da noite, divulgando e acompanhando as visualizações, respondendo comentários… tudo normal para um blogueiro né!
Mas nem tudo são rosas, após escrever um post fui dormir com a certeza do dever cumprido e no dia seguinte veio surpresa meu site não abria no Google Chrome, ao contrário, exibia a seguinte mensagem:

Como assim, meu site contaminando máquinas? E o Google encontrou um software malicioso!!

Agora começa a batalha atrás de um malware para entender:
-> O que realmente aconteceu?
-> Era um falso-positivo?
-> Meu site estava infectado?
-> Como se contaminou?
-> Como resolver o problema?
-> Como evitar uma nova contaminação?

Mãos à obra!

Primeiro retirei meu último post do ar na idéia que pudesse encontrar um problema nele de cara e solicitei à google uma nova verificação de segurança no meu site.

Fiz uma cópia de todo o site localmente para assim fazer uma melhor análise dos arquivos e não fazer “besteiras” nos aquivos, até porque mexer com html e php não é meu forte. Após o backup dei uma olhada rápida nos aquivos e já notei que alguns estavam com a data de alteração do dia anterior entre eles o wp-config.php o que me deixou desconfiada. Abri, olhei, olhei, olhei e… realmente não é o meu forte, então recorri a uma ajuda externa.

Instalei no wordpress um plugin chamado WSD security e através dos seus resultados e da análise que o site http://www.websitedefender.com/ fez do meu blog pude entender um pouco mais o que estava acontecendo e até mesmo conhecer alguns detalhes importantes para a segurança de um site que não haviam sido identificadas por mim até então.

Análise do plugin:
-> Mudar o prefixo wp_pzst0v1tvk_ dos arquivos de configuração
-> Criar o arquivo .htaccess em wp-admin/

Fiz o que o plugin mencionou e já descartei alguns malwares que utilizam justamente o .htacces para se instalarem, o que tornou a minha pesquisa mais seleta.

Resultado do site:

Agora eu tinha certeza de que o arquivo wp-config.php realmente estava infectado e onde estava o script malicioso, ou pelo menos um deles, até porque esse não era o único problema encontrado.

Mas tratando diretamente o arquivo wp-config.php o primeiro passo foi encontrar o script, o que não foi nada difícil levando em consideração que era a primeira linha do arquivo.

Agora ficou fácil, é só apagar o script e partir para outros arquivos, mas quem disse q a curiosidade matou o gato? Lá fui eu tentar descobrir pra que servia o script e qual era o objetivo do cara que o desenvolveu.

Criei um arquivo chamado decoder.php e o executei através desse comando:

#php5 -f decoder.php >> resultado.txt

Foi aí que entendi melhor porque o google estava bloqueando meu site, qualquer forma de entrada nele oriunda de yahoo, bing e etc era direcionado pelo malware para o site http://brugge.osa.pl/ e aqui podemos ver que boa coisa esse site não é.

Tentei acessá-lo, fazer wget, mas não consegui nenhuma informação relevante sobre o site ou pelo menos algum arquivo para analisar, sendo assim voltei para o meu site no intuito de detectar mais ameaças nos meus arquivos.

#grep -lr --include=*.php "eval(base64_decode" /home/carol/Desktop/public_html/

E não encontrei mais nada além do próprio arquivo wp-config.php, alterei no servidor e o que antes aparecia assim no site http://sitecheck.sucuri.net/scanner/

Passou a mostrar assim:

Hora de fazer uma nova solicitação à google e depois de algumas horas meu site já não estava mais na blacklist.

Mas ainda ficou uma pergunta no ar…
De onde veio esse malware? Como meu site foi infectado?

Pesquisei bastante sobre o assunto e me restaram duas hipóteses uma seria uma vulnerabilidade no próprio servidor FTP que no caso teria sido infectado por esse trojan Troj/PhpShell-B.
Esses são alguns links interessantes sobre o assunto:
http://nakedsecurity.sophos.com/2011/09/19/malware-wordpress-installations/
http://www.sophos.com/en-us//threat-center/threat-analyses/viruses-and-spyware/Troj~PhpShell-B.aspx

E a outra possibilidade seria uma vulnerabilidade muito comum em temas que possuem TimThumb (meu caso). E foi exatamente em cima dessa hipótese que trabalhei mais a fundo instalando no WordPress um plugin chamado Timthumb Scanner para analisar todo o php do diretório wp-content procurando o script timthumb, verificando a versão de cada arquivo encontrado para ver se o arquivo está desatualizado ou inseguro. Assim, ele me retorna a situação e posso rapidamente atualizá-lo. No momento da infecção eu estava com a versão 2.8.2, vista pelo plugin como insegura e atualmente estou com a 2.8.10 (já tem 1 semana que o script malicioso foi removido do meu site).

Problema resolvido e aparentemente blog sem vulnerabilidades.
Vivendo e aprendendo… até a próxima! ;-)

Agradecimentos pela ajuda e incentivo:
@cotidianolinux
@vagnerfonseca
@lucianasilva

  • jeferson dos Santos

    Outro ja teria puxado td do backup anterior.
    Só sendo muito Mestre yoda pra querer descobrir a fundo o problema. Show.

    • Oi Jeferson!

      Costumo ver problemas assim como novos desafios e oportunidades de aprender cada vez mais.
      Essa parte web não é meu forte, mas acho muito interessante toda a segurança por trás de uma infra-estrutura dessas.

      Espero que esse seja o primeiro de muitos posts sobre malwares e afins.

      Abraços. 😉

  • anderson leocadio

    Vagner meu nobre..

    to com uma dúvida..como vc já postou um material sobre squid ..gostaria de saber na sua opinião qual o melhor squid para implatar em um cliente.
    o squid 2.7 ou squid3 (3.0) no debian, estava dando uma lida e vi que o 3.0 tem algumas diferenças, mas quero confirmar se realmente ele esta 100%.
    Venho utilizando o 2.7 sem problemas.

    abraço

    • Anderson,

      Pode usar com tranquilidade o 3.0, as diferenças são poucas e pode perceber pelo log na hora de levantar o serviço.

  • Já passeio por algo parecido no Estude CCNA por causa de um plugin do BuscaPé, mas no nosso caso era um “erro” de analise do Google, quando fui analisar o que estava acontecendo eles já tinham reparado.

    • Logo de início achei que fosse um erro de análise da Google tb, por isso recorri a outras ferramentas, conforme expliquei no post.
      Foram horas de trabalho e uma noite super mal dormida, muito feio o cara visitar seu site e dar de cara com uma mensagem de malware, né!

      Nunca vi esse problema do plugin do Buscapé, bom saber disso. 🙂