30 abr

À caça de um Malware!

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_ 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

Carol Souza

Caroline de Souza Vieira, mais conhecida como Carol Souza, formada em Análise de Sistemas, administradora de redes Linux, incentivadora do uso de Software Livre e usuária OpenSuse. Membro atuante da Comunidade Software Livre no Rio de Janeiro, colaboradora voluntária de eventos como Hack’n Rio 2011, IV FSLDC e DFDRJ, blogueira em sites como Cotidiano Linux, Gmigos, Mulheres na Tecnologia e CooperaTI além de manter o próprio blog Carolinux. Sonhadora, amiga, determinada, criativa e movida à desafios. Uma “padawan” amante de tecnologia, aspirante a corredora, ritmista e blogueira.
  • Deivid

    Muito bacana!!!

    • carolinux

      Obrigada! 🙂

  • nerd_livre

    Caraca, que susto hein. No meu blog também já teve esse aviso parecido, só que era apenas um parceiro que estava infectado, removi a parceria e resolveu o problema.

    http://www.nerdlivre.com

    • carolinux

      Foi um baita susto mesmo. Mas tb foi um ótimo aprendizado. 🙂

  • Renan Souza

    Muito bom Carol, adorei o seu blog!

    • carolinux

      Valeu!! 😉