O que é o WPScan?

O WPScan é uma ferramenta de segurança especializada em scanners de vulnerabilidades para sites WordPress. Ele é desenvolvido em Ruby e é projetado para detectar vulnerabilidades comuns em instalações do WordPress, como plugins, temas e configurações fracas. O WPScan é amplamente utilizado por profissionais de segurança, pentesters e administradores de sistemas para avaliar a segurança de sites WordPress.

Conceito por Trás do WPScan

O WordPress é o sistema de gerenciamento de conteúdo (CMS) mais popular na internet, o que o torna um alvo frequente de ataques. O WPScan automatiza o processo de identificação de problemas de segurança em:

  • Versão do WordPress: Verifica se a versão instalada é vulnerável a ataques conhecidos.
  • Plugins: Verifica plugins instalados e suas versões para vulnerabilidades conhecidas.
  • Temas: Verifica temas instalados e suas versões para vulnerabilidades conhecidas.
  • Usuários: Enumera usuários do WordPress para possíveis ataques de força bruta.
  • Configurações fracas: Identifica configurações que podem ser exploradas.

O WPScan utiliza um banco de dados de vulnerabilidades conhecidas (que é atualizado regularmente) para comparar com os componentes detectados no site alvo.

Preference usage

wpscan --url http://target.com -e ap,t,tt,u --api-token $WPSCANKEY
Parte do ComandoSignificadoO que Faz
wpscanFerramentaInicia o scanner de segurança WordPress.
--url http://target.comAlvoDefine o endereço do site WordPress que será analisado.
-eModo de EnumeraçãoAtiva a enumeração, que é o processo de descobrir informações específicas do site.
apAll PluginsEnumera todos os plugins instalados, não apenas os populares ou vulneráveis.
tPopular ThemesEnumera apenas os temas populares instalados.
ttTimthumbsProcura por versões vulneráveis do script timthumb.php, conhecido por falhas de segurança.
uUsersEnumera usuários do site, tentando descobrir nomes de login válidos.
--api-tokenAPIObtenha um Token de API Gratuito: Para que o WPScan mostre detalhes das vulnerabilidades (e não apenas liste os componentes), registre-se no site wpscan.com para obter um token de API gratuito (25 solicitações por dia). Adicione o token ao comando

Basic Usage

wpscan --url http://example.com #Basic WordPress Scan

wpscan --url http://example.com --enumerate u #Enumerate Users

wpscan --url http://example.com --api-token <YOUR_API_KEY> #Use API Token for More Requests

Target Enumeration

wpscan --url http://example.com --enumerate #Enumerate Everything

wpscan --url http://example.com --enumerate u #Enumerate Users

wpscan --url http://example.com --enumerate p #Enumerate Plugins

wpscan --url http://example.com --enumerate vp #Enumerate Vulnerable Plugins

wpscan --url http://example.com --enumerate ap #Enumerate All Plugins (Not Just Active)

wpscan --url http://example.com --enumerate vt #Enumerate Vulnerable Themes

wpscan --url http://example.com --enumerate at #Enumerate All Themes

wpscan --url http://example.com --enumerate c #Enumerate Config Backups

Brute-Forcing WordPress Logins

wpscan --url http://example.com -U admin -P rockyou.txt #Brute-Force Admin Password

wpscan --url http://example.com --usernames users.txt --passwords passwords.txt #Multi-User Brute-Force

wpscan --url http://example.com --usernames admin --passwords passwords.txt --max-threads 10 #Speed Up Brute-Force

wpscan --url http://example.com --usernames admin --passwords rockyou.txt --throttle 1 #Add 1-Second Delay Between Requests

Detecting Vulnerabilities

wpscan --url http://example.com --enumerate vp #Enumerate Vulnerable Plugins

wpscan --url http://example.com --enumerate vt #Enumerate Vulnerable Themes

wpscan --url http://example.com --api-token <YOUR_API_KEY> #Use API for Latest Vulnerability Data

wpscan --url http://example.com --detection-mode aggressive #Aggressive Detection Mode

User Enumeration and Exploitation

wpscan --url http://example.com --enumerate u #Enumerate Users

wpscan --url http://example.com --enumerate u --wp-content-dir wp-content #Custom WordPress Directory

wpscan --url http://example.com -U admin -P passwords.txt --force #Force Login Brute-Force

wpscan --url http://example.com --wp-content-dir custom-dir #Scan Custom WordPress Installation

Plugin and Theme Analysis

wpscan --url http://example.com --enumerate p #Enumerate Installed Plugins

wpscan --url http://example.com --enumerate ap #Enumerate All Plugins (Active & Inactive)

wpscan --url http://example.com --enumerate vp #Enumerate Vulnerable Plugins

wpscan --url http://example.com --enumerate vt #Enumerate Vulnerable Themes

Configuration and Backup Files Enumeration

wpscan --url http://example.com --enumerate c #Enumerate Config Backups

wpscan --url http://example.com --enumerate db #Enumerate Database Dumps

wpscan --url http://example.com --enumerate med #Enumerate Media Files

Performance Tuning

wpscan --url http://example.com --max-threads 20 #Increase Scan Speed

wpscan --url http://example.com --throttle 1 #Add Delay Between Requests

wpscan --url http://example.com --random-user-agent #Use Random User-Agents

wpscan --url http://example.com --request-timeout 10 #Set Request Timeout

Bypassing Security Measures

wpscan --url http://example.com --proxy http://127.0.0.1:8080 #Use Proxy

wpscan --url http://example.com --proxy socks5://127.0.0.1:9050 #Use SOCKS5 Proxy

wpscan --url http://example.com --random-user-agent #Spoof User-Agent

wpscan --url http://example.com --headers "X-Forwarded-For: 127.0.0.1" #Bypass WAF

Stealth Mode and Obfuscation

wpscan --url http://example.com --quiet #Silent Mode (No Output)

wpscan --url http://example.com --random-user-agent #Use Random User-Agent

wpscan --url http://example.com --proxy http://127.0.0.1:8080 #Route Through Proxy

wpscan --url http://example.com --throttle 5 #Add Delay to Reduce Detection

Saving and Exporting Results

wpscan --url http://example.com -o results.txt #Save Results to File

wpscan --url http://example.com -o results.json --format json #Save Results as JSON

wpscan --url http://example.com --log wpscan.log #Save Scan Log

Combining Multiple Options

wpscan --url http://example.com --enumerate u,p,vp --max-threads 15 --random-user-agent #Multi-Enumeration with Speed & Stealth

wpscan --url http://example.com -U admin -P rockyou.txt --proxy socks5://127.0.0.1:9050 --random-user-agent #Brute-Force via Proxy with Spoofed User-Agent

Troubleshooting and Debugging

wpscan --url http://example.com --debug-output debug.log #Enable Debug Logging

wpscan --url http://example.com --disable-tls-checks #Ignore SSL/TLS Errors

Best Practices

wpscan --url http://example.com --enumerate u,p,vp,vt --api-token YOUR_API_KEY --max-threads 20 #Full Scan with API Data

wpscan --url http://example.com -U admin -P rockyou.txt --max-threads 10 --throttle 1 #Slow Brute-Force to Avoid Lockouts

wpscan --url http://example.com --random-user-agent --proxy socks5://127.0.0.1:9050 #Stealth Scan via Proxy

Fonte

wpscan cheat sheet