AWS - DataPipeline, CodePipeline & CodeCommit Enum

Support HackTricks

DataPipeline

AWS Data Pipeline è progettato per facilitare l'accesso, la trasformazione e il trasferimento efficiente dei dati su larga scala. Consente di eseguire le seguenti operazioni:

  1. Accedi ai tuoi dati dove sono memorizzati: I dati residenti in vari servizi AWS possono essere accessibili senza problemi.

  2. Trasforma e processa su larga scala: Le attività di elaborazione e trasformazione dei dati su larga scala vengono gestite in modo efficiente.

  3. Trasferisci i risultati in modo efficiente: I dati elaborati possono essere trasferiti in modo efficiente a più servizi AWS, tra cui:

  • Amazon S3

  • Amazon RDS

  • Amazon DynamoDB

  • Amazon EMR

In sostanza, AWS Data Pipeline semplifica il movimento e l'elaborazione dei dati tra diversi servizi di calcolo e archiviazione AWS, così come le fonti di dati on-premises, a intervalli specificati.

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

Nella pagina seguente puoi controllare come abuse datapipeline permissions to escalate privileges:

CodePipeline

AWS CodePipeline è un servizio di consegna continua completamente gestito che ti aiuta a automatizzare i tuoi pipeline di rilascio per aggiornamenti rapidi e affidabili delle applicazioni e dell'infrastruttura. CodePipeline automatizza le fasi di build, test e deploy del tuo processo di rilascio ogni volta che c'è una modifica del codice, in base al modello di rilascio che definisci.

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

Nella pagina seguente puoi controllare come abuse codepipeline permissions to escalate privileges:

CodeCommit

È un servizio di controllo versione, ospitato e completamente gestito da Amazon, che può essere utilizzato per memorizzare dati (documenti, file binari, codice sorgente) in modo privato e gestirli nel cloud.

Elimina la necessità per l'utente di conoscere Git e gestire il proprio sistema di controllo versione o preoccuparsi di scalare la propria infrastruttura. Codecommit supporta tutte le funzionalità standard che possono essere trovate in Git, il che significa che funziona senza sforzo con gli strumenti basati su Git attuali dell'utente.

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>

Riferimenti

Supporta HackTricks

Last updated