AWS - DataPipeline, CodePipeline & CodeCommit Enum

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

DataPipeline

AWS Data Pipeline está diseñado para facilitar el acceso, transformación y transferencia eficiente de datos a escala. Permite realizar las siguientes operaciones:

  1. Accede a tus datos donde se encuentren almacenados: Los datos que residen en varios servicios de AWS pueden ser accedidos sin problemas.

  2. Transforma y procesa a escala: Las tareas de procesamiento y transformación de datos a gran escala se manejan de manera eficiente.

  3. Transfiere los resultados de manera eficiente: Los datos procesados pueden ser transferidos eficientemente a múltiples servicios de AWS, incluyendo:

  • Amazon S3

  • Amazon RDS

  • Amazon DynamoDB

  • Amazon EMR

En esencia, AWS Data Pipeline agiliza 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.

Enumeración

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>

Elevación de privilegios

En la siguiente página puedes verificar cómo abusar de los permisos de datapipeline para escalar privilegios:

pageAWS - Datapipeline Privesc

CodePipeline

AWS CodePipeline es un servicio de entrega continua completamente gestionado que te ayuda a automatizar tus canalizaciones de lanzamiento para actualizaciones de aplicaciones e infraestructura rápidas y fiables. CodePipeline automatiza las fases de compilación, prueba e implementación de tu proceso de lanzamiento cada vez que hay un cambio de código, según el modelo de lanzamiento que definas.

Enumeración

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>

Elevación de privilegios

En la siguiente página puedes verificar cómo abusar de los permisos de codepipeline para escalar privilegios:

pageAWS - Codepipeline Privesc

CodeCommit

Es un servicio de control de versiones, alojado y completamente gestionado por Amazon, que se puede utilizar para almacenar de forma privada datos (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 origen o se preocupe por escalar hacia arriba o hacia abajo 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 actuales basadas en Git del usuario.

Enumeración

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

Referencias

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización