AWS - DataPipeline, CodePipeline & CodeCommit Enum

Support HackTricks

DataPipeline

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

  1. Доступ до ваших даних, де б вони не зберігалися: Дані, що знаходяться в різних сервісах AWS, можна отримати безперешкодно.

  2. Трансформація та обробка в масштабах: Завдання з обробки та трансформації даних великого обсягу виконуються ефективно.

  3. Ефективна передача результатів: Оброблені дані можуть бути ефективно передані до кількох сервісів AWS, включаючи:

  • Amazon S3

  • Amazon RDS

  • Amazon DynamoDB

  • Amazon EMR

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

Enumeration

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 для ескалації привілеїв:

CodePipeline

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

Enumeration

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 для ескалації привілеїв:

CodeCommit

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

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

Enumeration

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

Посилання

Підтримайте HackTricks

Last updated