Jenkins配置不当及未授权代码执行漏洞
一、Jenkins简介
1、基于JAVA开发的开源软件项目
2、持续的软件版本发布/项目测试
3、监控外部调用执行工作
二、Jenkins常见风险总结
1、Jenkins配置不当导致未授权访问
2、Jenkins未授权代码执行漏洞(CVE-2017-1000353)
3、Jenkins api服务命令执行漏洞(CVE-2016-0792)
4、Jenkins反序列化远程代码执行漏洞(CVE-2015-8103)
三、Jenkins配置不当及未授权代码执行漏洞成因
1、管理账号和密码使用了简单的弱密码
2、Jenkins管理有脚本命令执行的功能
3、Jenkins系统对外网开放访问
4、Config.xml文件配置不当导致未授权访问
四、漏洞危害
1、管理未授权或弱密码,可通过"脚本命令行"在服务器执行恶意命令
2、CVE-2017-1000353,可在被攻击服务器执行任意代码
3、都有可能获取服务器的root权限
五、漏洞复现
1、未授权访问
当Jenkins的config.xml文件中
直接未授权访问
http://192.168.4.128:8080/manage
http://192.168.4.128:8080/script
当为config.xml文件中true时,则不存在未授权访问
但是如果存在弱密码,则可以通过暴力破解的方法获取管理员账号和密码,其中Mange Jenkins中存在Script Console,可以执行命令
因此要设置长的密码
2、Jenkins未授权代码执行漏洞(CVE-2017-1000353)
python3 exploit.py http://192.168.4.128:8080 jenkins_poc.ser
进入docker容器,发现远程代码执行的结果
修复建议
Jenkins 主版本用户升级到2.58
Jenkins LTS 版本用户升级到2.46.2
对Jenkins后台进行安全加固,配置强密码,使用安全组配置严格的网络访问控制策略,禁止对所有人开放访问。