Jenkins 配置不当及未授权代码执行漏洞
Contents
基本信息
Jenkins 是基于 Java 开发的开源软件项目,主要用于 CI (持续集成)、项目管理等。
app="Jenkins" && country=CN && header="200"
Jenkins 常见风险
1 Jenkins 配置不当导致未授权访问
2 Jenkins 未授权代码执行漏洞 (CVE-2017-1000353)
原理也与反序列化有一定关系
3 Jenkins API 服务命令执行漏洞 (CVE-2016-0792)
4 Jenkins 反序列化远程代码执行漏洞 (CVE-2015-8103)
漏洞成因
1 管理账号和密码使用了弱口令
2 Jenkins 管理有 脚本命令执行 的功能
3 Jenkins 系统对外网开放访问
4 config.xml 文件配置不当导致未授权访问
漏洞危害
在配置不当的情况下,任意用户可以下载项目代码。
可以通过 “脚本命令行” 在服务器执行恶意命令
CVE-2017-1000353 可在被攻击服务器执行任意代码
可能获取服务器 root 权限
漏洞利用
/var/jenkins_home/config.xml
配置项
# 访问 manage 页面时是否需要密码
<useSecurity>true</useSecurity>
脚本命令行
println "whoami".execute().text
漏洞修复
1 config.xml
设置 useSecuriy 为 true
2 禁止外网用户访问,禁止匿名用户访问
3 升级、定期更新 Jenkins 版本
4 不要用 root 用户启动 Jenkins
参考资料
(PoC在这里!)
Jenkins-CI 远程代码执行漏洞(CVE-2017-1000353)
https://github.com/vulhub/vulhub/tree/master/jenkins/CVE-2017-1000353
awesome-cve-poc/CVE-2017-1000353.md
https://github.com/qazbnm456/awesome-cve-poc/blob/master/CVE-2017-1000353.md
How to exploit jenkins with CVE-2017-100353 ?
https://github.com/nixawk/labs/tree/master/CVE-2017-1000353
【主机漏洞】Jenkins Accessible without Credentials | Jenkins 未授权访问
http://wp.blkstone.me/2018/08/jenkins-accessible-without-credentials/
【谷安天下】系统组件常见漏洞原理 – Jenkins 配置不当及未授权代码执行漏洞 – 阿德马
https://edu.aqniu.com/my/course/4911
Leave a Reply