AWS - DataPipeline, CodePipeline & CodeCommit Enum

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

HackTricksをサポートする他の方法:

DataPipeline

AWS Data Pipelineは、データのアクセス、変換、効率的な転送を規模に合わせて容易にするよう設計されています。次の操作を実行できます:

  1. データが保存されている場所にアクセス:さまざまなAWSサービスに保存されているデータにシームレスにアクセスできます。

  2. 規模に合わせて変換および処理:大規模なデータ処理および変換タスクを効率的に処理します。

  3. 結果を効率的に転送:処理されたデータを複数のAWSサービスに効率的に転送できます。これには以下が含まれます:

  • Amazon S3

  • Amazon RDS

  • Amazon DynamoDB

  • Amazon EMR

要するに、AWS Data Pipelineは、異なるAWSコンピューティングおよびストレージサービス、および指定された間隔でオンプレミスデータソース間でデータの移動と処理を効率化します。

列挙

aws datapipeline list-pipelines
aws datapipeline describe-pipelines --pipeline-ids <ID>
aws datapipeline list-runs --pipeline-id <ID>
aws datapipeline get-pipeline-definition --pipeline-id <ID>

特権昇格

以下のページでは、datapipeline権限を悪用して特権を昇格する方法を確認できます:

CodePipeline

AWS CodePipelineは、継続的デリバリーサービスであり、リリースパイプラインを自動化してアプリケーションやインフラストラクチャの迅速かつ信頼性の高い更新を支援します。CodePipelineは、コードの変更があるたびに、定義したリリースモデルに基づいて、リリースプロセスのビルド、テスト、デプロイフェーズを自動化します。

aws codepipeline list-pipelines
aws codepipeline get-pipeline --name <pipeline_name>
aws codepipeline list-action-executions --pipeline-name <pl_name>
aws codepipeline list-pipeline-executions --pipeline-name <pl_name>
aws codepipeline list-webhooks
aws codepipeline get-pipeline-state --name <pipeline_name>

特権昇格

次のページでは、codepipelineの権限を悪用して特権を昇格する方法を確認できます:

CodeCommit

これは、Amazonがホストし完全に管理されているバージョン管理サービスであり、クラウドでデータ(ドキュメント、バイナリファイル、ソースコード)をプライベートに保存し、管理するために使用できます。

ユーザーがGitを知る必要がなく、独自のソースコントロールシステムを管理する必要がないため、インフラストラクチャのスケーリングを心配する必要がありません。 Codecommitは、Gitで見つけることができるすべての標準的な機能をサポートしており、これはユーザーの現在のGitベースのツールとシームレスに連携します。

列挙

# Repos
aws codecommit list-repositories
aws codecommit get-repository --repository-name <name>
aws codecommit get-repository-triggers --repository-name <name>
aws codecommit list-branches --repository-name <name>
aws codecommit list-pull-requests --repository-name <name>

# Approval rules
aws codecommit list-approval-rule-templates
aws codecommit get-approval-rule-template --approval-rule-template-name <name>
aws codecommit list-associated-approval-rule-templates-for-repository --repository-name <name>

# Get & Put files
## Get a file
aws codecommit get-file --repository-name backend-api --file-path app.py
## Put a file
aws codecommit get-branch --repository-name backend-api --branch-name master
aws codecommit put-file --repository-name backend-api --branch-name master --file-content fileb://./app.py --file-path app.py --parent-commit-id <commit-id>

# SSH Keys & Clone repo
## Get codecommit keys
aws iam list-ssh-public-keys #User keys for CodeCommit
aws iam get-ssh-public-key --user-name <username> --ssh-public-key-id <id> --encoding SSH #Get public key with metadata
# The previous command will give you the fingerprint of the ssh key
# With the next command you can check the fingerprint of an ssh key and compare them
ssh-keygen -f .ssh/id_rsa -l -E md5

# Clone repo
git clone ssh://<SSH-KEY-ID>@git-codecommit.<REGION>.amazonaws.com/v1/repos/<repo-name>

参考

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

HackTricks をサポートする他の方法:

最終更新