OpenShift - Jenkins

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Bu sayfanın orijinal yazarı Fares

Bu sayfa, Openshift (veya Kubernetes) kümesinde çalışan bir Jenkins örneğine nasıl saldırabileceğinize dair bazı ipuçları vermektedir.

Feragatname

Bir Jenkins örneği hem Openshift hem de Kubernetes kümesinde dağıtılabilir. Bağlamınıza bağlı olarak, gösterilen herhangi bir yük, yaml veya tekniği uyarlamanız gerekebilir. Jenkins’e saldırmak hakkında daha fazla bilgi için bu sayfaya göz atabilirsiniz.

Ön koşullar

1a. Bir Jenkins örneğinde kullanıcı erişimi VEYA 1b. Bir SCM deposuna yazma izni olan kullanıcı erişimi, burada bir otomatik derleme bir push/merge sonrası tetiklenir.

Nasıl çalışır

Temelde, arka planda hemen hemen her şey, bir VM’de çalışan normal bir Jenkins örneğiyle aynı şekilde çalışır. Ana fark, genel mimari ve derlemelerin bir openshift (veya kubernetes) kümesinde nasıl yönetildiğidir.

Derlemeler

Bir derleme tetiklendiğinde, önce Jenkins ana düğümü tarafından yönetilir/orkestre edilir, ardından bir ajan/çalışan/işçi düğümüne devredilir. Bu bağlamda, ana düğüm, bir ad alanında (işçilerin çalıştığı yerden farklı olabilir) çalışan normal bir pod’dur. İşçiler/çalışanlar için de aynı durum geçerlidir, ancak derleme tamamlandığında yok edilirler, oysa ana düğüm her zaman açık kalır. Derlemeniz genellikle Jenkins yöneticileri tarafından tanımlanan varsayılan bir pod şablonunu kullanarak bir pod içinde çalıştırılır.

Bir derlemeyi tetikleme

Bir derlemeyi tetiklemek için birkaç ana yolunuz vardır:

  1. Jenkins’e UI erişiminiz var

Mevcut bir derlemenin Tekrar Oynatma işlevini kullanmak çok kolay ve kullanışlı bir yoldur. Bu, daha önce yürütülen bir derlemeyi tekrar oynatmanıza olanak tanırken, groovy betiğini güncellemenize de izin verir. Bu, bir Jenkins klasöründe ve önceden tanımlanmış bir boru hattında ayrıcalıklar gerektirir. Gizli kalmanız gerekiyorsa, yeterli izniniz varsa tetiklediğiniz derlemeleri silebilirsiniz.

  1. SCM’ye yazma erişiminiz var ve otomatik derlemeler webhook aracılığıyla yapılandırılmış

Bir derleme betiğini (örneğin Jenkinsfile) düzenleyebilir, taahhüt edebilir ve itebilirsiniz (derlemeler yalnızca PR birleştirmelerinde tetikleniyorsa, sonunda bir PR oluşturabilirsiniz). Bu yolun çok gürültülü olduğunu ve izlerinizi temizlemek için yüksek ayrıcalıklar gerektiğini unutmayın.

Jenkins Build Pod YAML geçersiz kılma

OpenShift - Jenkins Build Pod Override

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin