声明:技术仅用于学术交流,请遵守《网络安全法》,严禁将此文中工具和技术用于非法攻击测试。
一、背景
形成漏洞的原因:jenkins 未设置帐号口令,或者使用了弱帐号口令
二、搭建环境
测试环境:
靶机:Ubuntu16.04 IP: 192.168.3.210
攻击机:kali IP: 192.168.3.211
2.1 Jenkins的安装
wget http://mirrors.jenkins.io/debian/jenkins_1.621_all.deb #下载源码
dpkg -i jenkins_1.621_all.deb # 安装
sudo apt-get -f --fix-missing install # 如若出现报依赖项的错误时执行(解决上图报错的问题)
重新安装Jenkins
2.2 Jenkins 访问
由于没有设置口令。可以直接访问,导致存在未授权访问漏洞。
三、漏洞复现
3.1 命令执行
点击>系统管理>脚本命令执行
查看ip信息
查看账号信息
命令成功被执行
3.2 反弹shell
1、在攻击机上监听 8888端口
nc -lvp 8888
2、在Jenkins主机上通过执行命令漏洞进行反弹shell
3、成功获取shell
四、漏洞修复
1、仔细研判业务需求后Jenkins禁止直接暴露在互联网
2、添加访问控制认证,设置强密码复杂度如口令设置为8位以上,包含大小写字母,特殊符号等及账号登录失败锁定。
原文始发于微信公众号(玄武盾网络技术实验室):Jenkins未授权访问-命令执行漏洞复现及修复方案
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论