作者:欧根亲王号   所属团队:Arctic Shell


Jenkins是一款由Java编写的开源的持续集成工具,其本身具有执行脚本的功能

通过Jenkins进行提权的一个思路-LMLPHP

在Jenkins的说明信息中列出我们可以使用任意Groovy脚本并在服务器执行它,其命令格式为:

println(Jenkins.instance.pluginManager.plugins)

这是否意味着我们能否构造一些敏感的命令让他执行嘞?

尝试打印字符串

通过Jenkins进行提权的一个思路-LMLPHP

发现能够执行打印命令,那么构造一个能执行系统命令的语句让他执行看看能否被执行

尝试查看下IP配置信息

通过Jenkins进行提权的一个思路-LMLPHP

成功执行了ipconfig,由此猜想这个权限很高,很有可能为root,在这里不一定非得使用ipconfig,因为有些Linux不会对ipconfig这个命令进行支持!(嘿嘿~)

打印当前应用权限级别

通过Jenkins进行提权的一个思路-LMLPHP

不出所料,权限高的一批,那么直接打印pass和shadow这两个文件,爆出他的密码

通过Jenkins进行提权的一个思路-LMLPHP

读取出了root的密码密文,但在用John the Ripper来破解密码时却失败了

万般无奈中,突然想到创建用户,因为权限足够高,那么创建用户应该是没问题的

通过Jenkins进行提权的一个思路-LMLPHP

添加用户成功,但无法登陆

通过Jenkins进行提权的一个思路-LMLPHP

因为linux不允许明文登陆,于是通过密码查看出用户密码密文登录,但依旧不成功

因为权限够高,于是只好用nc来搞事情了

通过Jenkins进行提权的一个思路-LMLPHP

Nc反弹成功!

这个时候基本上可以想干啥就干啥了!


文章比较直白,只是提供一种思路以供参考!

05-18 02:40