AWS - DataPipeline, CodePipeline & CodeCommit Enum

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

DataPipeline

AWS Data Pipeline jest zaprojektowany, aby ułatwić dostęp, transformację i efektywny transfer danych na dużą skalę. Umożliwia wykonanie następujących operacji:

  1. Dostęp do Twoich Danych Gdzie Są Przechowywane: Dane znajdujące się w różnych usługach AWS mogą być bezproblemowo dostępne.
  2. Transformacja i Przetwarzanie na Dużą Skalę: Duże zadania przetwarzania i transformacji danych są obsługiwane efektywnie.
  3. Efektywny Transfer Wyników: Przetworzone dane mogą być efektywnie transferowane do wielu usług AWS, w tym:
  • Amazon S3
  • Amazon RDS
  • Amazon DynamoDB
  • Amazon EMR

W istocie, AWS Data Pipeline upraszcza ruch i przetwarzanie danych między różnymi usługami obliczeniowymi i magazynowymi AWS, a także lokalnymi źródłami danych, w określonych interwałach.

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 poniższej stronie możesz sprawdzić, jak nadużyć uprawnień datapipeline, aby eskalować uprawnienia:

AWS - Datapipeline Privesc

CodePipeline

AWS CodePipeline to w pełni zarządzana usługa ciągłego dostarczania, która pomaga w automatyzacji twoich procesów wydania w celu szybkich i niezawodnych aktualizacji aplikacji i infrastruktury. CodePipeline automatyzuje etapy budowy, testowania i wdrażania twojego procesu wydania za każdym razem, gdy następuje zmiana w kodzie, w oparciu o model wydania, który definiujesz.

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 poniższej stronie możesz sprawdzić, jak nadużyć uprawnień codepipeline, aby eskalować uprawnienia:

AWS - Codepipeline Privesc

CodeCommit

Jest to usługa kontroli wersji, która jest hostowana i w pełni zarządzana przez Amazon, która może być używana do prywatnego przechowywania danych (dokumentów, plików binarnych, kodu źródłowego) i zarządzania nimi w chmurze.

Eliminuje to konieczność, aby użytkownik znał Git i zarządzał własnym systemem kontroli wersji lub martwił się o skalowanie swojej infrastruktury w górę lub w dół. Codecommit obsługuje wszystkie standardowe funkcjonalności, które można znaleźć w Gicie, co oznacza, że działa bezproblemowo z obecnymi narzędziami opartymi na Gicie użytkownika.

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>

Odniesienia

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks