Mais de 40% da web é alimentada pelo WordPress. Mas isso torna este popular CMS um alvo atrativo para hackers.

Portanto, se você administra um site WordPress, precisará garantir que ele seja seguro. E isso não é apenas uma tarefa técnica, mas também é uma responsabilidade chave em vários aspectos, como reputação da marca, violação de dados e continuidade dos negócios.

Uma ferramenta que se destaca no ecossistema do WordPress é o WPScan. É um scanner de segurança projetado especificamente para o WordPress. Ele possui licenças gratuitas e pagas, de acordo com suas necessidades. Também está pré-instalado nas distribuições do Kali Linux.

Portanto, quer você seja um administrador de site experiente ou um proprietário de site em busca de melhorar a segurança de seu site, o WPScan pode ajudá-lo a identificar vulnerabilidades antes que os atacantes as explorem.

Antes de prosseguir, uma coisa muito importante: o objetivo deste artigo é ajudar indivíduos e organizações a fortalecer a segurança de seus sites WordPress, utilizando efetivamente o WPScan.

Embora essa ferramenta seja incrivelmente poderosa na identificação de vulnerabilidades, é importante enfatizar que qualquer uso não autorizado do WPScan – como escanear sites sem permissão adequada – não apenas é antiético, mas também ilegal.

Meu objetivo ao compartilhar essas informações é capacitar administradores de sites e desenvolvedores a garantir proativamente a segurança de seus sites, proteger seus dados e criar um ambiente online mais seguro para todos.

O que abordaremos:

  1. O que é o WPScan?

  2. Como Escanear Seu Site WordPress Usando o WPScan

  3. O que fazer com os Resultados do WPScan

  4. Limitações do WPScan

  5. Melhores Práticas para Usar o WPScan

  6. Como Monitorar os Resultados de Forma Eficaz

  7. Conclusão

O que é o WPScan?

O WPScan é uma ferramenta de linha de comando que ajuda a identificar potenciais vulnerabilidades na sua instalação do WordPress. É como um segurança para o seu site, mantendo um olho em plugins desatualizados, configurações incorretas e outros problemas comuns.

O que torna o WPScan único é o seu foco no WordPress. Ele utiliza um banco de dados mantido por especialistas em segurança, que é atualizado regularmente para rastrear milhares de vulnerabilidades conhecidas no núcleo do WordPress, plugins e temas.

O que o WPScan Pode Fazer?

Aqui estão apenas algumas coisas que o WPScan pode ajudar:

  • Detectar versões desatualizadas do núcleo do WordPress.

  • Identificar vulnerabilidades em plugins e temas.

  • Enumerar usuários (por exemplo, descobrir nomes de usuário).

  • Testar senhas fracas (usando um ataque de dicionário).

  • Encontrar arquivos sensíveis expostos (como backups ou logs de depuração).

Vamos ver agora os comandos mais comuns que você pode usar.

Como Escanear Seu Site WordPress Usando o WPScan

1. Escaneamento Básico

Uma varredura básica fornece uma visão geral da segurança do seu site WordPress, identificando vulnerabilidades-chave ou configurações incorretas. Ela pode detectar a versão principal do WordPress e sinalizá-la se estiver desatualizada, destacando riscos potenciais como injeção de SQL ou vulnerabilidades de script entre sites (XSS) associadas a versões mais antigas.

A varredura também pode revelar arquivos de backup acessíveis publicamente (por exemplo, .sql ou .zip) ou arquivos de debug como debug.log, que poderiam expor informações sensíveis como credenciais de banco de dados ou caminhos do servidor.

Ela pode sinalizar cabeçalhos de segurança HTTP ausentes ou configurados de forma inadequada, como Strict-Transport-Security (HSTS) ou Content-Security-Policy (CSP), que são críticos para proteger contra ataques de degradação de protocolo e execução de script não autorizada.

Diretórios abertos que expõem a estrutura de arquivos do seu site e possivelmente plugins ou temas vulneráveis também podem ser sinalizados se forem identificados em metadados públicos.

Essas descobertas fornecem um ponto de partida para abordar lacunas fundamentais de segurança.

wpscan --url http://yourwebsite.com

Isso é o que você verá no seu terminal ao executar este comando:

2. Enumeração de Usuários

A enumeração de usuários é um processo de identificação de nomes de usuários no seu site WordPress. Saber esses nomes de usuário pode ajudar os atacantes a direcionar contas específicas para ataques de força bruta.

Para enumerar usuários, execute:

wpscan --url http://yourwebsite.com --enumerate u

A saída mostrará os nomes de usuário:

Se você encontrar nomes de usuário padrão como admin, deverá substituí-los por algo único e seguro.

Aqui estão algumas boas práticas para nomes de usuário:

  • Evite nomes padrão: Substitua nomes de usuário padrão como admin ou user por algo único e não facilmente adivinhável.

  • Mude nomes de usuário vulneráveis: Para alterar um nome de usuário, você pode criar um novo usuário com privilégios de administrador, transferir a propriedade de postagens ou conteúdo e, em seguida, excluir o usuário antigo.

  • Use nomes de usuário baseados em função com cuidado: Evite nomear contas de acordo com suas funções (por exemplo, editor, manager), pois esses podem ser alvos fáceis.

  • Implemente bloqueios de login: Combine nomes de usuário seguros com plugins que bloqueiam contas após várias tentativas de login falhadas.

  • Ative a Autenticação de Dois Fatores (2FA): Adicionar 2FA garante que, mesmo que um nome de usuário seja adivinhado, a conta permaneça segura.

3. Verificação de Plugins e Temas

Plugins e temas podem ter problemas de segurança. O WPScan pode listar todos os plugins e temas instalados, juntamente com quaisquer vulnerabilidades associadas.

Para os plugins, execute isso:

wpscan --url http://yourwebsite.com --enumerate p

Terá uma saída como esta:

Para os temas, execute isso:

wpscan --url http://yourwebsite.com --enumerate t

Terá uma saída semelhante a esta:

Procure por versões desatualizadas ou vulnerabilidades conhecidas nos resultados e atualize ou substitua esses componentes imediatamente.

Vamos ver alguns problemas de segurança comuns em plugins e temas.

Primeiramente, temos Cross-Site Scripting (XSS). O tratamento inadequado de entradas inseguras em plugins ou temas pode permitir que invasores injetem scripts maliciosos, potencialmente roubando informações do usuário ou assumindo sessões de administração. Um site WordPress mal protegido com uma vulnerabilidade XSS pode permitir que invasores roubem cookies de sessão, ganhem acesso de administração não autorizado, injetem redirecionamentos maliciosos, levem os usuários a sites de phishing, exibam conteúdo enganoso, enganando usuários a fornecer informações sensíveis.

Também há Injeção de SQL. Plugins ou temas mal escritos podem permitir que invasores manipulem consultas de banco de dados, expondo dados sensíveis ou danificando seu site. Vulnerabilidades de injeção de SQL podem ser exploradas para despejar dados sensíveis, burlar autenticação e modificar ou excluir dados.

Alguns plugins ou temas podem incluir código malicioso—intencionalmente ou devido a uma segurança precária—que concede aos atacantes acesso não autorizado ao seu site, conhecido como backdoors. Uma vez instalado, um backdoor pode conceder acesso persistente, permitir uploads de arquivos arbitrários, comprometer a integridade do site e roubar dados sensíveis.

Há também Execução Remota de Código (RCE) – vulnerabilidades que permitem que atacantes executem código arbitrário em seu servidor, frequentemente levando ao controle total do seu site ou servidor. Uma vez que os atacantes ganham acesso RCE, eles podem criar usuários administradores, exfiltrar dados, lançar ataques adicionais e escalar privilégios.

Melhores Práticas:

  • Sempre mantenha plugins e temas atualizados para as versões mais recentes.

  • Remova quaisquer plugins e temas não utilizados ou inativos, pois estes ainda podem representar um risco.

  • Certifique-se de que plugins e temas sejam baixados de fontes confiáveis e respeitáveis e tenham um histórico de manutenção ativa.

  • Considere usar plugins de segurança para monitorar alterações nos arquivos de plugins ou temas e detectar atividades suspeitas.

4. Teste de Senhas

O WPScan pode testar senhas fracas tentando um ataque de força bruta usando uma lista de palavras:

wpscan --url http://yourwebsite.com --passwords /path/to/passwords.txt

e este é o resultado na sua linha de comando:

O que é Força Bruta?

Força bruta é um método que os atacantes usam para adivinhar senhas tentando sistematicamente todas as combinações possíveis até encontrar a correta. Quando combinado com uma lista de palavras—um arquivo contendo uma coleção de senhas comumente utilizadas—a força bruta se torna muito mais rápida e eficiente.

Uma lista de palavras típica pode incluir:

  • Senhas simples como 123456, password e qwerty.

  • Padrões comuns como Spring2024! ou welcome123.

  • Senhas vazadas de violações de dados anteriores.

Ao simular esse tipo de ataque, o WPScan pode identificar contas que usam senhas fracas, permitindo que você aborde as vulnerabilidades de forma proativa.

Senhas fracas facilitam e aceleram a força bruta. Uma senha curta ou previsível pode ser adivinhada em segundos, enquanto uma senha mais longa, complexa e com elementos únicos é exponencialmente mais difícil de quebrar.

Como Criar Senhas Fortes

Senhas fortes são sua primeira linha de defesa contra ataques de força bruta. Aqui estão as principais características de senhas fortes:

  • Comprimento: Pelo menos 12–16 caracteres de comprimento.

  • Complexidade: Use uma mistura de letras maiúsculas e minúsculas, números e caracteres especiais.

  • Unicidade: Evite reutilizar senhas em várias contas.

  • Imprevisibilidade: Evite palavras do dicionário, frases comuns ou informações pessoais como datas de aniversário.

Estratégias para Gerar Senhas Fortes

Há várias medidas que você pode tomar para criar senhas fortes. Primeiramente, use um gerador de senhas. Ferramentas como LastPass e Bitwarden podem criar e armazenar senhas altamente complexas para você.

Você também deve usar frases de acesso (em vez de apenas senhas regulares). Combine palavras aleatórias e não relacionadas com números e símbolos, como Céu#Árvore!Motocicleta12.

Por fim, evite padrões que possam ser facilmente adivinhados por um invasor. Não use sequências ou padrões de teclado como abcdef ou qwerty.

Use Ferramentas para Gerenciar Senhas

Gerenciar senhas fortes pode ser desafiador. Os gerenciadores de senhas simplificam isso armazenando e preenchendo com segurança suas credenciais. Opções populares incluem:

  • Bitwarden

  • LastPass

Essas ferramentas também possuem recursos como auditoria de senhas para detectar senhas fracas ou reutilizadas.

Use a Autenticação em Dois Fatores (2FA)

A autenticação em dois fatores (2FA) adiciona uma camada adicional de segurança ao exigir que os usuários verifiquem sua identidade por meio de um segundo fator além da senha. Isso pode incluir:

  • Códigos únicos enviados por e-mail ou SMS.

  • Códigos gerados por aplicativo de ferramentas como Google Authenticator ou Authy.

  • Verificação biométrica, como impressões digitais ou reconhecimento facial.

Mesmo que um invasor adivinhe sua senha por força bruta, a 2FA impede que eles acessem sua conta sem verificação secundária. Esse passo adicional torna a força bruta impraticável, pois os invasores também precisariam comprometer seu dispositivo ou método de 2FA.

Como Implementar 2FA no WordPress
  1. Instale um plugin do WordPress como o Google Authenticator.

  2. Exija que todas as contas de usuários, especialmente administradores, ativem a autenticação de dois fatores (2FA).

  3. Ofereça códigos de backup ou opções de recuperação caso os usuários percam o acesso ao seu dispositivo 2FA.

  4. Teste e verifique se o 2FA funciona de forma confiável para todos os cargos de usuários antes de torná-lo obrigatório.

A Importância da Higiene de Senhas

Ao usar senhas fortes e implementar o 2FA, você pode reduzir significativamente a eficácia dos ataques de força bruta.

O recurso de teste de senhas do WPScan pode ajudá-lo a identificar credenciais fracas. Ele também destaca a necessidade crítica de uma higiene proativa de senhas e camadas de segurança adicionais para manter seu site WordPress seguro.

O que Fazer com os Resultados do WPScan

Os relatórios do WPScan fornecem informações acionáveis sobre a segurança do seu site. Veja o que você pode fazer com as informações:

Primeiro, atualize o núcleo do WordPress, plugins e temas: Mantenha tudo atualizado para corrigir vulnerabilidades.

Segundo, aborde problemas de configuração: Corrija permissões de arquivos mal configuradas, cabeçalhos HTTP inseguros e outros avisos.

Aqui estão alguns exemplos de remediação que você pode aplicar:

  • Indexação de diretório: Se o WPScan detectar diretórios abertos, desative a navegação de diretórios adicionando esta linha ao seu arquivo .htaccess:

      Options -Indexes
    
  • Permissões de arquivo: Certifique-se de que arquivos críticos como wp-config.php sejam somente leitura, definindo permissões para 440 ou 400 usando o comando:

      chmod 400 wp-config.php
    

Você também deve proteger todas as contas de usuário. Você pode fazer isso de várias maneiras:

  • Atualizar senhas fracas: Use senhas fortes e únicas para todas as contas de usuário (consulte a seção de teste de senhas para dicas).

  • Remover contas não utilizadas: Exclua contas inativas, especialmente aquelas com privilégios de administrador.

  • Renomeie nomes de usuário previsíveis: Altere nomes de usuário como admin para algo menos óbvio.

Certifique-se também de proteger arquivos sensíveis: Se o WPScan encontrar arquivos expostos como debug.log, exclua ou proteja-os. Exclua arquivos desnecessários ou backups antigos.

Para os arquivos que precisa manter, mova-os para um diretório fora do root da web. Você também pode proteger arquivos com .htaccess, bloqueando o acesso a arquivos sensíveis usando regras de Deny e Allow:

<Files wp-login.php>
    Order Deny,Allow
    Deny from all
    Allow from 123.456.789.000
</Files>

Limitações do WPScan

O WPScan é uma ferramenta poderosa, mas possui algumas limitações. Esteja ciente delas para que possa tomar outras medidas para proteger seus sites WP.

1. Somente Vulnerabilidades Conhecidas

O WPScan depende de seu banco de dados de vulnerabilidades conhecidas, portanto, não detectará exploits de dia zero ou vulnerabilidades personalizadas.

Aqui estão algumas dicas sobre como você pode mitigar esse problema:

  • Fique informado: Monitore blogs de segurança do WordPress, bancos de dados de vulnerabilidades como CVE ou WPVulnDB e fóruns da comunidade em busca de ameaças emergentes.

  • Utilize um Firewall de Aplicativos da Web (WAF): Ferramentas como Cloudflare ou Sucuri podem bloquear atividades suspeitas e tentativas de explorar vulnerabilidades desconhecidas.

  • Realize revisões de segurança manuais: Revise periodicamente seu site em busca de comportamentos incomuns ou alterações não autorizadas, especialmente em arquivos críticos como wp-config.php ou seu banco de dados.

2. Sem Proteção em Tempo Real

O WPScan é uma ferramenta de diagnóstico, não um firewall ou sistema de detecção de intrusões. Para proteção em tempo real, é uma boa ideia combinar o WPScan com outras ferramentas.

Algumas medidas que você pode tomar são:

  • Instale plugins de segurança: Utilize plugins de segurança específicos para fornecer monitoramento contínuo, varredura de malware e proteção de firewall.

  • Monitore logs de atividades: Configure o rastreamento de atividades para identificar tentativas de login suspeitas, alterações de arquivos ou ações de usuário não autorizadas.

3. Intensivo em Recursos

Escanear grandes sites com muitos plugins e temas pode ser demorado e pode impactar o desempenho do servidor.

Existem várias estratégias que você pode adotar para mitigar isso, como agendar escaneamentos durante períodos de baixo tráfego para minimizar a interrupção para os visitantes do site. Você também pode realizar escaneamentos em uma cópia de teste do seu site em vez de diretamente no ambiente ao vivo.

4. Curva de Aprendizado

Como uma ferramenta de linha de comando, o WPScan pode ser intimidador para usuários menos técnicos. No entanto, a documentação é excelente, e com prática, você se tornará proficiente.

Se a CLI for muito complicada para você, tente combinar o WPScan com plugins de segurança que oferecem escaneamento e relatórios baseados em GUI.

Melhores Práticas para Usar o WPScan

Para aproveitar ao máximo o WPScan, você vai querer adaptar seu uso às necessidades específicas do seu site e estabelecer uma estratégia robusta para monitorar os resultados. Aqui está como você pode maximizar sua eficácia:

Escolha os Escaneamentos Certos para Seu Site

O WPScan oferece uma variedade de opções de escaneamento, desde escaneamentos básicos até verificações de vulnerabilidades específicas para plugins, temas e contas de usuário. Escolher os escaneamentos certos depende do tipo de site que você gerencia e da sensibilidade dos dados que ele manipula.

Para sites pequenos e de baixo tráfego:

  • Priorize varreduras básicas para verificar o núcleo do WordPress, plugins e temas em busca de atualizações e vulnerabilidades.

  • Realize varreduras mensalmente ou após grandes atualizações.

  • Use enumeração de usuários (--enumerate u) se suspeitar de senhas fracas ou nomes de usuário padrão.

Para sites de empresas de médio porte:

  • Além das varreduras básicas, inclua enumeração de plugins e temas (--enumerate p,t) para garantir que todos os componentes estejam seguros.

  • Varreduras semanais para se manter à frente de ameaças emergentes.

  • Combine WPScan com plugins de registro de atividade para rastrear ações de usuários e alterações de arquivos.

Para sites de alto tráfego ou e-commerce:

  • Realize varreduras abrangentes, incluindo enumeração de usuários (--enumerate u), enumeração de arquivos (--enumerate f) e teste de força bruta de senhas (se permitido).

  • Varreduras diárias ou semanais para minimizar riscos.

  • Implemente medidas adicionais como autenticação de dois fatores (2FA) para contas de administradores, um firewall de aplicação web (WAF) e cabeçalhos de segurança para reforçar seu site.

Para sites que lidam com dados sensíveis:

  • Dê prioridade a todas as varreduras disponíveis, incluindo aquelas para arquivos expostos e vulnerabilidades de configuração.

  • Varreduras semanais com monitoramento em tempo real via um plugin de segurança.

  • Utilize ambientes de teste para testar configurações de segurança sem afetar a produção.

Deve-se utilizar todas as varreduras?

Embora pareça vantajoso usar todas as varreduras oferecidas pelo WPScan, existem vários fatores a serem considerados.

Primeiramente, leve em consideração o tamanho do seu site e seus recursos. Para sites menores, executar todas as varreduras pode ser excessivo e intensivo em recursos.

Você também vai querer focar em varreduras que abordem as vulnerabilidades mais prováveis do seu site. Por exemplo, um site de comércio eletrônico deve priorizar a segurança do usuário e dos pagamentos em vez de uma enumeração exaustiva de arquivos.

Os requisitos de conformidade também são importantes a serem considerados. Se você estiver sujeito a regulamentos como o GDPR, certifique-se de verificar e abordar vulnerabilidades relacionadas à proteção de dados.

Como Monitorar Resultados de Forma Eficaz

Monitorar os resultados do WPScan é importante. Isso ajuda você a corrigir vulnerabilidades, é claro, mas também ajuda a criar um sistema para acompanhar mudanças ao longo do tempo e manter-se vigilante.

Configurar Relatórios

Você pode salvar os resultados da varredura em arquivos usando a flag --output:

wpscan --url http://example.com --output /path/to/report.txt

Então, revise os relatórios regularmente e compare-os com varreduras anteriores para identificar problemas recorrentes ou novas vulnerabilidades.

Criar um Plano de Ação

É uma boa ideia categorizar as vulnerabilidades com base na gravidade (por exemplo, crítica, moderada, baixa).

Isso permite que você trate problemas de alta gravidade (como plugins desatualizados com exploits conhecidos) imediatamente. Depois, você pode agendar tarefas de menor prioridade, como ajustes de permissões de arquivos ou pequenas mudanças de configuração, para a manutenção de rotina.

Use ferramentas como planilhas ou um aplicativo de gestão de projetos (por exemplo, Trello, Asana) para registrar vulnerabilidades, correções e ações de acompanhamento.

Certifique-se de analisar problemas recorrentes para identificar padrões, como vulnerabilidades frequentes de plugins, e considere substituir componentes problemáticos.

Automatize Notificações

Se você programar escaneamentos usando trabalhos cron, configure alertas por e-mail ou notificações para revisar os resultados sem demora.

Use plugins de segurança com monitoramento em tempo real para notificá-lo sobre atividades suspeitas entre as verificações do WPScan.

Comunique-se com Sua Equipe:

Você vai querer garantir que compartilhe relatórios com membros relevantes da equipe, como desenvolvedores ou administradores do site, para que todos estejam cientes das potenciais vulnerabilidades.

Também é uma boa ideia estabelecer protocolos para ação imediata caso vulnerabilidades críticas sejam descobertas.

Ao escolher escaneamentos com base nas necessidades específicas do seu site e implementar uma abordagem estruturada para monitorar os resultados, você pode garantir que o WPScan seja utilizado de forma eficaz. Além disso, certifique-se de adaptar a ferramenta ao seu perfil de risco, acompanhar vulnerabilidades ao longo do tempo e integrar suas descobertas em uma estratégia de segurança mais ampla.

Essa abordagem não apenas melhora a postura de segurança do seu site, mas também minimiza o uso de recursos e esforço enquanto fornece máxima proteção.

Conclusão

O WPScan é uma ferramenta inestimável para qualquer pessoa que gerencia um site WordPress. Ele simplifica o processo de identificação de vulnerabilidades e fornece recomendações claras e acionáveis para fortalecer a segurança do seu site.

Ao integrar o WPScan em seu fluxo de trabalho e seguir as melhores práticas, você pode reduzir o risco de ataques e manter seu site WordPress seguro. A segurança é uma jornada contínua, e ferramentas como o WPScan facilitam ficar à frente de possíveis ameaças.