AWS - DataPipeline, CodePipeline & CodeCommit Enum

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks:

DataPipeline

AWS Data Pipeline est conçu pour faciliter l'accès, la transformation et le transfert efficace des données à grande échelle. Il permet d'effectuer les opérations suivantes :

  1. Accédez à vos données là où elles sont stockées : Les données résidant dans divers services AWS peuvent être accessibles de manière transparente.

  2. Transformer et traiter à grande échelle : Les tâches de traitement et de transformation de données à grande échelle sont gérées efficacement.

  3. Transférer efficacement les résultats : Les données traitées peuvent être transférées efficacement vers plusieurs services AWS, y compris :

  • Amazon S3

  • Amazon RDS

  • Amazon DynamoDB

  • Amazon EMR

En essence, AWS Data Pipeline rationalise le déplacement et le traitement des données entre différents services de calcul et de stockage AWS, ainsi que les sources de données sur site, à des intervalles spécifiés.

Énumération

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

Sur la page suivante, vous pouvez vérifier comment abuser des autorisations de datapipeline pour escalader les privilèges:

pageAWS - Datapipeline Privesc

CodePipeline

AWS CodePipeline est un service de livraison continue entièrement géré qui vous aide à automatiser vos pipelines de déploiement pour des mises à jour d'application et d'infrastructure rapides et fiables. CodePipeline automatise les phases de construction, de test et de déploiement de votre processus de déploiement à chaque fois qu'il y a un changement de code, en fonction du modèle de déploiement que vous définissez.

Énumération

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

Sur la page suivante, vous pouvez vérifier comment abuser des autorisations de codepipeline pour escalader les privilèges:

pageAWS - Codepipeline Privesc

CodeCommit

C'est un service de contrôle de version, hébergé et entièrement géré par Amazon, qui peut être utilisé pour stocker des données en privé (documents, fichiers binaires, code source) et les gérer dans le cloud.

Il élimine le besoin pour l'utilisateur de connaître Git et de gérer son propre système de contrôle de source ou de se soucier de faire évoluer son infrastructure. Codecommit prend en charge toutes les fonctionnalités standard que l'on peut trouver dans Git, ce qui signifie qu'il fonctionne parfaitement avec les outils actuels basés sur Git de l'utilisateur.

Énumération

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

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

Autres façons de soutenir HackTricks:

Dernière mise à jour