Mais de 40% da web é alimentada pelo WordPress. Mas isso torna esse CMS popular um alvo atraente 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 fundamental sob vários pontos de vista, como reputação da marca, violação de dados e continuidade dos negócios.
Uma ferramenta que se destaca no ecossistema do WordPress é WPScan. É um scanner de segurança especificamente projetado para o WordPress. Ele vem com licença paga e gratuita, 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 ajudar 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 em 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 vamos abordar:
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 guarda de 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 com as quais 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ários).
-
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 sinalizar 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 publicamente acessíveis (por exemplo, .sql
ou .zip
) ou arquivos de depuração como debug.log
, que poderiam expor informações sensíveis como credenciais de banco de dados ou caminhos do servidor.
Pode sinalizar cabeçalhos de segurança HTTP ausentes ou configurados incorretamente, 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 scripts não autorizados.
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 de segurança fundamentais.
wpscan --url http://yourwebsite.com
Isso é o que você verá no seu terminal ao executar este comando:
2. Enumerando 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ários 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á nomes de usuários:
Se encontrar nomes de usuário padrão como admin
, você deve substituí-los por algo único e seguro.
Aqui estão algumas melhores práticas para nomes de usuário:
-
Avoid nomes padrão: Substitua nomes de usuário padrão como
admin
ouuser
por algo único e não facilmente adivinhável. -
Renomear 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 com base em suas funções (por exemplo,
editor
,manager
), pois esses podem ser alvos fáceis. -
Implementar bloqueios de login: Combine nomes de usuário seguros com plugins que bloqueiam contas após tentativas repetidas de login malsucedidas.
-
Ativar 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. Verificando 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 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 analisar alguns problemas de segurança comuns em plugins e temas.
Primeiramente, temos Cross-Site Scripting (XSS). O tratamento de entrada inseguro 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 do 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 usuários a sites de phishing, exibam conteúdo enganoso, enganando os usuários a fornecer informações sensíveis.
Também temos SQL Injection. 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 SQL podem ser exploradas para extrair dados sensíveis, ignorar 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, muitas vezes levando ao controle total do seu site ou servidor. Uma vez que os atacantes obtêm acesso RCE, eles podem criar usuários administradores, exfiltrar dados, lançar novos ataques 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.
-
Garanta 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 esta é a saída no seu terminal:
O que é Força Bruta?
A força bruta é um método que os atacantes usam para adivinhar senhas, tentando sistematicamente cada combinação possível até encontrar a correta. Quando combinado com uma lista de palavras—um arquivo contendo uma coleção de senhas comumente usadas—o ataque de força bruta se torna muito mais rápido e eficiente.
Uma lista de palavras típica pode incluir:
-
Senhas simples como
123456
,senha
eqwerty
. -
Padrões comuns como
Spring2024!
ouwelcome123
. -
Senhas vazadas de vazamentos de dados anteriores.
Ao simular esse tipo de ataque, o WPScan pode identificar contas que usam senhas fracas, permitindo que você aborde proativamente as vulnerabilidades.
Senhas fracas tornam o ataque de força bruta mais fácil e rápido. Uma senha curta ou previsível pode ser adivinhada em segundos, enquanto uma senha mais longa e complexa 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 de dicionário, frases comuns ou informações pessoais como datas de nascimento.
Estratégias para Gerar Senhas Fortes
Existem várias medidas que você pode tomar para criar senhas fortes. Primeiro, 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 senha (em vez de apenas senhas comuns). Combine palavras aleatórias e não relacionadas com números e símbolos, como Céu#Árvore!Moto12
.
Por fim, evite padrões que possam ser facilmente adivinhados por um atacante. Não use padrões sequenciais ou 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 automaticamente suas credenciais de forma segura. Opções populares incluem:
-
Bitwarden
-
LastPass
Essas ferramentas também possuem recursos como auditoria de senhas para detectar senhas reutilizadas ou fracas.
Use Autenticação de Dois Fatores (2FA)
A autenticação de dois fatores (2FA) adiciona uma camada adicional de segurança, exigindo que os usuários verifiquem sua identidade através de um segundo fator além da senha. Isso pode incluir:
-
Códigos únicos enviados por e-mail ou SMS.
-
Códigos gerados por aplicativos de ferramentas como Google Authenticator ou Authy.
-
Verificação biométrica, como impressões digitais ou reconhecimento facial.
Mesmo que um atacante adivinhe sua senha através de força bruta, a 2FA impede que eles acessem sua conta sem uma verificação secundária. Esse passo adicional torna a força bruta impraticável, pois os atacantes também precisariam comprometer seu dispositivo ou método 2FA.
Como Implementar 2FA no WordPress
-
Instale um plugin do WordPress como Google Authenticator.
-
Exija que todas as contas de usuário, especialmente administradores, habilitem o 2FA.
-
Ofereça códigos de backup ou opções de recuperação caso os usuários percam o acesso ao seu dispositivo 2FA.
-
Teste e certifique-se de que o 2FA funcione de forma confiável para todos os papéis de usuário 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 de ataques de força bruta.
O recurso de teste de senhas do WPScan pode ajudá-lo a identificar credenciais fracas. Também destaca a necessidade crítica de 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 insights acionáveis sobre a segurança do seu site. Veja o que você pode fazer com as informações:
Em primeiro lugar, atualize o núcleo do WordPress, plugins e temas: Mantenha tudo atualizado para corrigir vulnerabilidades.
Em segundo lugar, aborde problemas de configuração: Corrija permissões de arquivos mal configuradas, cabeçalhos HTTP inseguros e outras advertências.
Aqui estão alguns exemplos de remediação que você pode aplicar:
-
Indexação de diretórios: 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: Garanta que arquivos críticos como
wp-config.php
sejam somente leitura configurando as permissões para440
ou400
usando o comando:chmod 400 wp-config.php
Você também deve fortalecer todas as contas de usuário. Você pode fazer isso de várias maneiras:
-
Atualize senhas fracas: Use senhas fortes e únicas para todas as contas de usuário (consulte a seção de teste de senha para obter dicas).
-
Remova contas não utilizadas: Exclua contas inativas, especialmente aquelas com privilégios de administrador.
-
Renomear nomes de usuário previsíveis: Altere nomes de usuário como
admin
para algo menos óbvio.
Certifique-se também de proteger quaisquer 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 você precisa manter, mova-os para um diretório fora da raiz da web. Você também pode proteger os 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 você possa adotar outras medidas para proteger seus sites WP.
1. Apenas 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:
-
Mantenha-se informado: Monitore blogs de segurança do WordPress, bancos de dados de vulnerabilidades como CVE ou WPVulnDB, e fóruns da comunidade para ameaças emergentes.
-
Use um Firewall de Aplicação 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, particularmente em arquivos críticos como
wp-config.php
ou seu banco de dados.
2. Sem Proteção em Tempo Real
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 etapas que você pode seguir são:
-
Instale plugins de segurança: Use plugins de segurança específicos para fornecer monitoramento contínuo, varredura de malware e proteção de firewall.
-
Monitore os logs de atividade: Configure o rastreamento de atividades para identificar tentativas de login suspeitas, alterações de arquivo ou ações não autorizadas de usuários.
3. Intensivo em recursos
Escaneando sites grandes com muitos plugins e temas pode ser demorado e pode afetar o desempenho do servidor.
Há várias estratégias que você pode adotar para mitigar isso, como agendar escaneamentos durante os períodos de baixo tráfego para minimizar a interrupção aos 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 intimidante para usuários menos técnicos. No entanto, a documentação é excelente e, com prática, você se tornará proficiente.
Se a CLI for avassaladora para você, tente combinar o WPScan com plugins de segurança que ofereçam escaneamento e relatórios baseados em GUI.
Melhores práticas para usar o WPScan
Para obter o máximo proveito do WPScan, você desejará adaptar seu uso às necessidades específicas do seu site e estabelecer uma estratégia robusta para monitorar os resultados. Veja como você pode maximizar sua eficácia:
Escolha os Escaneamentos Certos para o Seu Site
O WPScan oferece uma variedade de opções de escaneamento, desde escaneamentos básicos até verificações de vulnerabilidades direcionadas para plugins, temas e contas de usuários. Escolher os escaneamentos corretos depende do tipo de site que você gerencia e da sensibilidade dos dados que ele manipula.
Para sites pequenos e com baixo tráfego:
-
Dê prioridade às varreduras básicas para verificar as atualizações e vulnerabilidades do WordPress core, plugins e temas.
-
Execute as varreduras mensalmente ou após grandes atualizações.
-
Use a enumeração de usuários (
--enumerate u
) se suspeitar de senhas fracas ou nomes de usuário padrão.
Para sites de médio porte:
-
Além das varreduras básicas, inclua a 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 o WPScan com plugins de registro de atividades para rastrear ações do usuário e alterações de arquivos.
Para sites de alto tráfego ou comércio eletrônico:
-
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 2FA para contas de administração, um firewall de aplicativos da 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 preparação para testar configurações de segurança sem afetar a produção.
Deve Usar Todas as Varreduras?
Embora possa parecer benéfico usar todas as varreduras que o WPScan oferece, existem vários fatores a serem considerados.
Primeiramente, pense no tamanho do seu site e nos seus recursos. Para sites menores, executar todas as varreduras pode ser excessivo e intensivo em recursos.
Também é importante 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 de pagamento em vez de uma enumeração exaustiva de arquivos.
Os requisitos de conformidade também são importantes a serem considerados. Se você está sujeito a regulamentações como o GDPR, certifique-se de escanear e abordar vulnerabilidades relacionadas à proteção de dados.
Como Monitorar Resultados de Forma Eficaz
Monitorar os resultados do WPScan é importante. Isso ajuda a corrigir vulnerabilidades, é claro, mas também ajuda a criar um sistema para rastrear mudanças ao longo do tempo e permanecer 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
Em seguida, 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 abordar problemas de alta gravidade (como plugins desatualizados com exploits conhecidos) imediatamente. Em seguida, você pode agendar tarefas de menor prioridade, como ajustes de permissão de arquivos ou alterações de configuração menores, para a manutenção de rotina.
Acompanhar Tendências ao Longo do Tempo
Use ferramentas como planilhas ou um aplicativo de gerenciamento 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 verificações usando cron jobs, configure alertas por e-mail ou notificações para revisar os resultados sem atraso.
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 os 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 verificações 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 efetivamente. Além disso, certifique-se de adaptar a ferramenta ao seu perfil de risco, rastrear vulnerabilidades ao longo do tempo e integrar suas descobertas em uma estratégia de segurança mais ampla.
Essa abordagem não só melhora a postura de segurança do seu site, mas também minimiza o uso de recursos e esforço, enquanto oferece máxima proteção.
Conclusão
O WPScan é uma ferramenta inestimável para qualquer pessoa que gerencie 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 a permanência à frente de ameaças potenciais.
Source:
https://www.freecodecamp.org/news/how-to-use-wpscan-to-keep-your-wordpress-site-secure/