Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
wp2shell_scanner — Escáner de detección no intrusivo para la cadena de RCE pre-autenticación de WordPress wp2shell (CVE-2026-63030 + CVE-2026-60137). Solo detección, sin explotación. | Kitploit
Herramientas/GitHubGitHub/zi3lak/wp2shell_scanner
ReconocimientoEscáneres de VulnerabilidadesAnálisis de VulnerabilidadesRecopilación de InformaciónSeguridad WebPruebas de Penetración
GitHubzi3lak/wp2shell_scanner

wp2shell_scanner

Escáner de detección no intrusivo para la cadena de RCE pre-autenticación de WordPress wp2shell (CVE-2026-63030 + CVE-2026-60137). Solo detección, sin explotación.

Ver Repositorio
hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

wp2shell_scanner

smoke License: MIT Python 3.7+ Mode: detection-only CVE-2026-63030 · CVE-2026-60137

Escáner de detección no intrusivo para vulnerabilidades recientes de WordPress core — incluida la cadena RCE de pre-autenticación wp2shell.

wp2shell_scanner.py toma la huella de la versión del core de un sitio WordPress y lee su superficie de API REST publicitada públicamente, y después clasifica cada CVE de core rastreada de forma independiente frente a la versión detectada. Los veredictos son conscientes de la rama — p. ej., un sitio 6.8.x se informa correctamente como expuesto a la CVE de inyección SQL pero no a la cadena RCE completa. Solo detecta: nunca se envía ninguna carga útil de explotación. Un único archivo, una dependencia (requests), códigos de salida aptos para CI e informes HTML / JSON / correo electrónico listos para el cliente.

⚠️ Solo uso autorizado. Escanea sistemas que poseas o para los que estés explícitamente autorizado (por escrito) a probar. El escáner envía un User-Agent identificativo para que los blue teams puedan atribuir el tráfico — no se oculta.


Vulnerabilidades rastreadas (WordPress core)

La cadena RCE wp2shell = CVE-2026-63030 + CVE-2026-60137 juntas → ejecución remota de código pre-autenticación en una instalación por defecto. El escáner informa de la cadena como expuesta solo cuando ambas CVE se clasifican como vulnerables para la versión detectada.

Matices de rama que el escáner acierta:

  • 6.8.x contiene la inyección SQL (CVE-2026-60137) solo — no la cadena RCE.
  • En la rama 6.9, CVE-2026-3906 (Notes) se corrige en 6.9.2, pero la cadena wp2shell no se cierra hasta 6.9.5. Así, 6.9.2/6.9.4 aparecen como parcheados para el fallo de Notes, pero siguen siendo vulnerables a la cadena RCE — el escáner solo recomienda, por tanto, 6.9.5 o posterior en esa rama, nunca 6.9.4.

Importante a nivel operativo: los análisis técnicos y un PoC funcional para wp2shell ya son públicos. La detección de versión es ahora el mínimo absoluto — la prioridad es parchear. Actualizar cierra la vía vulnerable, pero no elimina una puerta trasera plantada antes del parche — de ahí el paso de evaluación de compromiso en el informe.

Alcance

Este es un escáner de versión del core. Las CVE de plugins y temas — la gran mayoría del catálogo de WPScan / Patchstack — requieren un feed vivo y curado y una enumeración de versiones por plugin, y están intencionadamente fuera de alcance aquí. Dentro de su ámbito (CVE recientes del core de WordPress), pretende ser preciso y exacto por rama en lugar de duplicar una base de datos comercial de vulnerabilidades.


Lo que hace el escáner

  • Huella pasiva de WordPress en cuatro vectores públicos de versión:
    • <meta name="generator"> en la página de inicio
    • /readme.html
    • Etiqueta <generator> del feed RSS / Atom
    • /wp-links-opml.php (OPML)
  • Contrasta los vectores. Si no coinciden en la versión, o se ve una compilación pre-release (beta/RC/alpha), el veredicto se fuerza a UNKNOWN — el escáner nunca informa de un Patched posiblemente falso a partir de evidencia contradictoria.
  • Descubrimiento de la superficie de la API REST — lee /wp-json/ para ver si WordPress publicita el espacio de nombres batch/v1 en su índice REST. Esto confirma que el espacio de nombres está registrado, no que el endpoint sea alcanzable a través de un WAF. No se envía ninguna solicitud batch ni carga útil.
  • Veredicto por CVE — la versión detectada se clasifica de forma independiente frente a cada CVE rastreada (consciente de la rama) y, además, genera:
    • un informe HTML listo para el cliente (imprimir → PDF),
    • un registro JSON (compatible con pipelines/EAV),
    • un borrador de correo electrónico de notificación.

Lo que explícitamente no hace

No explota nada. Sin carga útil de inyección SQL, sin solicitud de confusión de rutas batch, sin intento de ejecutar código ni de leer datos. La detección se basa en la versión más una lectura pasiva de la superficie de API publicitada públicamente.


Instalación

root@kitploit:~
pip install requests

Uso

root@kitploit:~
# single target
python3 wp2shell_scanner.py -t https://site.example --authorized

# list of targets (one per line, # comments allowed)
python3 wp2shell_scanner.py -T scope.txt --authorized -o ./reports

# preview the output formats with synthetic data — no network, no auth needed
python3 wp2shell_scanner.py --demo -o ./reports

Opciones

El indicador --authorized es una puerta de autorización explícita — los escaneos en vivo se niegan a ejecutarse sin él.

Códigos de salida (aptos para CI)

CódigoSignificado
2Al menos un objetivo vulnerable
1Al menos un objetivo no concluyente / error
0Limpio (parcheado / no afectado / no es WordPress)

Configuración

El destinatario del correo electrónico de notificación es la constante CSSLTD_CONTACT cerca del inicio del script (por defecto [email protected]). Edítala con tu propia dirección de recepción.


Veredictos


Ejemplo de salida

El directorio examples/ contiene salida sintética (--demo) para un host vulnerable ficticio (example.com, WordPress 6.9.1 — expuesto a las tres CVE rastreadas):

  • wp2shell_report_example.com.html — el informe HTML listo para el cliente
  • wp2shell_example.com.json — el registro JSON
  • wp2shell_email_example.com.txt — el borrador del correo electrónico de notificación

Se generan a partir de datos inventados para ilustrar el formato del informe. No son el resultado de escanear ningún sitio real.


Remediación (tal como se emite en el informe)

  1. Haz primero una copia de seguridad verificada (BD + árbol de archivos completo).
  2. Actualiza el core de WordPress a una versión que solvente todas las CVE rastreadas — 6.8.6 / 6.9.5 / 7.0.2 — o posterior en la rama correspondiente. (En 6.9, solo 6.9.5+ está limpia; 6.9.4 aún tiene la cadena wp2shell).
  3. Confirma que el sitio y el panel de administración siguen funcionando.
  4. Asume el compromiso si el host estuvo expuesto mientras era vulnerable — realiza una evaluación de compromiso en temas, plugins, uploads/, wp-config.php, wp-cron y cuentas de administración; ejecuta comprobaciones de integridad de archivos contra un core conocido como bueno.
  5. Añade defensa en profundidad en el perímetro (reglas de WAF, restringe /wp-json/batch/v1).
  6. Rota los secretos (sales de autenticación, contraseñas de administración/BD, claves API) si se sospecha un compromiso.
  7. Vuelve a escanear para confirmar que el veredicto ahora indica Patched.

Referencias

  • Aviso de seguridad de WordPress GitHub — cadena RCE wp2shell (GHSA-ff9f-jf42-662q)
  • Aviso de seguridad de WordPress GitHub — inyección SQL author__not_in (GHSA-fpp7-x2x2-2mjf)
  • Aviso de seguridad de WordPress GitHub — API REST de Notes (GHSA-6x83-fcf5-r65g)
  • NVD — CVE-2026-63030 · NVD — CVE-2026-3906
  • Rapid7 — ETR: CVE-2026-63030 wp2shell
  • VulnCheck — WP2Shell (CVE-2026-63030 & CVE-2026-60137)
  • Lanzamientos de WordPress (objetivos seguros: 6.8.6 / 6.9.5 / 7.0.2)

Descargo de responsabilidad

Esta herramienta es solo para pruebas de seguridad autorizadas. Eres responsable de asegurarte de que tienes permiso para escanear cualquier objetivo. El escaneo no autorizado puede ser ilegal. Los autores no aceptan ninguna responsabilidad por el mal uso.

Descargar herramienta
CVEDebilidadAccesoCore afectadoCorregido en
CVE-2026-63030 — wp2shellCWE-436 — Confusión de rutas batch en REST → RCE (Crítica; CVSS 9.8 WPScan CNA / 7.5 CISA-ADP; GHSA-ff9f-jf42-662q)Sin autenticación6.9.0–6.9.4, 7.0.0–7.0.16.9.5, 7.0.2
CVE-2026-60137CWE-89 — Inyección SQL en WP_Query author__not_in (Moderada por sí sola, CVSS 5.9; Crítica en cadena; GHSA-fpp7-x2x2-2mjf)Sin autenticación6.8.0–6.8.5, 6.9.0–6.9.4, 7.0.0–7.0.16.8.6, 6.9.5, 7.0.2
CVE-2026-3906CWE-862 — Falta de autorización en la API REST de Notes (Moderada, CVSS 4.3, GHSA-6x83-fcf5-r65g)Suscriptor+6.9.0–6.9.16.9.2
OpciónSignificado
-t, --targetURL u host de un único objetivo
-T, --targets-fileArchivo con un objetivo por línea
--demoGenera un informe/correo de MUESTRA a partir de datos sintéticos (sin red)
-o, --output-dirDirectorio de salida (por defecto ./wp2shell_reports)
--formatsLista separada por comas: json,html,email (por defecto: todos)
--authorizedPuerta de autorización — obligatorio para escaneos en vivo
--timeoutTiempo de espera HTTP en segundos (por defecto 12)
--delaySegundos entre objetivos (sé educado; por defecto 1.0)
--insecureNo verificar certificados TLS
--quietSuprime el resumen de consola
VeredictoSignificado
VULNERABLELa versión detectada está dentro de un rango afectado — parchea de inmediato
PATCHEDEn una versión corregida; no expuesto a las CVE rastreadas
NOT_AFFECTEDLa versión es anterior al fallo rastreado más antiguo (< 6.8.0 — CVE-2026-60137)
UNKNOWNNo se pudo confirmar la versión, los vectores no coincidieron o se vio una compilación pre-release — verifica manualmente
NOT_WORDPRESSNo se encontró ninguna huella de WordPress