AWS - DataPipeline, CodePipeline & CodeCommit Enum

Reading time: 4 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

DataPipeline

AWS Data Pipeline призначений для полегшення доступу, трансформації та ефективної передачі даних в масштабах. Він дозволяє виконувати такі операції:

  1. Доступ до ваших даних, де б вони не зберігалися: Дані, що знаходяться в різних сервісах AWS, можна отримати безперешкодно.
  2. Трансформація та обробка в масштабах: Завдання з обробки та трансформації даних великого обсягу виконуються ефективно.
  3. Ефективна передача результатів: Оброблені дані можуть бути ефективно передані до кількох сервісів AWS, включаючи:
  • Amazon S3
  • Amazon RDS
  • Amazon DynamoDB
  • Amazon EMR

По суті, AWS Data Pipeline спрощує переміщення та обробку даних між різними обчислювальними та сховищами AWS, а також локальними джерелами даних, у визначені інтервали.

Enumeration

bash
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>

Privesc

На наступній сторінці ви можете перевірити, як зловживати правами datapipeline для ескалації привілеїв:

AWS - Datapipeline Privesc

CodePipeline

AWS CodePipeline - це повністю керована послуга безперервної доставки, яка допомагає вам автоматизувати ваші конвеєри випуску для швидких і надійних оновлень додатків та інфраструктури. CodePipeline автоматизує етапи збірки, тестування та розгортання вашого процесу випуску щоразу, коли відбувається зміна коду, на основі моделі випуску, яку ви визначаєте.

Enumeration

bash
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>

Privesc

На наступній сторінці ви можете перевірити, як зловживати дозволами codepipeline для ескалації привілеїв:

AWS - Codepipeline Privesc

CodeCommit

Це сервіс контролю версій, який хоститься та повністю управляється Amazon, і може бути використаний для приватного зберігання даних (документів, бінарних файлів, вихідного коду) та їх управління в хмарі.

Це усуває необхідність для користувача знати Git та управляти власною системою контролю версій або турбуватися про масштабування своєї інфраструктури. Codecommit підтримує всі стандартні функціональності, які можна знайти в Git, що означає, що він без зусиль працює з поточними інструментами на базі Git користувача.

Enumeration

bash
# 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>

Посилання

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks