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
cve-2026-15748 — Escanea WordPress Forminator en busca de CVE-2026-15748, RCE sin autenticación. Detecta sitios vulnerables, rastrea formularios, extrae nonces y ejecuta pruebas de subida seguras. | Kitploit
Herramientas/GitHubGitHub/yora1928/cve-2026-15748
Escáneres de Vulnerabilidades WebExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónSeguridad WebPruebas de PenetraciónCrawler
GitHubyora1928/cve-2026-15748

cve-2026-15748

Escanea WordPress Forminator en busca de CVE-2026-15748, RCE sin autenticación. Detecta sitios vulnerables, rastrea formularios, extrae nonces y ejecuta pruebas de subida seguras.

Ver Repositorio
2hace 1 díaAú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

CVE-2026-15748 — Forminator Forms Unauthenticated RCE

Elaborado por Yora
Solo para fines educativos y pruebas autorizadas


📌 Descripción

CVE-2026-15748 es una vulnerabilidad relacionada con el plugin Forminator de WordPress.

Esta herramienta está diseñada para ayudar en la investigación de seguridad y las pruebas autorizadas en instalaciones de WordPress que utilizan Forminator.

El escáner realiza varias etapas de verificación, desde la detección de WordPress, la búsqueda de Forminator, la identificación de la versión, el rastreo de páginas, hasta la comprobación de la configuración de formularios específicos.

⚠️ Utiliza esta herramienta únicamente en sitios web, servidores, laboratorios o sistemas que poseas o para los cuales hayas obtenido autorización de prueba.


✨ Características

CaracterísticasDescripción
🔎 Detección de WordPressDetecta si el objetivo utiliza WordPress
🔌 Detección de ForminatorDetecta la instalación del plugin Forminator
🏷️ Detección de versiónObtiene la versión de Forminator de las fuentes disponibles
📊 Comprobación de versiónCompara la versión con el límite 1.56.1
🕷️ Rastreo de sitios webBusca páginas relevantes en el objetivo
🗺️ Detección de sitemapsComprueba varios sitemaps de WordPress
📝 Detección de formulariosDetecta formularios específicos de Forminator
🔐 Detección de nonceIntenta encontrar el nonce de Forminator
⚡ MultihiloAdmite varios objetivos simultáneamente
🔁 ReintentosLas solicitudes fallidas se reintentan
⏱️ Retraso de solicitudesUtiliza un retraso aleatorio entre solicitudes
📄 Resultados detalladosGuarda los resultados de la verificación en un archivo

📦 Requisitos

La herramienta requiere:

  • Python 3
  • requests
  • packaging
  • urllib3

Instalar dependencias:

root@kitploit:~
pip install requests packaging urllib3

O bien:

root@kitploit:~
python -m pip install requests packaging urllib3

🚀 Instalación

Clonar el repositorio:

root@kitploit:~
git clone https://github.com/yora1928/cve-2026-15748.git

Entrar al directorio:

root@kitploit:~
cd cve-2026-15748

Instalar dependencias:

root@kitploit:~
pip install requests packaging urllib3

Verificar Python:

root@kitploit:~
python --version

🛠️ Configuración

La configuración principal se encuentra en la sección CONFIG del script:

root@kitploit:~
TIMEOUT = 15
THREADS = 8
VULN_MAX = "1.56.1"
MAX_RETRIES = 3
DELAY_MIN = 1.0
DELAY_MAX = 2.5
CRAWL_DEPTH = 2

Explicación

Dicha configuración está directamente en el código fuente.


🚀 Uso

La herramienta admite dos métodos de entrada de objetivos:

  1. URL única
  2. Archivo con varias URL

1. Objetivo único

root@kitploit:~
python cve-2026-15748.py -u https://target.com

Parámetro:

root@kitploit:~
-u
--url

Se utiliza para ingresar un solo objetivo.


2. Múltiples objetivos

Crea un archivo:

root@kitploit:~
targets.txt

Ejemplo:

root@kitploit:~
https://target1.com
https://target2.com
https://target3.com

Luego ejecuta:

root@kitploit:~
python cve-2026-15748.py -f targets.txt

Parámetro:

root@kitploit:~
-f
--file

El código fuente lee cada línea como un objetivo y elimina las líneas vacías.


3. Configurar los hilos

Por defecto:

root@kitploit:~
8 threads

Para cambiarlo:

root@kitploit:~
python cve-2026-15748.py -f targets.txt -t 10

Otro ejemplo:

root@kitploit:~
python cve-2026-15748.py -f targets.txt -t 5

Parámetro:

root@kitploit:~
-t

4. Modo de prueba de subida

El script también tiene una opción:

root@kitploit:~
--upload

Ejemplo:

root@kitploit:~
python cve-2026-15748.py -u https://target.com --upload

o:

root@kitploit:~
python cve-2026-15748.py -f targets.txt --upload

⚠️ Este modo realiza solicitudes POST/subida al endpoint de Forminator. Úsalo únicamente en sistemas que permitan explícitamente dichas pruebas.

La implementación de --upload llama a la función upload_test() cuando se cumplen ciertas condiciones de verificación.


📋 Ejemplos de comandos

Básico

root@kitploit:~
python cve-2026-15748.py -u https://target.com

Masivo

root@kitploit:~
python cve-2026-15748.py -f targets.txt

Masivo + hilos personalizados

root@kitploit:~
python cve-2026-15748.py -f targets.txt -t 10

Prueba de subida autorizada

root@kitploit:~
python cve-2026-15748.py -u https://lab.example.com --upload

Prueba de subida autorizada masiva

root@kitploit:~
python cve-2026-15748.py -f authorized-targets.txt -t 5 --upload

🔍 Proceso de detección

En general, el escáner funciona con el siguiente flujo:

root@kitploit:~
Target
  │
  ▼
Normalize URL
  │
  ▼
WordPress Detection
  │
  ├── Tidak ditemukan
  │       └── NOT WORDPRESS
  │
  ▼
Crawl Pages
  │
  ▼
Forminator Detection
  │
  ▼
Version Detection
  │
  ▼
Version Comparison
  │
  ▼
Form Detection
  │
  ▼
Result

🌐 Detección de WordPress

El escáner verifica varios endpoints:

root@kitploit:~
/wp-login.php
/wp-json
/xmlrpc.php
/wp-content

Además de ciertos estados HTTP, el escáner también busca indicadores como:

root@kitploit:~
wp-content
wp-includes

en la respuesta de la página.

Si no se encuentra ningún indicador de WordPress:

root@kitploit:~
[NOT WORDPRESS]

🕷️ Rastreo

El escáner crea una lista de páginas de varias fuentes.

Rutas comunes

Algunas rutas que se verifican incluyen:

root@kitploit:~
/contact
/kontak
/hubungi-kami
/form
/forms
/formulir
/upload
/unggah
/submit
/kirim
/gallery
/kontribusi
/daftar
/pendaftaran
/registration
/register
/file-upload
/submit-document
/unggah-berkas
/upload-file

El código fuente también verifica:

root@kitploit:~
/sitemap.xml
/sitemap_index.xml
/wp-sitemap.xml

y obtiene enlaces internos de la página principal.


🧩 Detección de Forminator

El escáner busca identificadores de Forminator como:

root@kitploit:~
forminator-form-<ID>

así como otros patrones HTML.

Para los formularios encontrados, el escáner verifica la presencia de:

root@kitploit:~
type="file"

y:

root@kitploit:~
<select>

El escáner también intenta obtener:

root@kitploit:~
form_id
nonce

del HTML del formulario.


🏷️ Detección de versión

La versión de Forminator se puede extraer de recursos HTML como:

root@kitploit:~
/wp-content/plugins/forminator/...

con el parámetro:

root@kitploit:~
?ver=X.X.X

El escáner también tiene un respaldo para buscar:

root@kitploit:~
Stable tag:

en el HTML y en readme.txt.

El método mostrado en la salida puede ser:

root@kitploit:~
html-source

o:

root@kitploit:~
readme.txt

📊 Evaluación de la versión

El límite de versión en el código fuente:

root@kitploit:~
1.56.1

La verificación se realiza comparando la versión encontrada con VULN_MAX.

El resultado interno puede ser:

root@kitploit:~
VULNERABLE

o:

root@kitploit:~
PATCHED

Si la versión es desconocida pero se cumplen ciertas condiciones, el código fuente usa el estado:

root@kitploit:~
INSTALLED (unknown version)

🖥️ Salida

El formato de salida principal de la herramienta sigue la estructura:

root@kitploit:~
[STATUS] URL VERSION (METHOD) [PAGES] [FORM STATUS] [VULNERABILITY STATUS] [UPLOAD STATUS]

Ejemplo:

root@kitploit:~
[FOUND] https://target.com v1.56.0 (html-source) [25 pages] [HAS UPLOAD FORM] [VULNERABLE]

Si se detecta un formulario de subida:

root@kitploit:~
[FOUND] https://target.com v1.56.0 (html-source) [25 pages] [HAS UPLOAD FORM] [VULNERABLE]

Si no hay formulario:

root@kitploit:~
[FOUND] https://target.com v1.56.0 (html-source) [25 pages] [VULNERABLE]

📌 Posibles estados

FOUND

Forminator fue encontrado y se obtuvo información importante con éxito.


NOT FOUND

No se pudo encontrar Forminator.

Ejemplo:

root@kitploit:~
[NOT FOUND] https://target.com [17 pages]

NOT WORDPRESS

El objetivo no fue detectado como WordPress.

Ejemplo:

root@kitploit:~
[NOT WORDPRESS] https://target.com

INSTALLED (unknown version)

Se indica que Forminator está instalado, pero no se pudo determinar la versión.


VULNERABLE

La versión encontrada es igual o inferior a:

root@kitploit:~
1.56.1

PATCHED

La versión encontrada supera el límite:

root@kitploit:~
1.56.1

📊 Resumen

Después de procesar todos los objetivos, la herramienta muestra un resumen.

Ejemplo:

root@kitploit:~
========== SUMMARY ==========
VULNERABLE      : 10
PATCHED         : 5
UNKNOWN VERSION : 3
NOT FOUND       : 20
NOT WORDPRESS   : 2
TOTAL SCANNED   : 40
[+] HAVE UPLOAD FORM: 2

El resumen se calcula a partir de los resultados de cada objetivo recopilados por el escáner.


📄 Archivo de resultados

La herramienta crea automáticamente:

root@kitploit:~
scan_results_detailed.txt

Ese archivo se crea después de que finaliza el proceso de escaneo.

Su estructura:

root@kitploit:~
=== VULNERABLE (with upload form) ===

=== VULNERABLE (no upload form) ===

=== UNKNOWN VERSION (assume vulnerable) ===

Ejemplo:

root@kitploit:~
=== VULNERABLE (with upload form) ===
https://target.example - v1.56.0 (html-source) - form_data: ...

=== VULNERABLE (no upload form) ===
https://target.example - v1.55.0 (html-source)

=== UNKNOWN VERSION (assume vulnerable) ===
https://target.example

Es recomendable no hacer commit del archivo de resultados al repositorio si contiene objetivos o información sensible.


🧱 Estructura del proyecto

root@kitploit:~
cve-2026-15748/
│
├── cve-2026-15748.py
├── README.md
├── targets.txt
└── scan_results_detailed.txt

cve-2026-15748.py

Escáner principal.

README.md

Documentación del proyecto.

targets.txt

Lista de objetivos que se procesarán.

scan_results_detailed.txt

Archivo de resultados de escaneo creado automáticamente.


🧠 Estructura del código fuente

El código fuente consta de varias partes principales:

root@kitploit:~
cve-2026-15748.py
│
├── CONFIG
│   ├── TIMEOUT
│   ├── THREADS
│   ├── VULN_MAX
│   ├── MAX_RETRIES
│   ├── DELAY_MIN
│   ├── DELAY_MAX
│   └── CRAWL_DEPTH
│
├── HTTP / REQUEST
│   ├── get_headers()
│   └── safe_get()
│
├── URL
│   └── normalize()
│
├── VERSION
│   ├── is_vulnerable()
│   └── extract_version_from_html()
│
├── WORDPRESS
│   └── check_wordpress()
│
├── CRAWLING
│   └── get_all_pages()
│
├── FORM DETECTION
│   └── extract_form_data_advanced()
│
├── FORMINATOR
│   └── check_forminator_full()
│
├── TESTING
│   └── upload_test()
│
├── SCANNING
│   └── scan_target()
│
└── MAIN
    └── main()

Esas funciones corresponden a la estructura real del código fuente.


⚙️ Comportamiento HTTP

El escáner utiliza:

  • User-Agent aleatorio
  • Tiempo de espera de la solicitud
  • Reintentos
  • Retraso aleatorio
  • Solicitudes basadas en sesión
  • Manejo de redirecciones

El User-Agent utilizado incluye varios navegadores comunes.

Las solicitudes GET utilizan la configuración de reintentos y retraso:

root@kitploit:~
TIMEOUT      = 15 seconds
MAX_RETRIES  = 3
DELAY        = 1.0–2.5 seconds

⚠️ Limitaciones

El escáner tiene varias limitaciones:

  • La detección de versión depende de la información disponible en la respuesta.
  • No todas las instalaciones de Forminator expondrán la versión.
  • El resultado UNKNOWN requiere verificación manual.
  • El rastreo no garantiza que se encuentren todas las páginas del sitio web.
  • Diferentes estructuras HTML pueden causar que el formulario no sea detectado.
  • Ciertos estados HTTP pueden verse afectados por el WAF o la configuración del servidor.
  • El resultado del escáner no es una prueba absoluta de que el sistema pueda ser explotado.

🛡️ Mitigación

Se recomienda a los administradores de WordPress:

  1. Usar una versión corregida de Forminator.
  2. Actualizar WordPress y los plugins periódicamente.
  3. Eliminar los plugins que no se utilicen.
  4. Supervisar actividades de subida inusuales.
  5. Revisar los registros del servidor.
  6. Usar un security plugin/WAF según sea necesario.
  7. Realizar evaluaciones de seguridad periódicamente.

🔐 Uso responsable

Antes de ejecutar el escáner contra un sistema:

root@kitploit:~
✓ Asegúrate de que el sistema esté dentro del alcance
✓ Asegúrate de tener permiso
✓ Utiliza un entorno de pruebas si es posible
✓ Evita datos reales de usuarios
✓ No realices pruebas fuera del alcance
✓ Guarda los resultados de la evaluación de forma segura

⚠️ Descargo de responsabilidad

Solo para fines educativos y pruebas autorizadas.

Esta herramienta fue creada con los siguientes propósitos:

  • Investigación educativa en seguridad
  • Evaluación de vulnerabilidades
  • Pruebas de penetración autorizadas
  • Pruebas de laboratorio local

No utilices esta herramienta contra sistemas que no poseas o que no hayan otorgado permiso para realizar pruebas.

El usuario es totalmente responsable del uso de esta herramienta.

El autor no se hace responsable por daños, pérdida de datos, interrupción del servicio o consecuencias legales derivadas del mal uso de la herramienta.


👨‍💻 Autor

Yora

GitHub:

https://github.com/yora1928

Repositorio:

https://github.com/yora1928/cve-2026-15748


⭐ Soporte

Si este proyecto es útil para el aprendizaje o la investigación de seguridad legítima, puedes dar una ⭐ al repositorio.


📜 Licencia

MIT License


Elaborado con ❤️ por Yora

Descargar herramienta
VariablePor defectoFunción
TIMEOUT15Tiempo de espera de la solicitud HTTP
THREADS8Número de workers/hilos
VULN_MAX1.56.1Límite de versión considerada afectada
MAX_RETRIES3Número de reintentos de solicitud
DELAY_MIN1.0Retraso mínimo
DELAY_MAX2.5Retraso máximo
CRAWL_DEPTH2Profundidad de rastreo