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 Comando | Significado | O que Faz |
|---|---|---|
| wpscan | Ferramenta | Inicia o scanner de segurança WordPress. |
| --url http://target.com | Alvo | Define o endereço do site WordPress que será analisado. |
| -e | Modo de Enumeração | Ativa a enumeração, que é o processo de descobrir informações específicas do site. |
| ap | All Plugins | Enumera todos os plugins instalados, não apenas os populares ou vulneráveis. |
| t | Popular Themes | Enumera apenas os temas populares instalados. |
| tt | Timthumbs | Procura por versões vulneráveis do script timthumb.php, conhecido por falhas de segurança. |
| u | Users | Enumera usuários do site, tentando descobrir nomes de login válidos. |
| --api-token | API | Obtenha 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