Concourse Lab Creation

Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Περιβάλλον Δοκιμής

Εκτέλεση του Concourse

Με το Docker-Compose

Αυτό το αρχείο docker-compose απλοποιεί την εγκατάσταση για να κάνετε μερικές δοκιμές με το concourse:

wget https://raw.githubusercontent.com/starkandwayne/concourse-tutorial/master/docker-compose.yml
docker-compose up -d

Μπορείτε να κατεβάσετε τη γραμμή εντολών fly για το λειτουργικό σύστημά σας από τον ιστό στη διεύθυνση 127.0.0.1:8080

Με το Kubernetes (Συνιστάται)

Μπορείτε εύκολα να αναπτύξετε το concourse στο Kubernetes (για παράδειγμα στο minikube) χρησιμοποιώντας το helm-chart: concourse-chart.

brew install helm
helm repo add concourse https://concourse-charts.storage.googleapis.com/
helm install concourse-release concourse/concourse
# concourse-release will be the prefix name for the concourse elements in k8s
# After the installation you will find the indications to connect to it in the console

# If you need to delete it
helm delete concourse-release

Μετά τη δημιουργία του περιβάλλοντος concourse, μπορείτε να δημιουργήσετε ένα μυστικό και να δώσετε πρόσβαση στον SA που εκτελείται στον ιστό του concourse για να έχει πρόσβαση σε μυστικά του K8s:

echo 'apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: read-secrets
rules:
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]

---

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-secrets-concourse
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: read-secrets
subjects:
- kind: ServiceAccount
name: concourse-release-web
namespace: default

---

apiVersion: v1
kind: Secret
metadata:
name: super
namespace: concourse-release-main
type: Opaque
data:
secret: MWYyZDFlMmU2N2Rm

' | kubectl apply -f -

Δημιουργία Αγωγού

Ένας αγωγός αποτελείται από μια λίστα από Εργασίες που περιέχει μια ταξινομημένη λίστα από Βήματα.

Βήματα

Μπορούν να χρησιμοποιηθούν διάφορα είδη βημάτων:

Κάθε βήμα σε ένα σχέδιο εργασίας εκτελείται σε δικό του δοχείο. Μπορείτε να εκτελέσετε οτιδήποτε θέλετε μέσα στο δοχείο (π.χ. να εκτελέσετε τις δοκιμές μου, να εκτελέσετε αυτό το bash script, να κατασκευάσετε αυτήν την εικόνα, κλπ.). Έτσι, αν έχετε μια εργασία με πέντε βήματα, το Concourse θα δημιουργήσει πέντε δοχεία, ένα για κάθε βήμα.

Επομένως, είναι δυνατό να υποδείξετε τον τύπο του δοχείου που χρειάζεται κάθε βήμα να εκτελεστεί.

Παράδειγμα Απλού Αγωγού

jobs:
- name: simple
plan:
- task: simple-task
privileged: true
config:
# Tells Concourse which type of worker this task should run on
platform: linux
image_resource:
type: registry-image
source:
repository: busybox # images are pulled from docker hub by default
run:
path: sh
args:
- -cx
- |
sleep 1000
echo "$SUPER_SECRET"
params:
SUPER_SECRET: ((super.secret))
fly -t tutorial set-pipeline -p pipe-name -c hello-world.yml
# pipelines are paused when first created
fly -t tutorial unpause-pipeline -p pipe-name
# trigger the job and watch it run to completion
fly -t tutorial trigger-job --job pipe-name/simple --watch
# From another console
fly -t tutorial intercept --job pipe-name/simple

Ελέγξτε το 127.0.0.1:8080 για να δείτε τη ροή του pipeline.

Σενάριο Bash με ροή εισόδου/εξόδου

Είναι δυνατόν να αποθηκεύσετε τα αποτελέσματα μιας εργασίας σε ένα αρχείο και να υποδείξετε ότι αυτό είναι ένα αποτέλεσμα και στη συνέχεια να υποδείξετε την είσοδο της επόμενης εργασίας ως το αποτέλεσμα της προηγούμενης εργασίας. Αυτό που κάνει το concourse είναι να προσαρτά τον κατάλογο της προηγούμενης εργασίας στη νέα εργασία όπου μπορείτε να έχετε πρόσβαση στα αρχεία που δημιουργήθηκαν από την προηγούμενη εργασία.

Ενεργοποιητές

Δεν χρειάζεται να ενεργοποιείτε τις εργασίες χειροκίνητα κάθε φορά που θέλετε να τις εκτελέσετε, μπορείτε επίσης να τις προγραμματίσετε να εκτελούνται αυτόματα:

Ελέγξτε ένα παράδειγμα YAML pipeline που ενεργοποιείται σε νέες δεσμεύσεις στον κύριο κλαδί στο https://concourse-ci.org/tutorial-resources.html

Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated