mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['', 'src/pentesting-cloud/aws-security/aws-post-exploitation
This commit is contained in:
+14
-10
@@ -10,14 +10,14 @@ Para más información:
|
|||||||
../../aws-services/aws-iam-enum.md
|
../../aws-services/aws-iam-enum.md
|
||||||
{{#endref}}
|
{{#endref}}
|
||||||
|
|
||||||
### Desde credenciales IAM a la consola
|
### Desde IAM Creds a la consola
|
||||||
|
|
||||||
Si has logrado obtener algunas credenciales IAM puede que te interese **acceder a la consola web** usando las siguientes herramientas.\
|
Si has conseguido obtener algunas credenciales IAM, quizá te interese **acceder a la consola web** usando las siguientes herramientas.\
|
||||||
Ten en cuenta que el usuario/rol debe tener el permiso **`sts:GetFederationToken`**.
|
Ten en cuenta que el usuario/rol debe tener el permiso **`sts:GetFederationToken`**.
|
||||||
|
|
||||||
#### Script personalizado
|
#### Script personalizado
|
||||||
|
|
||||||
El siguiente script usará el perfil por defecto y una ubicación AWS por defecto (no gov y no cn) para proporcionarte una URL firmada que puedes usar para iniciar sesión en la consola web:
|
El siguiente script usará el perfil por defecto y una ubicación AWS por defecto (no gov y no cn) para darte una URL firmada que puedes usar para iniciar sesión en la consola web:
|
||||||
```bash
|
```bash
|
||||||
# Get federated creds (you must indicate a policy or they won't have any perms)
|
# 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
|
## Even if you don't have Admin access you can indicate that policy to make sure you get all your privileges
|
||||||
@@ -64,8 +64,8 @@ pip install aws-consoler
|
|||||||
aws_consoler [params...] #This will generate a link to login into the console
|
aws_consoler [params...] #This will generate a link to login into the console
|
||||||
```
|
```
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> Asegúrese de que el usuario IAM tenga el permiso `sts:GetFederationToken`, o proporcione un role para asumir.
|
> Asegúrate de que el usuario IAM tenga el permiso `sts:GetFederationToken`, o proporciona un rol para asumir.
|
||||||
|
|
||||||
#### aws-vault
|
#### 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 las credenciales de AWS en un entorno de desarrollo.
|
||||||
@@ -75,11 +75,15 @@ aws-vault exec jonsmith -- aws s3 ls # Execute aws cli with jonsmith creds
|
|||||||
aws-vault login jonsmith # Open a browser logged as jonsmith
|
aws-vault login jonsmith # Open a browser logged as jonsmith
|
||||||
```
|
```
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> También puedes usar **aws-vault** para obtener una **browser console session**
|
> También puedes usar **aws-vault** para obtener una **sesión de consola del navegador**
|
||||||
|
|
||||||
|
### Desde la consola web a credenciales IAM
|
||||||
|
|
||||||
|
La extensión del navegador **<https://github.com/AI-redteam/clier>** es capaz de interceptar desde la red credenciales IAM antes de que sean protegidas en la memoria del navegador.
|
||||||
|
|
||||||
### **Evadir restricciones de User-Agent desde Python**
|
### **Evadir restricciones de User-Agent desde Python**
|
||||||
|
|
||||||
Si existe una **restricción para realizar ciertas acciones basada en el user agent** usado (como restringir el uso de la librería python boto3 basada en el user agent) es posible usar la técnica anterior para **conectarse a la web console vía un browser**, o también podrías directamente **modificar el user-agent de boto3** haciendo:
|
Si existe una **restricción para realizar ciertas acciones basada en el user agent** usado (como restringir el uso de python boto3 library en función del user agent) es posible usar la técnica anterior para **conectarse a la consola web vía un navegador**, o se podría directamente **modificar el boto3 user-agent** haciendo:
|
||||||
```bash
|
```bash
|
||||||
# Shared by ex16x41
|
# Shared by ex16x41
|
||||||
# Create a client
|
# Create a client
|
||||||
@@ -94,12 +98,12 @@ response = client.get_secret_value(SecretId="flag_secret") print(response['Secre
|
|||||||
```
|
```
|
||||||
### **`sts:GetFederationToken`**
|
### **`sts:GetFederationToken`**
|
||||||
|
|
||||||
Con este permiso es posible crear una identidad federada para el usuario que lo ejecute, limitada a los permisos que tenga ese usuario.
|
Con este permiso es posible crear una identidad federada para el usuario que la ejecuta, limitada a los permisos que tenga dicho usuario.
|
||||||
```bash
|
```bash
|
||||||
aws sts get-federation-token --name <username>
|
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 usuarios de IAM o adjuntar políticas no pueden realizarse a través del token federado.
|
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 privilegios de administrador, ciertas acciones, como listar usuarios de IAM o adjuntar políticas, no se pueden realizar mediante el 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 mediante los logs de CloudTrail o herramientas de monitorización.
|
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 los logs de CloudTrail o de herramientas de monitorización.
|
||||||
|
|
||||||
{{#include ../../../../banners/hacktricks-training.md}}
|
{{#include ../../../../banners/hacktricks-training.md}}
|
||||||
|
|||||||
Reference in New Issue
Block a user