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
poc-CVE-2024-23897 — CVE-2024-23897: Jenkins Lectura Arbitraria de Archivos que Conduce a RCE | Kitploit
Herramientas/GitHubGitHub/vmc8ll/poc-cve-2024-23897
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de PenetraciónRed TeamingDesarrollo de Payloads
GitHubvmc8ll/poc-cve-2024-23897

poc-CVE-2024-23897

CVE-2024-23897: Jenkins Lectura Arbitraria de Archivos que Conduce a RCE

Ver Repositorio
2hace 6 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

poc-CVE-2024-23897

CVE-2024-23897: Lectura Arbitraria de Archivos en Jenkins que lleva a RCE 🎯 Productos y Versiones Afectados

root@kitploit:~
Producto: Jenkins (Servidor de Integración Continua/Entrega Continua)

Versiones: Jenkins 2.441 y anteriores, Jenkins LTS 2.426.2 y anteriores

Corregido en: Jenkins 2.442, Jenkins LTS 2.426.3

📝 Descripción

CVE-2024-23897 es una vulnerabilidad crítica en Jenkins que permite a atacantes no autenticados leer archivos arbitrarios en el sistema de archivos del controlador Jenkins. La vulnerabilidad existe porque Jenkins no deshabilita una característica de su analizador de comandos CLI que reemplaza un carácter '@' seguido de una ruta de archivo con el contenido del archivo.

Esta falla puede llevar a la ejecución remota de código (RCE) cuando se combina con otras técnicas, lo que la hace particularmente peligrosa para organizaciones que utilizan Jenkins en sus pipelines CI/CD. 🔍 Detalles de la Vulnerabilidad Causa Raíz

La vulnerabilidad se origina en la función expandAtFiles() de la clase org.kohsuke.args4j.CmdLineParser. Al analizar argumentos CLI, si el analizador encuentra un símbolo '@' seguido de una ruta de archivo, lee y expande el contenido de ese archivo. Vector de Ataque

Los atacantes pueden explotar esta vulnerabilidad utilizando la interfaz CLI de Jenkins sin autenticación: bash

java -jar jenkins-cli.jar -s http://servidor-jenkins-objetivo:8080/ help @/etc/passwd

Análisis Técnico Limitaciones de Lectura de Archivos

root@kitploit:~
Sin autenticación: Solo se pueden leer las primeras 3 líneas del archivo (dependiendo del comando CLI)

Con permiso 'Overall/Read': Se puede leer el contenido completo del archivo

Archivos binarios: Se pueden extraer pero pueden verse afectados por problemas de codificación (Windows-1252 en Windows produce mejores resultados que UTF-8 en Linux)

Expansión de la Superficie de Ataque

Una vez lograda la lectura de archivos, los atacantes pueden escalar a ataques más severos:

root@kitploit:~
Extraer Credenciales:

    Leer /var/jenkins_home/credentials.xml para credenciales cifradas

    Leer /var/jenkins_home/secrets/master.key y hudson.util.Secret para descifrado

    Descifrar credenciales usando la consola de scripts de Jenkins: println(Hudson.util.Secret.fromString("{XXX=}").getPlainText())

Forjar Cookies "Remember-me":

    Obtener acceso administrativo forjando cookies de autenticación

Ejecutar Código Arbitrario:

    Lograr RCE a través de vectores de Resource Root URL, XSS o CSRF

💥 Impacto Impacto Inmediato

root@kitploit:~
Confidencialidad: Divulgación completa de todos los archivos en el servidor Jenkins (código fuente, credenciales, claves SSH, tokens)

Integridad: Los atacantes pueden modificar compilaciones, pipelines y configuraciones

Disponibilidad: Posibilidad de denegación de servicio o despliegue de ransomware

Explotación en el Mundo Real

Esta vulnerabilidad ha sido explotada activamente en la naturaleza:

root@kitploit:~
Añadida al catálogo de Vulnerabilidades Explotadas Conocidas (KEV) de CISA

Utilizada por bandas de ransomware (RansomEXX) para comprometer infraestructura

Explotada por el actor de amenazas IntelBroker para robar repositorios de GitHub y comprometer proveedores de servicios de TI

🔧 Detección Indicadores de Compromiso

Los intentos de explotación exitosos se pueden detectar a través de:

Patrones de Solicitud HTTP: text

POST /cli?remoting=false HTTP/1.1 Content-type: application/octet-stream [carga útil binaria que contiene @/ruta/al/archivo]

Ejemplos de Cargas Útiles Típicas:

root@kitploit:~
@/etc/passwd

@/var/jenkins_home/secrets/initialAdminPassword

@/etc/os-release

Consulta de Detección en Splunk text

index=web uri="/cli?remoting=false" http_method=POST http_status=200

🛡️ Mitigación Corrección Oficial

Actualice a las versiones parcheadas:

root@kitploit:~
Jenkins ≥ 2.442

Jenkins LTS ≥ 2.426.3

Mitigación Temporal

Si no es posible aplicar el parche inmediatamente:

root@kitploit:~
Deshabilitar el acceso CLI de Jenkins

Establecer la propiedad del sistema Java: hudson.cli.CLICommand.allowAtSyntax=false

Restringir el acceso de red a la interfaz de administración de Jenkins

Implementar reglas WAF para bloquear solicitudes que contengan patrones @/

🔗 Referencias

root@kitploit:~
Entrada NVD

Aviso de Seguridad de Jenkins

Catálogo KEV de CISA

Investigación de Splunk

Página CVE de Tenable 
📦 Construcción y Ejecución

bash

Construir el exploit

go build -o jenkins-cve-2024-23897 exploit.go

Ejecutar el exploit

./jenkins-cve-2024-23897 http://jenkins-objetivo:8080 /etc/passwd

Ejecutar directamente con Go

go run exploit.go http://jenkins-objetivo:8080 /etc/passwd

🎯 Ejemplos de Uso bash

Leer archivos sensibles

./jenkins-cve-2024-23897 http://jenkins.interno:8080 /etc/passwd ./jenkins-cve-2024-23897 http://localhost:8080 /var/jenkins_home/secrets/initialAdminPassword

Leer archivo de Windows (si Jenkins se ejecuta en Windows)

./jenkins-cve-2024-23897 http://win-jenkins:8080 C:/Windows/win.ini

⚙️ Cómo Funciona

root@kitploit:~
Inicialización de Sesión: Genera un ID de sesión único de 20 bytes

Construcción de Carga Útil: Construye una carga binaria con la estructura help @/ruta/al/archivo

Fase de Subida: Envía la carga al endpoint CLI de Jenkins

Fase de Descarga: Recupera el contenido del archivo de la respuesta

Salida: Muestra el contenido del archivo o un mensaje de error

📊 Características

root@kitploit:~
Implementación pura en Go: Sin dependencias externas

Multiplataforma: Funciona en Windows, Linux, macOS

Tiempos de espera configurables: Ajustable para redes lentas

Manejo limpio de errores: Mensajes de error detallados

Seguro para binarios: Maneja archivos de texto y binarios

⚠️ Notas Importantes

root@kitploit:~
Solo con fines educativos: Úselo solo en sistemas que posea o tenga permiso para probar

Lecturas no autenticadas: Sin autenticación, solo se pueden leer aproximadamente las primeras 3 líneas

Archivos binarios: Pueden verse afectados por problemas de codificación (use un objetivo Windows para mejor extracción de binarios)
Descargar herramienta