OpenShift - Jenkins
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Oryginalnym autorem tej strony jest Fares
Ta strona zawiera wskazówki dotyczące atakowania instancji Jenkins działającej w klastrze Openshift (lub Kubernetes).
Zastrzeżenie
Instancja Jenkins może być wdrożona zarówno w klastrze Openshift, jak i Kubernetes. W zależności od kontekstu, może być konieczne dostosowanie pokazanych ładunków, yaml lub technik. Aby uzyskać więcej informacji na temat atakowania Jenkins, możesz zapoznać się z tą stroną.
Wymagania wstępne
1a. Dostęp użytkownika do instancji Jenkins LUB 1b. Dostęp użytkownika z uprawnieniami do zapisu do repozytorium SCM, w którym automatyczna budowa jest uruchamiana po push/merge.
Jak to działa
Fundamentalnie, prawie wszystko, co dzieje się w tle, działa tak samo jak w regularnej instancji Jenkins działającej w VM. Główna różnica to ogólna architektura i sposób zarządzania budowami wewnątrz klastra openshift (lub kubernetes).
Budowy
Gdy budowa jest uruchamiana, jest najpierw zarządzana/orchestrowana przez węzeł główny Jenkins, a następnie delegowana do agenta/robota/pracownika. W tym kontekście węzeł główny to po prostu zwykły pod działający w przestrzeni nazw (która może być inna niż ta, w której działają pracownicy). To samo dotyczy pracowników/robotów, jednak są one niszczone po zakończeniu budowy, podczas gdy węzeł główny zawsze pozostaje aktywny. Twoja budowa jest zazwyczaj uruchamiana wewnątrz poda, korzystając z domyślnego szablonu poda zdefiniowanego przez administratorów Jenkins.
Uruchamianie budowy
Masz kilka głównych sposobów uruchamiania budowy, takich jak:
- Masz dostęp do interfejsu użytkownika Jenkins
Bardzo łatwym i wygodnym sposobem jest użycie funkcji Replay istniejącej budowy. Umożliwia to powtórzenie wcześniej wykonanej budowy, jednocześnie pozwalając na aktualizację skryptu groovy. Wymaga to uprawnień do folderu Jenkins i zdefiniowanego wcześniej pipeline. Jeśli musisz być ostrożny, możesz usunąć swoje uruchomione budowy, jeśli masz wystarczające uprawnienia.
- Masz dostęp do zapisu w SCM, a automatyczne budowy są skonfigurowane za pomocą webhooka
Możesz po prostu edytować skrypt budowy (taki jak Jenkinsfile), zatwierdzić i wypchnąć (ewentualnie utworzyć PR, jeśli budowy są uruchamiane tylko przy scalaniu PR). Pamiętaj, że ta ścieżka jest bardzo hałaśliwa i wymaga podwyższonych uprawnień do zatarcia śladów.
Nadpisanie YAML dla poda budowy Jenkins
OpenShift - Jenkins Build Pod Override
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

