OpenShift - Tekton
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
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 è Haroun
Cosâè tekton
Secondo la documentazione: Tekton è un potente e flessibile framework open-source per la creazione di sistemi CI/CD, che consente agli sviluppatori di costruire, testare e distribuire su fornitori di cloud e sistemi on-premise. Sia Jenkins che Tekton possono essere utilizzati per testare, costruire e distribuire applicazioni, tuttavia Tekton è Cloud Native.
Con Tekton tutto è rappresentato da file YAML. Gli sviluppatori possono creare Risorse Personalizzate (CR) di tipo Pipelines e specificare piÚ Tasks in esse che desiderano eseguire. Per eseguire una Pipeline devono essere create risorse di tipo PipelineRun.
Quando tekton è installato, viene creata unâaccount di servizio (sa) chiamata pipeline in ogni namespace. Quando una Pipeline viene eseguita, verrĂ generato un pod utilizzando questo sa chiamato pipeline per eseguire i task definiti nel file YAML.
Getting Started with Pipelines | Tekton
Le capacitĂ dellâaccount di servizio Pipeline
Per impostazione predefinita, lâaccount di servizio pipeline può utilizzare la capacitĂ pipelines-scc. Questo è dovuto alla configurazione predefinita globale di tekton. In realtĂ , la configurazione globale di tekton è anchâessa un YAML in un oggetto openshift chiamato TektonConfig che può essere visualizzato se si hanno alcuni ruoli di lettura nel cluster.
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "pipelines-scc"
In qualsiasi namespace, se riesci a ottenere il token del service account della pipeline, sarai in grado di utilizzare pipelines-scc.
La Misconfigurazione
Il problema è che il scc predefinito che il sa della pipeline può utilizzare è controllabile dallâutente. Questo può essere fatto utilizzando unâetichetta nella definizione del namespace. Ad esempio, se posso creare un namespace con la seguente definizione yaml:
apiVersion: v1
kind: Namespace
metadata:
name: test-namespace
annotations:
operator.tekton.dev/scc: privileged
Lâoperatore tekton darĂ allâaccount di servizio della pipeline in test-namespace la possibilitĂ di utilizzare lo scc privilegiato. Questo permetterĂ il montaggio del nodo.
La soluzione
I documenti di Tekton riguardano come limitare lâoverride dello scc aggiungendo unâetichetta nellâoggetto TektonConfig.
Questa etichetta si chiama max-allowed
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "restricted-v2"
maxAllowed: "privileged"
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
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

