OpenShift - Jenkins
Reading time: 4 minutes
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
L'autore originale di questa pagina è Fares
Questa pagina fornisce alcuni suggerimenti su come attaccare un'istanza di Jenkins in esecuzione in un cluster Openshift (o Kubernetes).
Disclaimer
Un'istanza di Jenkins può essere distribuita sia in un cluster Openshift che in un cluster Kubernetes. A seconda del tuo contesto, potresti dover adattare qualsiasi payload, yaml o tecnica mostrata. Per ulteriori informazioni su come attaccare Jenkins, puoi dare un'occhiata a questa pagina.
Prerequisiti
1a. Accesso utente in un'istanza di Jenkins OPPURE 1b. Accesso utente con permesso di scrittura a un repository SCM dove viene attivata una build automatizzata dopo un push/merge.
Come funziona
Fondamentalmente, quasi tutto ciò che avviene dietro le quinte funziona allo stesso modo di un'istanza di Jenkins regolare in esecuzione in una VM. La principale differenza è l'architettura complessiva e come le build sono gestite all'interno di un cluster openshift (o kubernetes).
Build
Quando viene attivata una build, viene prima gestita/orchestrata dal nodo master di Jenkins e poi delegata a un agente/slave/worker. In questo contesto, il nodo master è semplicemente un pod regolare in esecuzione in uno spazio dei nomi (che potrebbe essere diverso da quello in cui vengono eseguiti i worker). Lo stesso vale per i worker/slave, tuttavia vengono distrutti una volta che la build è terminata, mentre il master rimane sempre attivo. La tua build viene solitamente eseguita all'interno di un pod, utilizzando un modello di pod predefinito definito dagli amministratori di Jenkins.
Attivazione di una build
Hai diversi modi principali per attivare una build, come ad esempio:
- Hai accesso all'interfaccia utente di Jenkins
Un modo molto semplice e conveniente è utilizzare la funzionalità Replay di una build esistente. Ti consente di ripetere una build precedentemente eseguita, permettendoti di aggiornare lo script groovy. Questo richiede privilegi su una cartella di Jenkins e una pipeline predefinita. Se hai bisogno di essere furtivo, puoi eliminare le tue build attivate se hai abbastanza permessi.
- Hai accesso in scrittura allo SCM e le build automatizzate sono configurate tramite webhook
Puoi semplicemente modificare uno script di build (come Jenkinsfile), fare commit e push (eventualmente creare una PR se le build vengono attivate solo sui merge delle PR). Tieni presente che questo percorso è molto rumoroso e richiede privilegi elevati per pulire le tue tracce.
Override YAML del Pod di Build di Jenkins
OpenShift - Jenkins Build Pod Override
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
 HackTricks Cloud
HackTricks Cloud