Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Helena Jalain
Daniel González
Net user
DevSECOps 920.000
SECDevOps 55.700
DevOpsSEC 17.600
2 1 3
Ciclo de desarrollo DevOps
• Análisis de código estático • Escaneo periódico de
• Escaneo de vulnerabilidades infraestructura
• Revisión de requisitos • Test unitarios de seguridad • Pentest activo
• Análisis SSL
• Revisión de código
• Pentest pasivo
• Análisis de código estático
• Escaneo periódico de la infraestructura
Tendencia Desarrollos
seguros
Entorno de
desarrollo
Trigger Build
Post Message
Riesgos y criticidades
Dependiendo de los siguientes factores:
Información y secretos
Vulnerabilidades: Evasión de la autenticación,
ejecución de código…
Permisos: Autenticación y Autorización
Usuarios
Contraseñas
Claves
Tokens
Certificados
Repositorios de código
Commits
History
Código Comentarios
Dependencias
Vulnerabilidades
Credenciales
Claves criptográficas
Credenciales BBDD
Infraestructura
API tokens (AWS, etc) Configuración servicios (DHCP, SMTP, etc)
Bash history IPs y URLs internas
Claves SSH Puertos
[1] https://github.com/techgaun/github-dorks
Secretos en el código …Ups
Buenas prácticas:
[2] https://help.github.com/en/articles/removing-sensitive-data-from-a-repository
Administradores de tareas
Usuarios
Nombres de usuario Proyectos
IDs internos
Nombres
Nombres y apellidos
Categorías
Emails
Descripciones
Cuentas LDAP
Dashboards
Información de proyectos - API
[3] https://developer.atlassian.com/cloud/jira/platform/rest/v2/
[4] https://medium.com/@sector035/gathering-company-intel-the-agile-way-6db12ca031c9
Información de usuarios – API
Usuarios
Código
Credenciales
Infraestructura
Pipeline
Plugins
Open Source
Integración Entrega
continua (CI) continua (CD)
stages {
stage('Build') {
steps {
echo 'Building..'
}
}
stage('Test') {
steps {
echo 'Testing..'
}
Stage Step Step Step }
stage('Deploy') {
steps {
echo 'Deploying....'
}
Código fuente
Workspace de Jenkins:
• Directorio “temporal” de archivos
específico para cada Job
• Se crea al clonar el código del
repositorio para procesarlo
Credenciales en logs
▪ credentials.xml:
– Secret text (API token)
– username:password
– Secret file
– SSH public/private key pair
– Certificate (PKCS#12)
– Docker Host Certificate Authentication
▪ /job/job_name/config.xml
Credenciales en claro – Consola de scripts
[5] https://wiki.jenkins.io/display/JENKINS/Jenkins+Script+Console
Consola de scripts- Jira
[8] https://marketplace.atlassian.com/addons/app/jira/top-selling
Explotación de vulnerabilidades
[6] https://www.cvedetails.com/vendor/15865/Jenkins.html
[7] https://www.cvedetails.com/product/8170/Atlassian-Jira.html
Mal de muchos… consuelo de tontos
Explotación de vulnerabilidades - Jenkins
Critical
3
High
Medium 24
30
[10] https://blog.orange.tw/2019/01/hacking-jenkins-part-1-play-with-dynamic-routing.html
[11] https://blog.orange.tw/2019/02/abusing-meta-programming-for-unauthenticated-rce.html
[9] https://nvd.nist.gov/vuln/search/results?form_type=Advanced&results_type=overview&query=Jenkins
DEMO TIME
Gestión de permisos
Cada plataforma tiene una gestión de permisos diferente con mayor o menor capacidad de
configuración.
80.177
1
2.603 2.532
2 3
Jenkins en datos
© 2019 Zerolynx S.L. Sociedad española de responsabilidad limitada. Todos los derechos reservados. Zerolynx y sus logotipos son marcas registradas por Zerolynx S.L. Diseño de iconos creado por Freepik para www.flaticon.com, licenciado bajo CC 3.0 BY. La información contenida es de carácter informativo. Para solicitar una cotización de un servicio debe contactar con el equipo comercial de Zerolynx.