Este post foi publicado há mais de noventa dias, e as informações aqui contidas podem estar desatualizadas ou mesmo não terem mais nenhuma validade. Não nos responsabilizamos por eventuais mal entendidos.
Arrá! Um TimThumb dando mole!
Desde o dia 03 de agosto de 2011 que foi exposta uma vulnerabilidade grave no script TimThumb, usado para gerar miniaturas de imagens e amplamente utilizado em muitos “templates” de WordPress. A falha permite que um invasor envie um arquivo executável para o servidor e com isso ganhe o controle da máquina. Kits de exploração da falha incluem a instalação automática de backdoors no servidor, a fim de rodar servidores de jogos, de IRC ou outros, de maneira não autorizada, bem como facultar posterior acesso facilitado ao invasor.
Sempre repudiamos o uso do TimThumb, principalmente em sites de alta visitação, porque ele consome muito processamento, tornando os sites lentos pela sobrecarga nos servidores.
Agora, vamos banir o TimThumb de nossos servidores, devido à falha que está sendo amplamente explorada.
Como se dá a invasão pelo TimThumb
Como dissemos acima, o TimThumb faculta a um invasor subir um arquivo executável para o servidor. O truque consiste em disfarçar tal executável como se fosse uma imagem, burlando assim o sistema de segurança do script.
Uma vez que este executável rode uma vez no servidor, haverá várias portas abertas para que o invasor faça o que bem entender no servidor. Se for um invasor imbecil, ele fará o “defacement” (desfiguração) de todos os sites que ele puder acessar, deixando claro que ele se acha muito importante por ter conseguido isso. Mas se for um invasor mais esperto ele vai tentar ficar o mais oculto possível, apenas instalando seus sistemas sem necessariamente afetar a parte visível dos sites.
As diversas versões do TimThumb
Naturalmente, o autor do TimThumb agiu assim que veio a público a vulnerabilidade de seu script, e atualizou-o de forma a fechar as portas que estavam abertas.
As produtoras de “templates” comerciais para WordPress logo atualizaram seus arquivos, e disponibilizaram a atualização para os clientes. O mesmo com os templates gratuitos que usam o script.
Entretanto, vergonhosamente, muitos de nossos clientes usam versões piratas — logo, sem direito a upgrades de segurança — dos templates comerciais, pondo em risco todo o seu trabalho.
Como faremos a erradicação do TimThumb
Na verdade, apenas as versões comprovadamente ou potencialmente comprometidas do TimThumb que forem encontradas nos servidores serão excluídas. Isso inclui versões antigas do script, bem como versões modificadas que excluam o cabeçalho original do mesmo.
Inicialmente faremos a inspeção manual de cada um dos servidores e VPSs em busca dos scripts “bichados”. Excluiremos os arquivos comprometidos, e avisaremos cada cliente por meio de chamados de suporte.
Encerrada essa primeira fase, escreveremos um “bot” que automaticamente identificará e removerá as versões inseguras do script do servidor.
O que fazer em caso de invasão, mesmo que mera suspeita
Caso você desconfie que seu servidor possa ter sido comprometido por esta falha de segurança, abra um chamado de suporte imediatamente explicando por que você acha isso, que faremos a verificação para você.
Casa de ferreiro, espeto de pau
Para evitar problemas, você mesmo pode excluir o TimThumb de seus blogs, tomando o cuidado de apagar os arquivos do servidor, e não meramente desativando plugins ou temas fora de uso.
Há dois dias nosso site foi invadido devido à existência de uma instância do TimThumb em um diretório de um template que não está mais em uso no nosso WordPress há pelo menos dois anos. Que a nossa dor sirva de exemplo, e você não precise passar pelo mesmo dissabor.