Jenkins安全总结

介绍

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。

默认web为8080端口.

利用

未授权访问

经弱口令或未授权访问进后台,

一些路径:

1
2
3
4
5
6
7
/view/all/newJob
/asynchPeople/
/view/all/builds/
/manage
/me/my-views/view/all/
/user/jenkins/
/user/jenkins/configure

指纹:

1
<title>Jenkins</title>

远程代码执行

CVE-2017-1000353

java反序列化造成的远程代码执行,无需登陆.

这个EXP在Linux下测试失败,Jeekins_RCE_EXP

  1. 生成序列化payload

    1
    java -jar payload.jar jenkins_poc.ser "touch /tmp/success"
  2. 修改exploit.py中的payload路径和目标URL

  3. python3 exploit.py

加固

  1. 更新Jenkins至最新版
  2. 不对外网开放Jenkins
  3. 使用强口令