AWS - DataPipeline, CodePipeline & CodeCommit Enum
Reading time: 5 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
DataPipeline
AWS Data Pipeline é projetado para facilitar o acesso, transformação e transferência eficiente de dados em grande escala. Ele permite que as seguintes operações sejam realizadas:
- Acesse Seus Dados Onde Estão Armazenados: Dados residindo em vários serviços AWS podem ser acessados de forma contínua.
- Transforme e Processe em Grande Escala: Tarefas de processamento e transformação de dados em grande escala são tratadas de forma eficiente.
- Transfira Resultados de Forma Eficiente: Os dados processados podem ser transferidos de forma eficiente para vários serviços AWS, incluindo:
- Amazon S3
- Amazon RDS
- Amazon DynamoDB
- Amazon EMR
Em essência, o AWS Data Pipeline simplifica o movimento e o processamento de dados entre diferentes serviços de computação e armazenamento da AWS, bem como fontes de dados locais, em intervalos especificados.
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
Na página a seguir, você pode verificar como abusar das permissões do datapipeline para escalar privilégios:
CodePipeline
AWS CodePipeline é um serviço de entrega contínua totalmente gerenciado que ajuda você a automatizar seus pipelines de lançamento para atualizações rápidas e confiáveis de aplicativos e infraestrutura. O CodePipeline automatiza as fases de construção, teste e implantação do seu processo de lançamento toda vez que há uma alteração de código, com base no modelo de lançamento que você define.
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
Na página a seguir, você pode verificar como abusar das permissões do codepipeline para escalar privilégios:
CodeCommit
É um serviço de controle de versão, que é hospedado e totalmente gerenciado pela Amazon, e que pode ser usado para armazenar dados (documentos, arquivos binários, código-fonte) de forma privada e gerenciá-los na nuvem.
Ele elimina a necessidade de o usuário conhecer Git e gerenciar seu próprio sistema de controle de versão ou se preocupar em escalar sua infraestrutura para cima ou para baixo. O Codecommit suporta todas as funcionalidades padrão que podem ser encontradas no Git, o que significa que funciona sem esforço com as ferramentas baseadas em Git atuais do usuário.
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>
Referências
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.