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

This commit is contained in:
Translator
2026-01-18 11:48:10 +00:00
parent 72d6e64bea
commit a49b625ab3
@@ -4,20 +4,20 @@
## STS
Więcej informacji:
For more information:
{{#ref}}
../../aws-services/aws-iam-enum.md
{{#endref}}
### From IAM Creds to Console
### Z poświadczeń IAM do konsoli
Jeśli udało ci się pozyskać poświadczenia IAM, możesz być zainteresowany **accessing the web console** używając następujących narzędzi.\
Zwróć uwa, że użytkownik/rola musi mieć uprawnienie **`sts:GetFederationToken`**.
Jeśli udało ci się zdobyć poświadczenia IAM możesz być zainteresowany **uzyskaniem dostępu do web console** za pomocą poniższych narzędzi.\
Zauważ, że użytkownik/rola musi mieć uprawnienie **`sts:GetFederationToken`**.
#### Własny skrypt
Poniższy skrypt użyje domyślnego profilu i domyślnej lokalizacji AWS (not gov and not cn), aby wygenerować podpisany URL, którego możesz użyć, aby zalogować się w web console:
Poniższy skrypt użyje domyślnego profilu i domyślnej lokalizacji AWS (not gov and not cn) aby wygenerować podpisany URL, którego możesz użyć do zalogowania się w konsoli webowej:
```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,22 +64,26 @@ pip install aws-consoler
aws_consoler [params...] #This will generate a link to login into the console
```
> [!WARNING]
> Upewnij się, że użytkownik IAM ma uprawnienie `sts:GetFederationToken`, lub udostępnij rolę do objęcia.
> Upewnij się, że użytkownik IAM ma uprawnienie `sts:GetFederationToken`, lub zapewnij rolę do assume.
#### aws-vault
[**aws-vault**](https://github.com/99designs/aws-vault) jest narzędziem do bezpiecznego przechowywania i uzyskiwania dostępu do poświadczeń AWS w środowisku deweloperskim.
[**aws-vault**](https://github.com/99designs/aws-vault) jest narzędziem do bezpiecznego przechowywania i uzyskiwania dostępu do AWS credentials w środowisku deweloperskim.
```bash
aws-vault list
aws-vault exec jonsmith -- aws s3 ls # Execute aws cli with jonsmith creds
aws-vault login jonsmith # Open a browser logged as jonsmith
```
> [!NOTE]
> Możesz także użyć **aws-vault** aby uzyskać **sesję konsoli w przeglądarce**
> Możesz również użyć **aws-vault** aby uzyskać **browser console session**
### **Ominięcie ograniczeń User-Agent w Pythonie**
### From Web Console to IAM Creds
Jeżeli istnieje ograniczenie wykonywania niektórych akcji w oparciu o używany user agent (np. ograniczające użycie biblioteki python boto3 na podstawie user agenta), można użyć poprzedniej techniki, aby połączyć się z web console za pomocą przeglądarki, lub można bezpośrednio zmodyfikować boto3 user-agent przez wykonanie:
The browser extension **<https://github.com/AI-redteam/clier>** is capable of intercepting from the network IAM credentials before they are protected in the memory of the browser.
### **Bypass User-Agent restrictions from Python**
If there is a **restriction to perform certain actions based on the user agent used (like restricting the use of python boto3 library based on the user agent) it's possible to use the previous technique to **connect to the web console via a browser**, or you could directly **modify the boto3 user-agent** by doing:
```bash
# Shared by ex16x41
# Create a client
@@ -94,12 +98,12 @@ response = client.get_secret_value(SecretId="flag_secret") print(response['Secre
```
### **`sts:GetFederationToken`**
Dzięki temu uprawnieniu możliwe jest utworzenie tożsamości federacyjnej dla użytkownika, który je wywołuje, ograniczonej do uprawnień, jakie posiada ten użytkownik.
Dzięki temu uprawnieniu można utworz tożsamość federacyjną dla użytkownika ją wykonującego, ograniczoną do uprawnień, które ten użytkownik posiada.
```bash
aws sts get-federation-token --name <username>
```
Token zwrócony przez sts:GetFederationToken należy do tożsamości federowanej wywołującego użytkownika, ale z ograniczonymi uprawnieniami. Nawet jeśli użytkownik ma uprawnienia administratora, niektórych operacji, takich jak wyświetlanie listy użytkowników IAM czy dołączanie polityk, nie można wykonać za pomocą tokena federowanego.
Token zwrócony przez sts:GetFederationToken należy do tożsamości federowanej wywołującego użytkownika, ale ma ograniczone uprawnienia. Nawet jeśli użytkownik ma uprawnienia administratora, pewne operacje, takie jak listowanie użytkowników IAM czy dołączanie polityk, nie mogą być wykonane przy użyciu tokena federowanego.
Dodatkowo ta metoda jest nieco bardziej dyskretna, ponieważ użytkownik federowany nie pojawia się w AWS Portal — można go obserwować jedynie poprzez logi CloudTrail lub narzędzia monitorujące.
Dodatkowo ta metoda jest nieco bardziej dyskretna, ponieważ użytkownik federowany nie pojawia się w AWS Portal — można go zaobserwować jedynie poprzez logi CloudTrail lub narzędzia monitorujące.
{{#include ../../../../banners/hacktricks-training.md}}