Apoya el Desarrollo
Si este proyecto ayuda tu trabajo, apoya el mantenimiento continuo y las nuevas funcionalidades.
Cartera de Donación (ETH)
0x11282eE5726B3370c8B480e321b3B2aA13686582
Escanea el código QR o copia la dirección de la cartera de arriba.
BurpWpsScan

Una extensión de Burp Suite que detecta sitios WordPress durante las pruebas de aplicaciones web (detección pasiva + verificación activa), realiza evaluaciones de seguridad completas incluyendo escaneo de vulnerabilidades del núcleo de WordPress, plugins y temas a través de la API de WPScan, prueba la exposición de XML-RPC/REST API, enumera usuarios, comprueba versiones de plugins y genera informes de pruebas de penetración preparados para IA.
Compatible con las ediciones Community y Professional de Burp Suite.
Capturas de Pantalla
Interfaz Principal
La interfaz principal de WpsScan mostrando sitios WordPress detectados con indicadores de estado y controles de escaneo
Estructura de exportación organizada con informes JSON, Markdown y listos para IA para cada sitio escaneado
JSON sin procesar de WPScan
Salida JSON detallada que contiene datos completos de vulnerabilidades y metadatos del escaneo
Características
Detección y Descubrimiento
- Detección en Vivo de WordPress: Identifica pasivamente sitios WordPress a partir del tráfico HTTP en tiempo real
- Escaneo del Historial HTTP: Escanea el historial HTTP de Burp para encontrar sitios WordPress de tráfico pasado (marcados con la etiqueta [HTTP HISTORY])
- Importación Masiva de URLs: Verifica e importa activamente varias URLs para la detección por lotes de WordPress
- Descubrimiento de Plugins/Temas: Extrae plugins y temas de las respuestas HTTP y del historial
- Detección de Versiones: Identifica la versión del núcleo de WordPress desde múltiples fuentes (meta etiquetas, feeds, API)
Escaneo de Vulnerabilidades
- Integración con API de WPScan: Consulta la base de datos de vulnerabilidades de WPScan para:
- Vulnerabilidades del núcleo de WordPress
- Vulnerabilidades de plugins (más de 80 plugins de alto riesgo + hasta 3 adicionales)
- Vulnerabilidades de temas
- Detalles de Vulnerabilidades en Tiempo Real: Muestra el título y tipo de vulnerabilidad inmediatamente al escanear cada componente
- Escaneo Inteligente de Plugins: Escanea TODOS los más de 80 plugins de alto riesgo + hasta 3 adicionales (ahorra entre 60-80 % de créditos de API)
- Caché de API de 24 Horas: Nunca vuelve a escanear el mismo plugin/tema dos veces en 24 horas (persistente entre reinicios de Burp)
Evaluaciones de Seguridad
- Pruebas de Seguridad XML-RPC:
- Detecta si el endpoint XML-RPC está habilitado
- Prueba el método pingback.ping (riesgo de amplificación DDoS)
- Prueba el método system.multicall (riesgo de amplificación de fuerza bruta)
- Descubrimiento de REST API:
- Enumera los endpoints accesibles de la REST API de WordPress (/wp-json/wp/v2/)
- Prueba los endpoints de usuarios, entradas, páginas y medios
- Señala vulnerabilidades de enumeración de usuarios
- Enumeración de Usuarios:
- Intenta enumerar usuarios mediante la REST API (/wp-json/wp/v2/users)
- Recurre al método de redirección de autor (?author=N)
- Extrae nombres de usuario e IDs para reconocimiento
- Monitoreo de Actualizaciones de Plugins: Comprueba los plugins contra WordPress.org para obtener las últimas versiones (sin usar créditos de API)
- Detección de Endurecimiento de Seguridad: Identifica plugins de seguridad y medidas de endurecimiento
Flujo de Trabajo y Gestión
- Modos de Detección Dual: El escaneo en vivo y el escaneo del historial HTTP funcionan de forma independiente
- Contador de Créditos de API: Seguimiento en tiempo real del uso diario de la API (se reinicia a medianoche)
- Seguimiento de Estado: Etiqueta los sitios como Escaneado, Vulnerable o Falso Positivo con almacenamiento persistente
- Exportar Informes: Genera JSON estructurado, Markdown formateado y prompts listos para IA
- Normalización de URLs: Normaliza automáticamente los subdominios a dominios raíz (cd.krytter.com → krytter.com)
- Soporte de Protocolos: Maneja ambas versiones HTTP y HTTPS del mismo sitio
- Indicadores Visuales: Estado codificado por colores con etiquetas [HTTP HISTORY] e [IMPORTED]
Instalación
Requisitos Previos
- Burp Suite Community o Professional (probado en v2023.x+)
- Clave de API de WPScan (nivel gratuito disponible en https://wpscan.com/api)
Pasos
-
Clona o descarga este repositorio:
git clone https://github.com/Teycir/BurpWpsScan.git
cd BurpWpsScan
-
Carga la extensión en Burp Suite:
- Ve a
Extensions → Installed
- Haz clic en
Add
- Tipo de extensión:
Python
- Selecciona el archivo:
WpsScan.py
- Haz clic en
Next
-
Configura la clave de API:
- Ve a la pestaña "WpsScan" en Burp Suite
- Introduce tu clave de API de WPScan en el campo de texto de la parte superior
- Haz clic en el botón "Save Key"
- La clave se guarda en
C:\burpwpscan_exports\wpsscan_config.txt (Windows prueba las unidades C-Z) o /tmp/burpwpscan_exports/wpsscan_config.txt (Linux/Mac)
-
Verifica la instalación:
- Comprueba que existe la pestaña "WpsScan" en Burp Suite
- Busca un mensaje de éxito en
Extensions →
Uso
Detección en Vivo
- Asegúrate de que el botón "Live Scan: ON" esté activo (verde)
- Navega por los sitios web objetivo a través de Burp (Proxy, Repeater, Scanner, etc.)
- La extensión monitorea automáticamente el tráfico HTTP y detecta sitios WordPress en tiempo real
- Los sitios detectados aparecen en la lista de la pestaña WpsScan
Escaneo del Historial HTTP
- Haz clic en el botón "Scan HTTP History"
- La extensión escanea todo el tráfico HTTP pasado en el historial de Burp
- Los sitios WordPress encontrados se añaden con la etiqueta [HTTP HISTORY] en azul
- Se pueden añadir sitios incluso si ya existen del escaneo en vivo
- Útil para encontrar sitios WordPress de sesiones anteriores
Por qué el Escaneo del Historial HTTP es Potente:
- Descubre Más Plugins: La página de inicio a menudo carga solo 2-3 plugins, pero navegar por varias páginas (tienda, blog, contacto) carga diferentes plugins
- Ejemplo: La página de inicio podría mostrar
contact-form-7, pero la tienda carga woocommerce, el pago carga stripe, el blog carga yoast-seo
- Mejor Cobertura: Escanear el historial HTTP después de navegar por 5-10 páginas puede descubrir 10-20+ plugins frente a 2-3 solo desde la página de inicio
- Ahorra Créditos de API: Cuantos más plugins se encuentren, más precisa será la evaluación de vulnerabilidades sin necesidad de volver a escanear
- Mejor Práctica: Navega a fondo por el sitio objetivo a través del Proxy de Burp, luego haz clic en "Scan HTTP History" antes de ejecutar WPScan
Importación Masiva de URLs
- Haz clic en el botón "Import URLs"
- Pega las URLs en el área de texto (una por línea)
- Haz clic en "Import" para añadirlas a la lista de escaneo
- La extensión verifica automáticamente que cada URL sea un sitio WordPress válido antes de importar
- Solo se añaden al escáner los sitios WordPress confirmados
- Soporta tanto URLs HTTP como HTTPS
- Perfecto para importar objetivos de herramientas de reconocimiento (subfinder, amass, etc.)
Nota: La extensión envía peticiones HTTP para verificar las firmas de WordPress (wp-content, wp-includes, etc.) antes de añadir las URLs. Los sitios que no son WordPress se filtran automáticamente.
Escaneo Manual
Opción 1 - Doble clic:
- Haz doble clic en un sitio WordPress detectado en la lista
- Confirma el escaneo en el diálogo
- Espera a que el escaneo termine
Opción 2 - Interfaz de botones:
- Haz clic en "Scan All" para escanear todos los sitios detectados
Salida del Escaneo
La extensión proporciona comentarios detallados en tiempo real durante los escaneos:
Pruebas de Seguridad:
[+] XML-RPC habilitado
[!] Pingback disponible (riesgo DDoS)
[!] Multicall disponible (amplificación de fuerza bruta)
[+] Endpoint REST accesible: Usuarios
[+] Endpoint REST accesible: Entradas
Vulnerabilidades del Núcleo:
[+] Núcleo: 2 vulnerabilidades
- WP < 6.8.3 - XSS Almacenado DOM Author+ (DIVULGACIÓN DE DATOS SENSIBLES)
- WP < 6.8.3 - Divulgación de Datos Sensibles Contributor+ (DIVULGACIÓN DE DATOS SENSIBLES)
Vulnerabilidades de Plugins:
[+] Plugin 'searchwp': 1 vulnerabilidad
- SearchWP < 4.2.6 - Actualización de Ajustes Subscriber+ (SIN AUTORIZACIÓN)
[+] Plugin 'wp-parsely': 0 vulnerabilidades (limpio)
[*] Plugin 'contact-form-7': última versión 5.8.4
Vulnerabilidades de Temas:
[+] Tema 'rollingstonesofficial': 0 vulnerabilidades (limpio)
Indicadores Visuales
- [HTTP HISTORY]: Etiqueta azul que indica que el sitio se encontró mediante el escaneo del historial HTTP
- [IMPORTED]: Etiqueta morada que indica que el sitio se importó mediante la importación masiva de URLs
- Filas codificadas por color:
- Amarillo: Escaneando actualmente
- Verde: Escaneo completado
- Rojo: Error de escaneo
- Blanco/gris alternante: Predeterminado
Etiquetar Sitios
- Selecciona un sitio de la lista
- Usa las casillas de verificación en la parte inferior:
- Scanned: Marcar como revisado manualmente
- Vulnerable: Vulnerabilidades confirmadas encontradas
- False Positive: No es realmente WordPress o es irrelevante
- Las etiquetas persisten entre reinicios de Burp
- Haz clic en el botón "Export Reports"
- Los informes se guardan en:
- Windows:
C:\burpwpscan_exports\scan_YYYYMMDD_HHMMSS\ (prueba las unidades C-Z)
- Linux/Mac:
/tmp/burpwpsscan_exports/scan_YYYYMMDD_HHMMSS/
- Cada sitio obtiene:
raw_wpscan.json - Respuesta JSON sin procesar de la API
report.md - Informe Markdown formateado
ai_prompt.txt - Listo para análisis de IA
Búsqueda y Filtro
- Cuadro de búsqueda: Filtra sitios por URL
- Desplegable de ordenación: Ordenar por Predeterminado, Host, Estado o Hora de Detección
Seguimiento de Créditos de API
- Contador de Sitios Escaneados: Muestra "Websites Scanned: X" - rastrea el número de sitios escaneados
- Contador de Créditos de API: Muestra "API Credits: X" - rastrea las llamadas reales a la API
- Indicadores de color (para Créditos de API):
- Verde: 0-19 llamadas (seguro)
- Naranja: 20-24 llamadas (advertencia)
- Rojo: 25+ llamadas (límite alcanzado)
- Reinicio automático: Los contadores se reinician a medianoche (00:00)
- Persistente: Sobrevive a reinicios de Burp
- Reinicio manual: Usa el botón "Reset" para limpiar ambos contadores
Informe de vulnerabilidades legible por humanos con:
- Resumen ejecutivo
- Hallazgos de seguridad (exposición de XML-RPC, REST API)
- Descripciones detalladas de vulnerabilidades
- Referencias CVE
- Recomendaciones de remediación
- Detalles técnicos
Prompt para IA (ai_prompt.txt)
Prompt estructurado para análisis de IA que incluye:
- Resumen de resultados del escaneo
- Detalles de vulnerabilidades
- Solicitud de guía de explotación
- Pasos de remediación
- Evaluación del impacto empresarial
Exportación JSON (raw_wpscan.json)
Formato legible por máquina con:
- Metadatos del escaneo
- Información de la versión de WordPress
- Datos completos de vulnerabilidades
- Información de plugins/temas
- Estado de seguridad XML-RPC
- Descubrimiento de endpoints REST API
- Información de actualización de plugins
- Estadísticas
Claves de API y Optimización de Créditos
API de WPScan
- Nivel Gratuito: 25 peticiones/día
- Registrarse: https://wpscan.com/api
- Precios: El nivel gratuito es suficiente para la mayoría de los pentests
- Configuración: Introduce la clave de API en la interfaz de la extensión y haz clic en "Save Key"
Uso Inteligente de Créditos de API
La extensión utiliza estrategias inteligentes para minimizar el consumo de API:
1. Priorización Inteligente de Plugins (Más de 80 Plugins de Alto Riesgo)
- Escanea primero los plugins de alto riesgo (WooCommerce, Contact Form 7, Elementor, etc.)
- Cubre el 95% de los exploits reales de WordPress
- Categorías: Formularios, Comercio Electrónico, Constructores de Páginas, SEO, Seguridad, Copias de Seguridad, Caché, LMS, Sliders, Redes Sociales, Gestión de Archivos, Traducción
2. Escaneo Integral de Alto Riesgo
- Escanea TODOS los plugins de alto riesgo encontrados (WooCommerce, Elementor, Contact Form 7, etc.)
- Escanea hasta 3 plugins adicionales no considerados de alto riesgo
- Lógica: Nunca perder vulnerabilidades críticas en plugins peligrosos conocidos
3. Caché de Respuestas de API de 24 Horas
- Los resultados de plugins/temas se almacenan en caché durante 24 horas
- Persiste entre reinicios de Burp (
wpsscan_api_cache.json)
- Ejemplo: Escanear 10 sitios con "contact-form-7" = 1 llamada API (9 en caché)
- Los indicadores de caché se muestran en los logs con el prefijo
[CACHE]
4. Omitir Sitios Ya Escaneados
- "Scan All" omite automáticamente los sitios con resultados existentes
- Previene el reescaneo accidental y el desperdicio de créditos
Ahorro de Créditos de API
Antes de las optimizaciones:
- Por sitio: 1 (núcleo) + 10 (plugins) + 5 (temas) = 16 llamadas API
- 10 sitios = 160 llamadas API
Después de las optimizaciones (caso típico):
- Por sitio: 1 (núcleo) + 5 (plugins de alto riesgo) + 1 (tema) = 7 llamadas API
- 10 sitios = 70 llamadas API
- Ahorro: 56% de reducción
Después de las optimizaciones (con caché):
- Primer sitio: 7 llamadas API
- Próximos 9 sitios con los mismos plugins de alto riesgo: 1 llamada API cada uno (en caché)
- Total: 16 llamadas API
- Ahorro: 90% de reducción
Configuración
Gestión de Claves de API
- Las claves de API se gestionan a través de la interfaz de usuario
- Introduce tu clave de API de WPScan en el campo de texto en la parte superior de la extensión
- Haz clic en "Save Key" para persistir la clave
- Las claves se almacenan en:
C:\burpwpsscan_exports\wpsscan_config.txt (Windows prueba las unidades C-Z) o /tmp/burpwpscan_exports/wpsscan_config.txt (Linux/Mac)
- No es necesario reiniciar Burp después de cambiar la clave de API
Modos de Detección
- Live Scan: Activar/Desactivar para habilitar/deshabilitar la detección en tiempo real
- HTTP History: Haz clic en el botón para escanear todo el tráfico HTTP pasado
- Ambos modos funcionan de forma independiente con lógica separada
Comportamiento de Escaneo Inteligente
- Los plugins de alto riesgo se escanean primero: WooCommerce, Elementor, Contact Form 7, etc.
- Escaneo integral: Escanea todos los plugins de alto riesgo para evitar perder vulnerabilidades
- Consciente de caché: Omite llamadas API para plugins/temas escaneados recientemente
- Desduplicación: "Scan All" solo escanea sitios sin resultados existentes
Normalización de URLs
- Los subdominios se normalizan a dominios raíz (cd.krytter.com → krytter.com)
- Los puertos estándar (80, 443) se eliminan de las URLs
- HTTP y HTTPS se tratan como entradas separadas
- El historial HTTP puede añadir sitios incluso si ya existen del escaneo en vivo
Solución de Problemas
La extensión no carga
- Funciona con las ediciones Community y Professional
- Verifica el entorno Python en Burp:
Extensions → Options → Python Environment
- Revisa los mensajes de error en
Extensions → Errors
Errores de clave de API
- Verifica que la clave de API esté introducida en el campo de texto de la interfaz
- Haz clic en "Save Key" para persistir la clave
- Comprueba el formato de la clave de API (sin comillas, sin espacios)
- Windows: La extensión prueba las unidades C-Z para el almacenamiento, consulta la salida de Burp Extender para la ruta real utilizada
- Prueba la clave de API manualmente:
curl -H "Authorization: Token token=TU_CLAVE" https://wpscan.com/api/v3/wordpresses/64
No se detectan sitios WordPress
- Asegúrate de que el Proxy de Burp esté activo e interceptando tráfico
- Navega por sitios WordPress (no solo la página de inicio)
- Prueba el botón "Scan HTTP History" para revisar el tráfico pasado
- Verifica que Live Scan esté activado (botón verde)
- Revisa los patrones de detección en la salida de la extensión
El escaneo falla
- Verifica la conectividad a Internet
- Comprueba el estado de la API de WPScan: https://wpscan.com/
- Revisa los límites de tasa (25/día para el nivel gratuito)
- Consulta la salida de la extensión en busca de mensajes de error
Seguridad y Legal
⚠️ IMPORTANTE: Escanea únicamente sitios web para los que tengas autorización explícita.
- Esta herramienta es solo para pruebas de seguridad autorizadas
- El escaneo no autorizado puede ser ilegal en tu jurisdicción
- Se aplican los términos de servicio de la API de WPScan
- Siempre obtén permiso por escrito antes de realizar pruebas
Contribuir
¡Las contribuciones son bienvenidas! Por favor:
- Haz un fork del repositorio
- Crea una rama de características
- Realiza tus cambios
- Prueba minuciosamente con Burp Suite
- Envía un pull request
Licencia
Licencia MIT - consulta el archivo LICENSE para más detalles
Créditos
- Equipo de WPScan: Por la excelente API de base de datos de vulnerabilidades
- PortSwigger: Por la extensibilidad de Burp Suite
- Extensión CopyIssues: Inspiración para la interfaz de usuario
Soporte
Registro de Cambios
Consulta CHANGELOG.md para el historial de versiones y actualizaciones.
Versión: 1.3.1
Autor: Teycir (teycirbensoltane.tn)
Última Actualización: 2025-11-17
Hecho por Teycir | teycirbensoltane.tn