OpenShift - Jenkins
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Ο αρχικός συγγραφέας αυτής της σελίδας είναι Fares
Αυτή η σελίδα παρέχει μερικές οδηγίες σχετικά με το πώς μπορείτε να επιτεθείτε σε μια εγκατάσταση Jenkins που τρέχει σε ένα Openshift (ή Kubernetes) cluster.
Αποποίηση ευθυνών
Μια εγκατάσταση Jenkins μπορεί να αναπτυχθεί σε ένα Openshift ή Kubernetes cluster. Ανάλογα με το πλαίσιο σας, μπορεί να χρειαστεί να προσαρμόσετε οποιοδήποτε payload, yaml ή τεχνική που εμφανίζεται. Για περισσότερες πληροφορίες σχετικά με την επίθεση σε Jenkins, μπορείτε να ρίξετε μια ματιά σε αυτή τη σελίδα.
Προαπαιτούμενα
1a. Πρόσβαση χρήστη σε μια εγκατάσταση Jenkins Ή 1b. Πρόσβαση χρήστη με δικαιώματα εγγραφής σε ένα SCM repository όπου ενεργοποιείται μια αυτοματοποιημένη κατασκευή μετά από μια push/merge.
Πώς λειτουργεί
Βασικά, σχεδόν τα πάντα πίσω από τις σκηνές λειτουργούν το ίδιο όπως μια κανονική εγκατάσταση Jenkins που τρέχει σε μια VM. Η κύρια διαφορά είναι η συνολική αρχιτεκτονική και το πώς διαχειρίζονται οι κατασκευές μέσα σε ένα Openshift (ή Kubernetes) cluster.
Κατασκευές
Όταν ενεργοποιείται μια κατασκευή, διαχειρίζεται/οργανώνεται πρώτα από τον κύριο κόμβο Jenkins και στη συνέχεια ανατίθεται σε έναν πράκτορα/slave/εργάτη. Σε αυτό το πλαίσιο, ο κύριος κόμβος είναι απλώς ένα κανονικό pod που τρέχει σε ένα namespace (το οποίο μπορεί να είναι διαφορετικό από αυτό όπου τρέχουν οι εργάτες). Το ίδιο ισχύει και για τους εργάτες/slaves, ωστόσο καταστρέφονται μόλις ολοκληρωθεί η κατασκευή, ενώ ο κύριος παραμένει πάντα ενεργός. Η κατασκευή σας συνήθως εκτελείται μέσα σε ένα pod, χρησιμοποιώντας ένα προεπιλεγμένο πρότυπο pod που ορίζεται από τους διαχειριστές Jenkins.
Ενεργοποίηση μιας κατασκευής
Έχετε πολλούς κύριους τρόπους για να ενεργοποιήσετε μια κατασκευή, όπως:
- Έχετε πρόσβαση UI στο Jenkins
Ένας πολύ εύκολος και βολικός τρόπος είναι να χρησιμοποιήσετε τη λειτουργία Replay μιας υπάρχουσας κατασκευής. Σας επιτρέπει να επαναλάβετε μια προηγουμένως εκτελεσμένη κατασκευή ενώ σας επιτρέπει να ενημερώσετε το groovy script. Αυτό απαιτεί προνόμια σε έναν φάκελο Jenkins και μια προκαθορισμένη pipeline. Αν χρειάζεται να είστε διακριτικοί, μπορείτε να διαγράψετε τις ενεργοποιημένες κατασκευές σας αν έχετε αρκετά δικαιώματα.
- Έχετε δικαιώματα εγγραφής στο SCM και οι αυτοματοποιημένες κατασκευές είναι ρυθμισμένες μέσω webhook
Μπορείτε απλώς να επεξεργαστείτε ένα script κατασκευής (όπως το Jenkinsfile), να κάνετε commit και push (τελικά να δημιουργήσετε ένα PR αν οι κατασκευές ενεργοποιούνται μόνο σε συγχωνεύσεις PR). Έχετε υπόψη ότι αυτός ο δρόμος είναι πολύ θορυβώδης και χρειάζεται ανυψωμένα προνόμια για να καθαρίσετε τα ίχνη σας.
Jenkins Build Pod YAML override
OpenShift - Jenkins Build Pod Override
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

