Início » Segurança para WordPress » Backdoors no WordPress | Aprenda a identificar, localizar e evitar códigos maliciosos
Segurança para WordPress

Backdoors no WordPress | Aprenda a identificar, localizar e evitar códigos maliciosos

Saiba como identificar, localizar e evitar os backdoors e códigos maliciosos em instalações WordPress de uma vez por todas e fique livre dessas ameaças.
Escrito Por Leandro Vieira em março de 2020 /7 min de leitura
Conteúdo escrito por humano

Tem se tornando comum a prática de injetar códigos maliciosos e backdoors no WordPress por crackers. Em praticamente 99.9% dos casos a conduta acontece pelo fato de alguns manterem a instalação desatualizada ou fazerem uso de plugins ou temas vulneráveis.

Ilustração lúdica de backdoor

Antes de prosseguirmos, vamos conhecer um pouco mais sobre backdoors:

Backdoor é um recurso utilizado por diversos malwares para garantir acesso remoto ao sistema ou à rede infectada, explorando falhas críticas não documentadas existentes em programas instalados, softwares desatualizados e do firewall para abrir portas do roteador.

https://pt.wikipedia.org/wiki/Backdoor

Para garantirmos a plenitudade de execução dos nossos sites e blogs é preciso considerar uma consistente segurança para WordPress e nesse artigos veremos como identificar, localizar e evitar a execução de códigos maliciosos e backdoors.

Como identificar e localizar backdoors no WordPress

Os códigos maliciosos de backdoors evoluem constantemente. Eles são diversificados, de vários tamanhos e se espalham como uma praga pelos arquivos da aplicação. Há duas características simples de identifica-los juntos aos arquivos do WordPress, são elas: arquivos PHP isolados na pasta de uploads e injeção de códigos geralmente no início de arquivos de temas e plugins.

Como identificar backdoors em arquivos isolados na pasta de uploads

Os arquivos de uploads do WordPress, por padrão, são armazenados em /wp-content/uploads. Neste local é comum a permanência desses códigos maliciosos que geralmente são nomeados assim:

  • alguma-coisa-nada-a-ver.php
  • php5.php
  • outra-coisa-estranha.php5
  • single_x1.php4
  • mais-coisa-esquisita.php4
  • p.php
  • 1.php
  • 1.php5
  • e a lista continua.

Arquivos PHP localizados no diretório de uploads é suspeito. Nomeado estranhamente mais ainda. É perceptível a nomeação desses arquivos de backdoors de forma aleatória e, às vezes, sequencional por loops em scripts perversos. Atente-se também as pastas de anos e meses onde arquivos de uploads são organizados e armazenados.

Como localizar backdoors na pasta de uploads

Arquivos PHP na pasta de uploads devem ser excluídos. Eles certamente foram inseridos ali pela exploração de alguma falha. Portanto, localize todos eles e exclua-os.

Se a quantidade de arquivos e pastas é pequena, um simples olhar é capaz de identificar os arquivos. Quando o volume é maior precisamos considerar uma busca mais eficaz, se você faz uso do terminal o código abaixo listará todos os arquivos PHP contidos no diretório.

find pasta-dos-uploads -name "*.php*" -print

Atente-se ao uso do *.php*. Isso considerará também os arquivos nomeados como php4 e php5, por exemplo. O código para excluir todos eles de uma única vez é assim:

find pasta-dos-uploads -name "*.php*" -delete

Como identificar e localizar backdoors em arquivos de temas e plugins

Quando os backdoors são injetados nos arquivos de temas e plugins é comum serem inseridos no início do script PHP. É fácil percebê-los uma vez que os códigos são obfuscados e fazem uso de funções como eval, base64_decodegzinflate, por exemplo.

Se você faz uso de temas prontos, considere excluir todos os arquivos e envia-los novamente. Repita o processo com os plugins. Com isso você evita a necessidade de percorrer todos os arquivos para analisa-los. Os que não estiverem em uso exclua e desconsidere a permanência desses arquivos no servidor.

Você pode considerar também uma análise nos arquivos modificados recentemente ou próximo da data dos ataques. Vamos considerar que o site foi atacado há 3 dias atrás, a execução do código abaixo listará todos os arquivos modificados nesse tempo e permitirá uma análise específica e direcionada a eles.

find . -mtime 3 -print

Considere uma busca também pelas funções comumente utilizadas em códigos maliciosos e backdoors e analise os arquivos encontrados. Faça uso do comando grep para esse tipo de busca. Exemplos:

grep -r "base64_decode" wp-content/
grep -r "gzinflate" wp-content/

Plugins e ferramentas que auxilam na identificação e localização

Há vários plugins WordPress e serviços que fazem análises e escaneamentos de arquivos em busca de códigos maliciosos e backdoors, por exemplo. Alguns deles:

Sobre o mecanismo de upload do WordPress

O sistema de upload de arquivos do WordPress é seguro. É realizado várias tratativas e análises de segurança antes de realmente enviar e armazenar os arquivos enviados. Uma das restrições é não realizar o upload de arquivos PHP.

Muitos plugins não fazem uso da API do WordPress para realizar o upload de arquivos e isso acaba prejudicando a segurança pelo fato de muitos deles não realizarem um processo de validação eficaz e detalhado. Crackers quando encontram mecanismos de upload vulneráveis em plugins injetam códigos PHP na pasta de uploads do WordPress, na maioria das vezes, e espalham backdoors e códigos maliciosos por toda aplicação.

Nos exemplos acima vimos exemplos práticos de como identificar e localizar os arquivos da aplicação a procura dessas pragas indesejavéis. Além desse conhecimento é preciso aplicar algumas regras para evitar e ficar livre para sempre desses incômodos.

Como evitar códigos maliciosos e backdoors no WordPress

Para evitar que sua instalação WordPress seja infectada por backdoors e códigos maliciosos, precisamos considerar quatro iniciativas:

  1. Manter todos os arquivos atualizados (core, plugins e temas);
  2. Fazer uso das permissões corretas para arquivos e diretórios;
  3. Desabilitar o editor de plugins e temas através da interface de administração;
  4. Bloquear a execução de scripts PHP localizados na pasta de uploads.

Mais de 60% das instalações WordPress estão desatualizadas. Vulnerabilidades em versões antigas de softwares se tornam públicas e são alvos. É extremamente importante manter o WordPress e seus componentes atualizados.

Além do processo constante de atualização, é muito necessário fazer uso da correta permissão de arquivos e pastas, tanto do core quando dos plugins e temas.

O WordPress, por padrão, fornece um editor de código para a edição dos arquivos de plugins e temas. Quando um atacante ganha acesso ao painel administrativo – através de ataque de força bruta, por exempo – e o editor está presente ele consegue inserir códigos maliciosos e backdoors nos arquivos disponíveis para edição. Considere o uso da constante DISALLOW_FILE_EDIT no arquivo wp-config.php com o valor true para desabilitar o editor mencionado.

define( 'DISALLOW_FILE_EDIT', true );

Os arquivos PHP injetados nas pastas de uploads podem ser neutralizados e assim evitamos que os códigos dos backdoors em arquivos PHP sejam executados. Para isso, precisamos considerar o uso de uma diretiva no arquivo de configuração do Apache que bloqueia a execução de scritpts PHP nessa localização.

<Directory "/var/www/wp-content/uploads/">

<Files "*.php">

Order Deny,Allow

Deny from All

</Files>

</Directory>

Considere identificar, localizar e evitar a execução de códigos maliciosos e backdoors em sua instalação WordPress. Além das técnicas aqui apresentadas quais você utilizada para esse processo?

Crédito da imagem security-faqs.com.

Leandro Vieira

Uma das grandes referências de WordPress no Brasil, entusiasta e evangelista da plataforma. Fundador e CEO da Apiki, empresa especializada no desenvolvimento web com WordPress.
Qual nota você da para este artigo?
Ruim

O que você achou disso?

Clique nas estrelas

Média da classificação 0 / 5. Número de votos: 0

Nenhum voto até agora! Seja o primeiro a avaliar este post.

Excelente
Artigos Relacionados

O que seu site para contabilidade precisa ter?

  1. Pedro Vinícius
    Muito bom o artigo. Eu nunca tinha me atentado para este detalhe do upload de arquivos maliciosos. Agradeço pela informação ;)
  2. Rodrigo Vieira Eufrasio da Silva
    Leandro, mais uma vez parabéns por este artigo técnico. Para mim agregou e muito sobre os arquivos *.php dentro do diretório uploads, pois de tal forma a pessoa pode executar o php e ai já sabe o estrago. Fiquei com uma dúvida referente ao assunto, hoje no mercado temos um plugin bem conhecido que é contact form7 onde através dele fazemos formulários, com a opção de uploads, vamos a um exemplo prático, o cliente nos solicita criar um formulário com um campo de upload para envio de currículo. Como eu configuro o plugin para que ele não receba arquivos php e mais para onde vão os arquivos onde foi realizado o upload.
    1. Leandro Vieira
      Rodrigo, muito obrigado. Atualmente faço uso do GravityForms ao contrário do Contact Form 7. É muito provável que o upload de arquivos desse plugin não aceite arquivos PHP, verifique isso. Geralmente esses uploads mencionados pelo artigo, acontecem quando um invasor consegue inserir um script PHP no seu servidor e o upload é realizado através desse arquivo.
  3. […] Backdoors no WordPress | Aprenda a identificar, localizar e evitar códigos maliciosos […]
  4. […] Remote File Inclusion (RFI); […]

Construa seu site WordPress sob medida com os maiores especialistas em WordPress da America Latina
Conheça a Apiki

Faça um comentário
Cadastre-se rápido

Fazer Login