Translated ['', 'src/pentesting-cloud/aws-security/aws-post-exploitation

This commit is contained in:
Translator
2026-01-18 11:47:54 +00:00
parent e21f201b86
commit bbf0a2afdd

View File

@@ -10,13 +10,14 @@ Para mais informações:
../../aws-services/aws-iam-enum.md
{{#endref}}
### From IAM Creds to Console
### De IAM Creds para Console
Se você conseguiu obter algumas credenciais IAM, pode se interessar em **acessar o web console** usando as ferramentas a seguir. Observe que o user/role deve ter a permissão **`sts:GetFederationToken`**.
Se você conseguiu obter algumas credenciais IAM, talvez esteja interessado em **acessar o web console** usando as seguintes ferramentas.\
Observe que o user/role deve ter a permissão **`sts:GetFederationToken`**.
#### Script personalizado
#### Script customizado
O script a seguir usará o default profile e uma default AWS location (não gov e não cn) para fornecer uma signed URL que você pode usar para fazer login no web console:
O script a seguir usará o default profile e uma localização AWS padrão (não gov e não cn) para lhe fornecer uma URL assinada que você pode usar para fazer login no console web:
```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
@@ -54,7 +55,7 @@ echo -n "https://signin.aws.amazon.com/federation?Action=login&Issuer=example.co
```
#### aws_consoler
Você pode **gerar um link para o console da web** com [https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler).
Você pode **gerar um link para o console web** com [https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler).
```bash
cd /tmp
python3 -m venv env
@@ -63,7 +64,7 @@ pip install aws-consoler
aws_consoler [params...] #This will generate a link to login into the console
```
> [!WARNING]
> Certifique-se de que o usuário IAM tenha permissão `sts:GetFederationToken`, ou forneça uma role para assumir.
> Garanta que o usuário IAM tenha permissão `sts:GetFederationToken`, ou forneça uma role para assumir.
#### aws-vault
@@ -74,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
```
> [!NOTE]
> Você também pode usar **aws-vault** para obter uma **browser console session**
> Você também pode usar **aws-vault** para obter uma **sessão do console do navegador**
### Do Web Console para Credenciais IAM
A extensão do navegador **<https://github.com/AI-redteam/clier>** é capaz de interceptar, na rede, credenciais IAM antes que sejam protegidas na memória do navegador.
### **Bypass User-Agent restrictions from Python**
Se houver uma **restriction to perform certain actions based on the user agent** usada (como restringir o uso da biblioteca python boto3 com base no user agent), é possível usar a técnica anterior para **connect to the web console via a browser**, ou você pode diretamente **modify the boto3 user-agent** fazendo:
Se existir uma **restrição para executar certas ações com base no user agent** usado (por exemplo, restringir o uso da biblioteca python boto3 com base no user agent), é possível usar a técnica anterior para **conectar-se ao web console via um browser**, ou você pode diretamente **modificar o boto3 user-agent** fazendo:
```bash
# Shared by ex16x41
# Create a client
@@ -93,12 +98,12 @@ response = client.get_secret_value(SecretId="flag_secret") print(response['Secre
```
### **`sts:GetFederationToken`**
Com essa permissão é possível criar uma identidade federada para o usuário que a utiliza, limitada às permissões que esse usuário possui.
Com essa permissão é possível criar uma identidade federada para o usuário que a executa, limitada às permissões que esse usuário possui.
```bash
aws sts get-federation-token --name <username>
```
O token retornado por sts:GetFederationToken pertence à identidade federada do usuário que faz a chamada, mas com permissões restritas. Mesmo que o usuário tenha direitos de administrador, certas ações, como listar usuários do IAM ou anexar políticas, não podem ser executadas através do token federado.
O token retornado por sts:GetFederationToken pertence à identidade federada do usuário que efetuou a chamada, mas com permissões restritas. Mesmo que o usuário tenha privilégios de administrador, certas ações, como listar IAM users ou anexar políticas, não podem ser realizadas com o token federado.
Além disso, esse método é um pouco mais discreto, já que o usuário federado não aparece no AWS Portal; ele só pode ser observado através dos logs do CloudTrail ou de ferramentas de monitoramento.
Além disso, esse método é um pouco mais furtivo, já que o usuário federado não aparece no AWS Portal; ele só pode ser observado por meio dos logs do CloudTrail ou por ferramentas de monitoramento.
{{#include ../../../../banners/hacktricks-training.md}}