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 — RCE no autenticado en el núcleo de WordPress (CVE-2026-63030 + CVE-2026-60137) | Kitploit
Herramientas/GitHubGitHub/iqbalx7/wp2shell
Descifrado de ContraseñasEscalada de PrivilegiosGeneración de PayloadsExplotaciónExplotación de Aplicaciones WebRed TeamingSeguridad de APIs
GitHubiqbalx7/wp2shell

wp2shell

RCE no autenticado en el núcleo de WordPress (CVE-2026-63030 + CVE-2026-60137)

Ver Repositorio
6hace 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

Explota la confusión de rutas de la API REST de WordPress (CVE-2026-63030) + la inyección SQL (CVE-2026-60137) en el endpoint por lotes para lograr la ejecución remota de código.

Vulnerabilidades

Confusión de rutas (CVE-2026-63030)

El endpoint por lotes (/batch/v1) de la API REST de WordPress no aísla correctamente el enrutamiento de las solicitudes. Al anidar solicitudes por lotes unas dentro de otras, un atacante puede realizar solicitudes internas que evitan las comprobaciones de permisos normales de WordPress. El indicador clave es el patrón de error parse_path_failed + block_cannot_read en la respuesta — esto confirma que la confusión de rutas es explotable.

Inyección SQL (CVE-2026-60137)

Cuando una solicitud se enruta erróneamente a través del endpoint por lotes, el parámetro author_exclude en GET /wp/v2/posts no se sanea correctamente. Esto permite la inyección SQL mediante consultas apiladas y sentencias UNION, todo sin autenticación.

Cómo funciona el exploit

root@kitploit:~
Fase 1: Sondeo
  ─────────────
  Comprobar que el endpoint por lotes es accesible (HTTP 207)
  Verificar la confusión de rutas mediante solicitudes de marcador
  Confirmar la inyección SQL mediante temporización/oráculo

Fase 2: UNION → RCE (vía rápida)
  ─────────────────────────────
  Si la inyección UNION funciona:
    1. Detectar el prefijo de tablas (a ciegas o por fuerza bruta con los comunes)
    2. CREAR USUARIO ADMIN mediante consultas UNION INSERT apiladas
       - Hash Bcrypt generado vía PHP en la máquina del atacante
       - Insertar fila en {prefix}_users + {prefix}_usermeta
       - El nuevo usuario obtiene capacidades de administrador
    3. Iniciar sesión + Desplegar webshell como plugin de WordPress
    4. Ejecutar comandos mediante ?t=TOKEN&c=id

Fase 3: A ciegas → Hash (vía de respaldo)
  ─────────────────────────────────
  Si UNION está bloqueado pero la inyección SQL a ciegas funciona:
    1. Extraer versión de MySQL, usuario y nombre de la base de datos
    2. Extraer el prefijo de tablas de information_schema
    3. Extraer el hash del administrador de {prefix}_users WHERE id=1
    4. Romper offline: hashcat -m 3200 hash.txt wordlist.txt
    5. Usar --user / --pass --cmd id con la contraseña rota

Fase 4: Inicio de sesión con credenciales
  ──────────────────────
  Si se proporcionan --user/--pass:
    1. Iniciar sesión vía wp-login.php o REST API Basic Auth
    2. Subir webshell como plugin
    3. Ejecutar comandos

Uso

root@kitploit:~
# Modo automático: comprobar, UNION, crear admin, desplegar webshell
python3 wp2shell.py https://target.com

# Con credenciales conocidas (p. ej., tras romper el hash)
python3 wp2shell.py https://target.com --user admin --pass P@ssw0rd --cmd id

# Solo UNION (omitir el respaldo a ciegas)
python3 wp2shell.py https://target.com --union-only

# Solo extracción a ciegas (omitir el intento UNION)
python3 wp2shell.py https://target.com --blind-only

# Depuración mediante proxy
python3 wp2shell.py https://target.com --proxy http://127.0.0.1:8080

# Duración personalizada de SLEEP para la inyección a ciegas basada en tiempo (por defecto 0.01s)
python3 wp2shell.py https://target.com --sleep 0.5

Opciones

Requisitos

  • Python 3.8+
  • CLI de PHP (para la generación de hash bcrypt — opcional, usa uno predeterminado como respaldo)
  • Objetivo: WordPress con la API REST habilitada y el endpoint por lotes sin parchear

Aviso legal

Esta herramienta es solo para pruebas de seguridad autorizadas. Debes tener permiso explícito del propietario del objetivo antes de usarla. El acceso no autorizado a sistemas informáticos es ilegal.

Descargar herramienta
FlagDescripción
--proxyProxy HTTP (p. ej., Burp Suite)
--userNombre de usuario administrador para el inicio de sesión
--passContraseña del administrador
--cmdComando a ejecutar en el objetivo
--union-onlyOmitir la extracción a ciegas
--blind-onlyOmitir el intento UNION
--sleepSegundos de SLEEP para la inyección a ciegas basada en tiempo