AWS - DataPipeline, CodePipeline & CodeCommit Enum

Reading time: 5 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

DataPipeline

AWS Data Pipeline को डेटा के बड़े पैमाने पर पहुंच, रूपांतरण और कुशल स्थानांतरण को सुविधाजनक बनाने के लिए डिज़ाइन किया गया है। यह निम्नलिखित कार्यों को करने की अनुमति देता है:

  1. अपने डेटा तक पहुंचें जहां यह संग्रहीत है: विभिन्न AWS सेवाओं में स्थित डेटा को सहजता से एक्सेस किया जा सकता है।
  2. बड़े पैमाने पर रूपांतरित और संसाधित करें: बड़े पैमाने पर डेटा प्रसंस्करण और रूपांतरण कार्यों को कुशलता से संभाला जाता है।
  3. परिणामों को कुशलता से स्थानांतरित करें: संसाधित डेटा को कई AWS सेवाओं में कुशलता से स्थानांतरित किया जा सकता है, जिसमें शामिल हैं:
  • Amazon S3
  • Amazon RDS
  • Amazon DynamoDB
  • Amazon EMR

आसान शब्दों में, AWS Data Pipeline विभिन्न AWS कंप्यूट और स्टोरेज सेवाओं के बीच डेटा के आंदोलन और प्रसंस्करण को सरल बनाता है, साथ ही ऑन-प्रिमाइसेस डेटा स्रोतों के साथ, निर्दिष्ट अंतराल पर।

Enumeration

bash
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

निम्नलिखित पृष्ठ पर आप datapipeline अनुमतियों का दुरुपयोग करके विशेषाधिकार बढ़ाने के तरीके की जांच कर सकते हैं:

AWS - Datapipeline Privesc

CodePipeline

AWS CodePipeline एक पूरी तरह से प्रबंधित निरंतर वितरण सेवा है जो आपको तेज़ और विश्वसनीय एप्लिकेशन और अवसंरचना अपडेट के लिए अपने रिलीज़ पाइपलाइनों को स्वचालित करने में मदद करती है। CodePipeline आपके रिलीज़ प्रक्रिया के बिल्ड, परीक्षण, और तैनाती चरणों को स्वचालित करता है हर बार जब कोड में परिवर्तन होता है, आपके द्वारा परिभाषित रिलीज़ मॉडल के आधार पर।

Enumeration

bash
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

In the following page you can check how to abuse codepipeline permissions to escalate privileges:

AWS - Codepipeline Privesc

CodeCommit

यह एक संस्करण नियंत्रण सेवा है, जिसे Amazon द्वारा होस्ट और पूरी तरह से प्रबंधित किया जाता है, जिसका उपयोग डेटा (दस्तावेज़, बाइनरी फ़ाइलें, स्रोत कोड) को निजी रूप से संग्रहीत करने और उन्हें क्लाउड में प्रबंधित करने के लिए किया जा सकता है।

यह **उपयोगकर्ता के लिए Git को जानने और अपने स्वयं के स्रोत नियंत्रण प्रणाली का प्रबंधन करने की आवश्यकता को समाप्त करता है या अपनी अवसंरचना को ऊपर या नीचे स्केल करने की चिंता करता है। Codecommit सभी मानक कार्यात्मकताओं का समर्थन करता है जो Git में पाई जा सकती हैं, जिसका अर्थ है कि यह उपयोगकर्ता के वर्तमान Git-आधारित उपकरणों के साथ बिना किसी कठिनाई के काम करता है।

Enumeration

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

संदर्भ

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें