Sobre o projeto

WPScan é um scanner de segurança de código aberto baseado em linha de comando, projetado para sites WordPress. Ele é escrito em Ruby e destinado a profissionais de segurança, testadores de invasão e mantenedores de blogs que precisam avaliar a postura de segurança de suas instalações WordPress. A instalação é suportada em várias plataformas. No macOS, os usuários podem instalar via Homebrew com `brew install wpscanteam/tap/wpscan`. Em distribuições Linux, o WPScan está disponível por meio de gerenciadores de pacotes (como o apt do Kali Linux) ou via RubyGems com `gem install wpscan`. Imagens Docker também estão disponíveis para implantações em contêineres. A ferramenta requer Ruby 3.3 ou superior, Curl 7.72 ou superior e RubyGems. Dependências de extensões nativas, como Nokogiri, podem exigir pacotes adicionais do sistema. A funcionalidade principal inclui detecção de versão do núcleo do WordPress, detecção de temas, enumeração de plugins, enumeração de nomes de usuário e descoberta de pastas de backup. A opção `--enumerate` suporta vários alvos: `u` para nomes de usuário, `ap` para todos os plugins, `vp` para plugins vulneráveis, `bf` para pastas de backup, entre outros. Um modo `--stealthy` está disponível para varreduras mais discretas. A detecção de plugins pode ser configurada com `--plugins-detection`, com opções como passiva ou agressiva. O WPScan integra-se à API do Banco de Dados de Vulnerabilidades do WPScan para obter dados de vulnerabilidades em tempo real. Um token de API é necessário, podendo ser obtido ao se registrar em wpscan.com. Contas gratuitas recebem até 25 solicitações de API por dia, o que é suficiente para escanear a maioria dos sites WordPress uma vez por dia. Quando a cota diária é esgotada, o WPScan continua funcionando, mas sem dados de vulnerabilidades. Clientes corporativos podem, alternativamente, usar um despejo local do banco de dados por meio da opção `--enterprise-db-token`, que baixa localmente dados de vulnerabilidades de plugins, temas e WordPress sem limites de solicitações de API. A configuração pode ser carregada de arquivos YAML ou JSON colocados em diretórios compatíveis com XDG ou em caminhos legados. As opções incluem configurações de proxy, agentes de usuário, número de threads, cabeçalhos personalizados e tokens de API. O token de API também pode ser carregado a partir da variável de ambiente `WPSCAN_API_TOKEN`. O banco de dados local de vulnerabilidades segue a Especificação de Diretório Base XDG, armazenado em `~/.cache/wpscan/db` para novas instalações ou `~/.wpscan/db` para configurações legadas. As atualizações do banco de dados são realizadas com `wpscan --update`, que baixa novamente apenas arquivos cujas somas de verificação mudaram. Usuários do Docker podem persistir o banco de dados entre execuções montando um volume nomeado em `/wpscan/.cache/wpscan/db`. O WPScan é distribuído sob a Licença de Código-Fonte Público do WPScan, que permite uso gratuito para fins não comerciais, incluindo testes de invasão, testes de sistemas pessoais e inclusão em distribuições de pentest. O uso comercial requer uma licença separada. A ferramenta é fornecida como está, sem garantia ou suporte.