Jenkins未授权访问漏洞
漏洞简介
Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。
如果jenkins 未设置帐号密码,或者使用了弱帐号密码,攻击者就能访问管理控制台,可以通过脚本命令行模块执行系统命令。
环境搭建
1 | wget http://mirrors.jenkins.io/debian/jenkins_1.621_all.deb # 下载 |
如果出现以下报错
再执行
1 | sudo apt-get -f --fix-missing install # 如果有报依赖项的错误时执行(解决上图报错) |
访问8080端口即可访问Jenkins服务
漏洞复现
由于未设置密码,所以可以直接进入
访问http://192.168.159.131:8080/manage进入管理控制台,进入脚本命令行
可通过以下代码执行任意命令:
1 | println "whoami".execute().text #执行系统命令 |
漏洞修复
添加认证,设置强密码复杂度及账号锁定
禁止Jenkins对外访问或确保只对可信端点开放
设置允许访问ip白名单
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ghtwf01!