From e07e692b68c36d3a43e205cc0fefa567f4157814 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 24 Jun 2025 14:03:12 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/ --- .../aws-iam-roles-anywhere-privesc.md | 42 -------------- .../aws-sts-privesc.md | 57 ++++++++++++++++--- 2 files changed, 48 insertions(+), 51 deletions(-) delete mode 100644 src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-roles-anywhere-privesc.md diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-roles-anywhere-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-roles-anywhere-privesc.md deleted file mode 100644 index 158e33cd0..000000000 --- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-roles-anywhere-privesc.md +++ /dev/null @@ -1,42 +0,0 @@ -# AWS - IAM Roles Anywhere Privesc - -{{#include ../../../../banners/hacktricks-training.md}} - -AWS IAM RolesAnywhere omogućava radnim opterećenjima van AWS-a da preuzmu IAM uloge koristeći X.509 sertifikate. Međutim, kada politike poverenja nisu pravilno definisane, mogu se zloupotrebiti za eskalaciju privilegija. - -Ova politika nema ograničenja o tome koji su trust anchor ili atributi sertifikata dozvoljeni. Kao rezultat toga, bilo koji sertifikat povezan sa bilo kojim trust anchor-om u nalogu može se koristiti za preuzimanje ove uloge. -```json -{ -"Version": "2012-10-17", -"Statement": [ -{ -"Effect": "Allow", -"Principal": { -"Service": "rolesanywhere.amazonaws.com" -}, -"Action": [ -"sts:AssumeRole", -"sts:SetSourceIdentity", -"sts:TagSession" -] -} -] -} - -``` -Za privesc, `aws_signing_helper` je potreban sa https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html - -Zatim, koristeći važeći sertifikat, napadač može preći u ulogu sa višim privilegijama. -```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 -``` -### References - -- https://www.ruse.tech/blogs/aws-roles-anywhere-privilege-escalation/ - -{{#include ../../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-sts-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-sts-privesc.md index 3a2c4b99f..446f0b21f 100644 --- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-sts-privesc.md +++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-sts-privesc.md @@ -27,19 +27,19 @@ Možete se pretvarati da ste uloga koja se izvršava: ```bash aws sts assume-role --role-arn $ROLE_ARN --role-session-name sessionname ``` -**Potencijalni Uticaj:** Privesc na ulogu. +**Potential Impact:** Privesc do uloge. > [!CAUTION] > Imajte na umu da u ovom slučaju dozvola `sts:AssumeRole` treba da bude **naznačena u ulozi koju treba zloupotrebiti** i ne u politici koja pripada napadaču.\ -> Sa jednim izuzetkom, da bi se **preuzela uloga iz druge računa**, napadačev račun **takođe treba** da ima **`sts:AssumeRole`** nad ulogom. +> Sa jednim izuzetkom, da bi se **preuzela uloga iz drugog naloga** napadačev nalog **takođe treba** da ima **`sts:AssumeRole`** nad ulogom. ### **`sts:GetFederationToken`** -Sa ovom dozvolom je moguće generisati akreditive za impersonaciju bilo kog korisnika: +Sa ovom dozvolom moguće je generisati akreditive za impersonaciju bilo kog korisnika: ```bash aws sts get-federation-token --name ``` -Ovako se ova dozvola može dati sigurno, bez davanja pristupa za imitaciju drugih korisnika: +Ovo je kako se ova dozvola može dati sigurno bez davanja pristupa za imitaciju drugih korisnika: ```json { "Version": "2012-10-17", @@ -78,11 +78,11 @@ Primer politike poverenja sa ovom dozvolom je: ] } ``` -Da biste generisali akreditive za impersonaciju uloge, generalno možete koristiti nešto poput: +Da biste generisali akreditive za impersonaciju uloge, mogli biste koristiti nešto poput: ```bash aws sts assume-role-with-saml --role-arn --principal-arn ``` -Ali **provajderi** mogu imati **svoje alate** koji olakšavaju ovo, kao što je [onelogin-aws-assume-role](https://github.com/onelogin/onelogin-python-aws-assume-role): +Ali **provajderi** mogu imati **svoje alate** kako bi to olakšali, poput [onelogin-aws-assume-role](https://github.com/onelogin/onelogin-python-aws-assume-role): ```bash onelogin-aws-assume-role --onelogin-subdomain mettle --onelogin-app-id 283740 --aws-region eu-west-1 -z 3600 ``` @@ -90,17 +90,56 @@ onelogin-aws-assume-role --onelogin-subdomain mettle --onelogin-app-id 283740 -- ### `sts:AssumeRoleWithWebIdentity` -Ova dozvola omogućava dobijanje skupa privremenih bezbednosnih akreditiva za **korisnike koji su autentifikovani u mobilnoj, web aplikaciji, EKS...** sa provajderom web identiteta. [Saznajte više ovde.](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) +Ova dozvola omogućava dobijanje skupa privremenih bezbednosnih kredencijala za **korisnike koji su autentifikovani u mobilnoj, web aplikaciji, EKS...** sa provajderom web identiteta. [Saznajte više ovde.](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) -Na primer, ako **EKS servisni nalog** treba da **imitira IAM ulogu**, imaće token u **`/var/run/secrets/eks.amazonaws.com/serviceaccount/token`** i može **da preuzme ulogu i dobije akreditive** radeći nešto poput: +Na primer, ako **EKS servisni nalog** treba da može da **imitira IAM ulogu**, imaće token u **`/var/run/secrets/eks.amazonaws.com/serviceaccount/token`** i može **da preuzme ulogu i dobije kredencijale** radeći nešto poput: ```bash aws sts assume-role-with-web-identity --role-arn arn:aws:iam::123456789098:role/ --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 ``` -### Zloupotreba federacije +### Federation Abuse {{#ref}} ../aws-basic-information/aws-federation-abuse.md {{#endref}} +### IAM Roles Anywhere Privesc + +AWS IAM RolesAnywhere omogućava radnim opterećenjima van AWS-a da preuzmu IAM uloge koristeći X.509 sertifikate. Međutim, kada politike poverenja nisu pravilno definisane, mogu se zloupotrebiti za eskalaciju privilegija. + +Ova politika nema ograničenja o tome koji su trust anchor ili atributi sertifikata dozvoljeni. Kao rezultat, svaki sertifikat povezan sa bilo kojim trust anchor u nalogu može se koristiti za preuzimanje ove uloge. +```json +{ +"Version": "2012-10-17", +"Statement": [ +{ +"Effect": "Allow", +"Principal": { +"Service": "rolesanywhere.amazonaws.com" +}, +"Action": [ +"sts:AssumeRole", +"sts:SetSourceIdentity", +"sts:TagSession" +] +} +] +} + +``` +Za privesc, `aws_signing_helper` je potreban sa https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html + +Zatim, koristeći važeći sertifikat, napadač može preći u ulogu sa višim privilegijama. +```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 +``` +### References + +- [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}}