@jalcaldea & @dani_zerolynx
DevSecops
into the unknown
Net user
Daniel González
@dani_zerolynx
• Co-fundador de ZEROLYNX
• Socio director de ciberinteligencia de OSANE
Consulting
• Profesor oficial del certificado CSX y
coordinador de las formaciones de
ciberseguridad de ISACA Madrid
Jesús Alcalde
@jalcaldea
• Director of R&D at Zerolynx
• Responsable DevSecOps en OSANE
Consulrting
Esto es una ponencia sobre hacking en
entornos de DevOps, no una charla sobre
DevOps.
Muchos de los conceptos y la problemática
real, la daremos por asumida por falta de
tiempo.
Esta investigación será liberada y
publicada para que podáis ayudarnos a
continuarla.
IMPORTANTE
Friendly reminder
SCAN ME
Friendly reminder
• Los entornos de desarrollo,
autogestionados y sin
supervisión, son entornos
menos controlados y más
vulnerables.
• JENKINS tiene problemas…
pero no solo de JENKINS viven
los desarrolladores actuales,
y los demás... No están mucho
mejor.
Automatización
Flujo típico de DevOps
Controlador de versión
Push commit
Servidor de integración continua
Administrador de tareas
Update Tickets
Trigger Build
Sistema de mensajería en tiempo
real
Post Message
Flujo típico de DevOps
Personas Código Integración Despliegue Sistemas
Nuestra visión
Mensajería Control de versiones Integración continua Despliegue continuo
ConfiguraciónTeam Management (TM)
Secretos
La realidad en entornos DevOps, es algo así…
LAS
HERRAMIENTAS
Suite de herramientas
Tres tristes tigres comieron
trigo en un trigal
Flawlynx - A flawless tool
to detect flaws in DevOps
flows
Suite de herramientas
Flawlynx - A flawless tool
to detect flaws in DevOps
flows
Specs de las herramientas
▪ Filosofía DevOps: Un conjunto de
herramientas para cada uno de
los módulos presentados.
▪ No hay nada actualmente así en
el mercado, ni de manera libre.
Mantengámosla entre todos.
▪ Licencia GPL v3.
Control de
Versiones
Módulo GIT
Mínimos sobre GIT:
▪ Base de datos distribuida en carpeta .git (oculta)
▪ Se generan objetos con el contenido
▪ Pueden ser: REFs, COMMITs o BLOBs
Módulo GIT
Mínimos sobre GIT:
▪ Base de datos distribuida en carpeta .git (oculta)
▪ Se generan objetos con el contenido
▪ Pueden ser: REFs, COMMITs o BLOBs
Módulo GIT
Personas
Módulo GIT
Personas
Módulo GIT
▪ Referencias (Tags y Branches)
▪ Pequeño ejemplo: git checkout <sha1>
Código
IMPORTANTE
Si tienes acceso a un repositorio NO SOLO TIENES
EL CÓDIGO, tienes TODO SU CICLO DE VIDA
Código
Módulo GIT
▪ Secretos
SCAN ME
GUÍA PARA ELIMINAR SECRETOS DE
MANERA SEGURA
Extraer información - Autores
Comando:
Resultado:
Código
Módulo GIT
flawlynx-vc | Version
Control
Demo time
Integración
continua
Módulo Jenkins
Workers
Jobs
Builds
Secretos
Usuarios
Credenciales
Configuración
…
Integración
Módulo Jenkins
Builds y Jobs Plugins Usuarios
Código fuente
Sistemas y
configuración
Integración
Metodología
Reconocimiento
Revisión de la
configuración
Exploits y
vulnerabilidades
Extracción de
información
How to Fix
Integración
flawlynx-ci | Continuous
Integration
Demo time
Conclusiones
Conclusiones
▪ Actualmente en los entornos de DevOps
hay un problema y no podemos seguir
ignorándolo.
▪ Usad la herramienta y ayudadnos a
mantenedla.
▪ Mientras más fácil es comprometer un
sistema, más posibilidades hay de que
comiencen a corregirlo.
BONUS TRACK
Investigación
Investigación - Disclaimer
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-2100
Información del puerto
▪ Puerto UDP que responde a cualquier cosa
▪ DDoS con amplificación 1:240 aprox
▪ ¡¡ Devuelve información interna !!
Let it (scan in) go
> 17.000 IPs
Resultados ±9000 Jenkins
públicos
30%
23%
40%
Resultados
Puertos HTTP por
defecto:
8080, 443, 80, 8081
Resultados
¡Puertos atípicos!
9090, 8090, 8888,
8088, 8082, 9999, etc
Resultados 20% con versiones de Jenkins
Core con vulnerabilidades
críticas
© 2020 Zerolynx S.L. Sociedadespañola de responsabilidadlimitada.Todos los derechos reservados.Zerolynx y sus logotipos son marcasregistradaspor Zerolynx S.L. Diseño de iconos creadopor Freepik para www.flaticon.com, licenciado bajo CC 3.0 BY. La información contenida es de carácterinformativo. Para solicitar una cotización de un servicio debe contactarcon el equipocomercial de Zerolynx.
dgonzalez@zerolynx.com
@dani_zerolynx
¡ Muchas gracias !
jalcalde@zerolynx.com
@jalcaldea

Rooted2020 dev secops-into_the_unknown_-_jesus_alcalde_-_daniel_gonzalez