OpenShift - Jenkins

Reading time: 3 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Originalni autor ove stranice je Fares

Ova stranica daje nekoliko saveta o tome kako možete napasti Jenkins instancu koja radi u Openshift (ili Kubernetes) klasteru.

Odricanje od odgovornosti

Jenkins instanca može biti postavljena u Openshift ili Kubernetes klasteru. U zavisnosti od vašeg konteksta, možda ćete morati da prilagodite bilo koji prikazani payload, yaml ili tehniku. Za više informacija o napadu na Jenkins možete pogledati ovu stranicu.

Preduslovi

1a. Korisnički pristup u Jenkins instanci ILI 1b. Korisnički pristup sa pravima pisanja na SCM repozitorijumu gde se automatska izgradnja pokreće nakon push/merge.

Kako to funkcioniše

Fundamentalno, gotovo sve iza scene funkcioniše isto kao i redovna Jenkins instanca koja radi u VM-u. Glavna razlika je u ukupnoj arhitekturi i načinu na koji se izgradnje upravljaju unutar Openshift (ili Kubernetes) klastera.

Izgradnje

Kada se izgradnja pokrene, prvo njome upravlja/orchestrira Jenkins master čvor, a zatim se delegira agentu/slavi/radniku. U ovom kontekstu, master čvor je samo redovni pod koji radi u namespace-u (koji može biti različit od onog u kojem radnici rade). Isto važi i za radnike/slave, međutim oni se uništavaju kada se izgradnja završi, dok master uvek ostaje aktivan. Vaša izgradnja se obično pokreće unutar poda, koristeći pod šablon koji su definisali Jenkins administratori.

Pokretanje izgradnje

Imate više glavnih načina za pokretanje izgradnje, kao što su:

  1. Imate UI pristup Jenkins-u

Veoma lak i praktičan način je korišćenje Replay funkcionalnosti postojeće izgradnje. Omogućava vam da ponovo pokrenete prethodno izvršenu izgradnju dok vam omogućava da ažurirate groovy skriptu. Ovo zahteva privilegije na Jenkins folderu i unapred definisanu pipeline. Ako trebate biti diskretni, možete obrisati svoje pokrenute izgradnje ako imate dovoljno dozvola.

  1. Imate pristup za pisanje na SCM i automatske izgradnje su konfigurirane putem webhook-a

Možete jednostavno urediti skriptu za izgradnju (kao što je Jenkinsfile), commit-ovati i push-ovati (eventualno kreirati PR ako se izgradnje pokreću samo na PR spajanjima). Imajte na umu da je ovaj put veoma bučan i zahteva povišene privilegije da biste očistili svoje tragove.

Jenkins Build Pod YAML override

OpenShift - Jenkins Build Pod Override

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks