Pentesting de Jenkins
Jenkins es un servidor Open Source de
integración y entrega continua (CI/CD) escrito en Java y uno de los softwares
de automatización más usados en nuestros días, con más de 14.000 plugins para
todo tipo de tareas. Eso le convierte en uno de los principales objetivos para
un redteamer/pentester ya que a menudo se encuentran credenciales y código
propietario además de una consola para lanzar Groovy scripts, todo ello
facilitando a menudo llevar a cabo una intrusión.
Este post de HackPlayer muestra
fundamentalmente distintas técnicas recopiladas en el
repositorio de Guillaume Quéré
aderezado con alguna cosillas que iremos ampliando según vayamos encontrando.
Un buen recurso para tener a mano en nuestros ejercicios de auditoría:
- Ejecución remota de código
- Deserialización en versiones antiguas de Jenkins (CVE-2015-8103, Jenkins 1.638 y anteriores)
- Bypass de la autenticación/ACL (CVE-2018-1000861, Jenkins <2.150.1)
- Metaprogramming en Plugins (CVE-2019-1003000, CVE-2019-1003001, CVE-2019-1003002)
- CheckScript (CVE-2019-1003029, CVE-2019-1003030)
- Git plugin (<3.12.0) (CVE-2019-10392)
- Dumpear builds para encontrar secrets en texto claro
- Password spraying
- Archivos a copiar después de comprometer el servidor
- Descifrar los secrets de Jenkins offline
- Groovy Scripts
- Descifra los secrets de Jenkins de Groovy
- Ejecución de comandos desde Groovy
- Shell reversa desde Groovy
- Herramientas para pwnear Jenkins
0 Comments:
Publicar un comentario
Gracias por dejar un comentario en Segu-Info.
Gracias por comentar!