# AWS - DataPipeline, CodePipeline & CodeCommit Enum {{#include ../../../banners/hacktricks-training.md}} ## DataPipeline AWS Data Pipeline está diseñado para facilitar el **acceso, transformación y transferencia eficiente** de datos a gran escala. Permite realizar las siguientes operaciones: 1. **Accede a tus datos donde están almacenados**: Los datos que residen en varios servicios de AWS se pueden acceder sin problemas. 2. **Transforma y procesa a gran escala**: Las tareas de procesamiento y transformación de datos a gran escala se manejan de manera eficiente. 3. **Transfiere resultados de manera eficiente**: Los datos procesados se pueden transferir de manera eficiente a múltiples servicios de AWS, incluyendo: - Amazon S3 - Amazon RDS - Amazon DynamoDB - Amazon EMR En esencia, AWS Data Pipeline optimiza el movimiento y procesamiento de datos entre diferentes servicios de computación y almacenamiento de AWS, así como fuentes de datos locales, en intervalos especificados. ### Enumeration ```bash aws datapipeline list-pipelines aws datapipeline describe-pipelines --pipeline-ids aws datapipeline list-runs --pipeline-id aws datapipeline get-pipeline-definition --pipeline-id ``` ### Privesc En la siguiente página puedes verificar cómo **abusar de los permisos de datapipeline para escalar privilegios**: {{#ref}} ../aws-privilege-escalation/aws-datapipeline-privesc.md {{#endref}} ## CodePipeline AWS CodePipeline es un **servicio de entrega continua** completamente gestionado que te ayuda a **automatizar tus pipelines de lanzamiento** para actualizaciones rápidas y confiables de aplicaciones e infraestructura. CodePipeline automatiza las **fases de construcción, prueba y despliegue** de tu proceso de lanzamiento cada vez que hay un cambio en el código, basado en el modelo de lanzamiento que defines. ### Enumeration ```bash aws codepipeline list-pipelines aws codepipeline get-pipeline --name aws codepipeline list-action-executions --pipeline-name aws codepipeline list-pipeline-executions --pipeline-name aws codepipeline list-webhooks aws codepipeline get-pipeline-state --name ``` ### Privesc En la siguiente página puedes verificar cómo **abusar de los permisos de codepipeline para escalar privilegios**: {{#ref}} ../aws-privilege-escalation/aws-codepipeline-privesc.md {{#endref}} ## CodeCommit Es un **servicio de control de versiones**, que está alojado y completamente gestionado por Amazon, que se puede utilizar para almacenar datos de forma privada (documentos, archivos binarios, código fuente) y gestionarlos en la nube. **Elimina** la necesidad de que el usuario conozca Git y **gestione su propio sistema de control de versiones** o se preocupe por escalar su infraestructura. Codecommit admite todas las **funcionalidades estándar que se pueden encontrar en Git**, lo que significa que funciona sin problemas con las herramientas basadas en Git actuales del usuario. ### Enumeration ```bash # Repos aws codecommit list-repositories aws codecommit get-repository --repository-name aws codecommit get-repository-triggers --repository-name aws codecommit list-branches --repository-name aws codecommit list-pull-requests --repository-name # Approval rules aws codecommit list-approval-rule-templates aws codecommit get-approval-rule-template --approval-rule-template-name aws codecommit list-associated-approval-rule-templates-for-repository --repository-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 # 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 --ssh-public-key-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://@git-codecommit..amazonaws.com/v1/repos/ ``` ## Referencias - [https://docs.aws.amazon.com/whitepapers/latest/aws-overview/analytics.html](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/analytics.html) {{#include ../../../banners/hacktricks-training.md}}