Translated ['', 'src/pentesting-cloud/aws-security/aws-privilege-escalat

This commit is contained in:
Translator
2025-09-29 22:44:40 +00:00
parent 8d06954c4f
commit 9705583f21
2 changed files with 42 additions and 45 deletions

View File

@@ -1,4 +1,4 @@
# AWS - STS Post Explotación
# AWS - STS Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
@@ -10,14 +10,14 @@ Para más información:
../aws-services/aws-iam-enum.md
{{#endref}}
### De Credenciales IAM a Consola
### From IAM Creds to Console
Si has logrado obtener algunas credenciales IAM, podrías estar interesado en **acceder a la consola web** utilizando las siguientes herramientas.\
Ten en cuenta que el usuario/rol debe tener el permiso **`sts:GetFederationToken`**.
Si has logrado obtener algunas IAM credentials, quizá te interese **acceder al web console** usando las siguientes herramientas.\
Ten en cuenta que el user/role debe tener el permiso **`sts:GetFederationToken`**.
#### Script personalizado
El siguiente script utilizará el perfil predeterminado y una ubicación predeterminada de AWS (no gov y no cn) para darte una URL firmada que puedes usar para iniciar sesión en la consola web:
El siguiente script usará el default profile y una ubicación por defecto de AWS (no gov y no cn) para proporcionarte una signed URL que puedes usar para iniciar sesión en el web console:
```bash
# Get federated creds (you must indicate a policy or they won't have any perms)
## Even if you don't have Admin access you can indicate that policy to make sure you get all your privileges
@@ -64,11 +64,11 @@ pip install aws-consoler
aws_consoler [params...] #This will generate a link to login into the console
```
> [!WARNING]
> Asegúrese de que el usuario IAM tenga permiso `sts:GetFederationToken`, o proporcione un rol para asumir.
> Asegúrate de que el usuario IAM tenga el permiso `sts:GetFederationToken`, o proporciona un rol para asumir.
#### aws-vault
[**aws-vault**](https://github.com/99designs/aws-vault) es una herramienta para almacenar y acceder de forma segura a las credenciales de AWS en un entorno de desarrollo.
[**aws-vault**](https://github.com/99designs/aws-vault) es una herramienta para almacenar y acceder de forma segura a credenciales de AWS en un entorno de desarrollo.
```bash
aws-vault list
aws-vault exec jonsmith -- aws s3 ls # Execute aws cli with jonsmith creds
@@ -79,7 +79,7 @@ aws-vault login jonsmith # Open a browser logged as jonsmith
### **Eludir restricciones de User-Agent desde Python**
Si hay una **restricción para realizar ciertas acciones basadas en el user agent** utilizado (como restringir el uso de la biblioteca python boto3 según el user agent), es posible usar la técnica anterior para **conectarse a la consola web a través de un navegador**, o podrías **modificar directamente el user-agent de boto3** haciendo:
Si existe una **restricción para realizar ciertas acciones en función del User-Agent** utilizado (como restringir el uso de la librería python boto3 según el User-Agent) es posible usar la técnica anterior para **conectarte a la web console mediante un navegador**, o puedes directamente **modificar el user-agent de boto3** haciendo:
```bash
# Shared by ex16x41
# Create a client
@@ -92,4 +92,14 @@ client.meta.events.register( 'before-call.secretsmanager.GetSecretValue', lambda
# Perform the action
response = client.get_secret_value(SecretId="flag_secret") print(response['SecretString'])
```
### **`sts:GetFederationToken`**
Con este permiso es posible crear una identidad federada para el usuario que lo ejecuta, limitada a los permisos que tiene ese usuario.
```bash
aws sts get-federation-token --name <username>
```
El token devuelto por sts:GetFederationToken pertenece a la identidad federada del usuario que realiza la llamada, pero con permisos restringidos. Incluso si el usuario tiene derechos de administrador, ciertas acciones, como listar IAM users o attaching policies, no pueden realizarse a través del token federado.
Además, este método es algo más sigiloso, ya que el usuario federado no aparece en el AWS Portal; solo puede observarse a través de CloudTrail logs o herramientas de monitorización.
{{#include ../../../banners/hacktricks-training.md}}