From 8be9eb4b925ea47a92ae1f3e73b7a150d0aec718 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 24 Jun 2025 14:03:29 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/ --- .../aws-iam-roles-anywhere-privesc.md | 42 -------------- .../aws-sts-privesc.md | 55 ++++++++++++++++--- 2 files changed, 47 insertions(+), 50 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 15df2b823..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, AWS dışındaki iş yüklerinin X.509 sertifikalarını kullanarak IAM rollerini üstlenmesine olanak tanır. Ancak, güven politikaları düzgün bir şekilde tanımlanmadığında, ayrıcalık yükseltme için kötüye kullanılabilirler. - -Bu politika, hangi güven temeli veya sertifika özelliklerinin izin verildiği konusunda kısıtlamalar içermemektedir. Sonuç olarak, hesapta bulunan herhangi bir güven temeline bağlı olan herhangi bir sertifika, bu rolü üstlenmek için kullanılabilir. -```json -{ -"Version": "2012-10-17", -"Statement": [ -{ -"Effect": "Allow", -"Principal": { -"Service": "rolesanywhere.amazonaws.com" -}, -"Action": [ -"sts:AssumeRole", -"sts:SetSourceIdentity", -"sts:TagSession" -] -} -] -} - -``` -Privesc için, `aws_signing_helper` https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html adresinden gereklidir. - -Sonra geçerli bir sertifika kullanarak, saldırgan daha yüksek ayrıcalıklı role geçiş yapabilir. -```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 -``` -### Referanslar - -- 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 52b90f1b0..462645ac5 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,11 +27,11 @@ Bir rolü taklit edebilirsiniz: ```bash aws sts assume-role --role-arn $ROLE_ARN --role-session-name sessionname ``` -**Olası Etki:** Rol için Privesc. +**Potansiyel Etki:** Rol için privesc. > [!CAUTION] -> Bu durumda `sts:AssumeRole` izninin **istismar edilecek rolde belirtilmesi gerektiğini** ve saldırganın politikasında olmaması gerektiğini unutmayın.\ -> Bir istisna ile, **farklı bir hesaptan bir rolü üstlenmek için** saldırgan hesabının **aynı zamanda** rol üzerinde **`sts:AssumeRole`** iznine sahip olması **gerekir**. +> Bu durumda, izin `sts:AssumeRole`'un **istismar edilecek rolde belirtilmesi gerektiğini** ve saldırganın politikasında olmaması gerektiğini unutmayın.\ +> Bir istisna ile, **farklı bir hesaptan bir rolü üstlenmek** için saldırgan hesabının **aynı zamanda** rol üzerinde **`sts:AssumeRole`** iznine sahip olması gerekir. ### **`sts:GetFederationToken`** @@ -78,7 +78,7 @@ Bu izne sahip bir güven politikası örneği: ] } ``` -Genel olarak rolü taklit etmek için kimlik bilgileri oluşturmak için şunları kullanabilirsiniz: +Genel olarak, rolü taklit etmek için kimlik bilgileri oluşturmak üzere şunları kullanabilirsiniz: ```bash aws sts assume-role-with-saml --role-arn --principal-arn ``` @@ -86,21 +86,60 @@ Ama **sağlayıcılar** bunu kolaylaştırmak için **kendi araçlarına** sahip ```bash onelogin-aws-assume-role --onelogin-subdomain mettle --onelogin-app-id 283740 --aws-region eu-west-1 -z 3600 ``` -**Olası Etki:** Role yükselme. +**Potansiyel Etki:** Role'e privesc. ### `sts:AssumeRoleWithWebIdentity` -Bu izin, **mobil, web uygulaması, EKS...** içinde bir web kimlik sağlayıcısı ile kimlik doğrulaması yapılmış kullanıcılar için geçici güvenlik kimlik bilgileri seti elde etme izni verir. [Daha fazla bilgi edinin.](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) +Bu izin, **mobil, web uygulaması, EKS...** içinde bir web kimlik sağlayıcısı ile kimlik doğrulaması yapılmış **kullanıcılar için** geçici güvenlik kimlik bilgileri seti elde etme izni verir. [Daha fazla bilgi edinin.](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) -Örneğin, eğer bir **EKS hizmet hesabı** bir **IAM rolünü taklit edebilmesi** gerekiyorsa, **`/var/run/secrets/eks.amazonaws.com/serviceaccount/token`** içinde bir token'a sahip olacak ve rolü üstlenip kimlik bilgilerini elde edebilecektir. +Örneğin, bir **EKS hizmet hesabı** bir **IAM rolünü taklit edebilmesi** gerekiyorsa, **`/var/run/secrets/eks.amazonaws.com/serviceaccount/token`** içinde bir token'a sahip olacak ve rolü **üstlenip kimlik bilgilerini** elde edebilecektir. ```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 ``` -### Federasyon İstismarı +### Federation Abuse {{#ref}} ../aws-basic-information/aws-federation-abuse.md {{#endref}} +### IAM Roles Anywhere Privesc + +AWS IAM RolesAnywhere, AWS dışındaki iş yüklerinin X.509 sertifikalarını kullanarak IAM rollerini üstlenmesine olanak tanır. Ancak, güven politikaları düzgün bir şekilde tanımlanmadığında, ayrıcalık yükseltme için kötüye kullanılabilirler. + +Bu politika, hangi güven kaynağı veya sertifika özelliklerinin izin verildiği konusunda kısıtlamalar içermemektedir. Sonuç olarak, hesapta bulunan herhangi bir güven kaynağına bağlı olan herhangi bir sertifika bu rolü üstlenmek için kullanılabilir. +```json +{ +"Version": "2012-10-17", +"Statement": [ +{ +"Effect": "Allow", +"Principal": { +"Service": "rolesanywhere.amazonaws.com" +}, +"Action": [ +"sts:AssumeRole", +"sts:SetSourceIdentity", +"sts:TagSession" +] +} +] +} + +``` +Privesc için, `aws_signing_helper` https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html adresinden gereklidir. + +Sonra geçerli bir sertifika kullanarak, saldırgan daha yüksek ayrıcalıklı role geçiş yapabilir. +```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 +``` +### Referanslar + +- [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}}