Concourse Lab Creation

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

以下は、ハッキング技術に関するハッキングの本の内容です。関連する英語のテキストを日本語に翻訳し、まったく同じマークダウンおよびhtml構文を保持して翻訳を返してください。コード、ハッキング技術名、ハッキング用語、クラウド/SaaSプラットフォーム名(Workspace、aws、gcpなど)、'leak'という単語、ペネトレーションテスト、およびマークダウンタグなどのものは翻訳しないでください。また、翻訳とマークダウン構文以外の余分なものは何も追加しないでください。

あなたのOS用のコマンドライン `fly` は、ウェブ上の `127.0.0.1:8080` からダウンロードできます。

#### Kubernetesを使用する(推奨)

**Kubernetes**(例えば **minikube**)でhelm-chartを使用して簡単にconcourseをデプロイできます: [**concourse-chart**](https://github.com/concourse/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環境の後、秘密を生成し、concourse webで実行中のSAが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スクリプトを実行する、このイメージをビルドするなど)。したがって、5つのステップを持つジョブがある場合、Concourseは各ステップごとに5つのコンテナを作成します。

したがって、各ステップが実行されるべきコンテナのタイプを指定することが可能です。

シンプルなパイプラインの例

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 をチェックしてください。

Bashスクリプトと出力/入力パイプライン

あるタスクの結果をファイルに保存し、それを出力として指定した後、次のタスクの入力を前のタスクの出力として指定することができます。Concourseが行うことは、前のタスクのディレクトリを新しいタスクにマウントし、前のタスクによって作成されたファイルにアクセスできるようにすることです

トリガー

ジョブを手動で毎回トリガーする必要はありません。次のような場合に自動的に実行されるようにプログラムすることもできます:

masterへの新しいコミットにトリガーされるYAMLパイプラインの例をhttps://concourse-ci.org/tutorial-resources.htmlで確認してください。

htARTE (HackTricks AWS Red Team Expert)でAWSハッキングをゼロからヒーローまで学ぶ!

HackTricksをサポートする他の方法:HackTricksにあなたの会社を広告したい、またはHackTricksをPDFでダウンロードしたい場合は、SUBSCRIPTION PLANSをチェックしてください!公式のPEASS & HackTricksグッズを入手するThe PEASS Familyを発見する、私たちの独占的なNFTsのコレクション💬 Discordグループtelegramグループに参加するか、Twitter 🐦 @carlospolopmでフォローする。HackTricksHackTricks CloudのgithubリポジトリにPRを提出して、あなたのハッキングのコツを共有する。

最終更新