diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation/README.md index 31d1cb8cd..13b081fc0 100644 --- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation/README.md +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation/README.md @@ -4,20 +4,19 @@ ## STS -Für weitere Informationen: +Weitere Informationen: {{#ref}} ../../aws-services/aws-iam-enum.md {{#endref}} -### Von IAM Creds zur Console +### From IAM Creds to Console -Wenn Sie IAM credentials erlangen konnten, könnten Sie daran interessiert sein, die **web console** mit den folgenden Tools zu verwenden.\ -Beachten Sie, dass der user/role die Berechtigung **`sts:GetFederationToken`** besitzen muss. +Wenn du einige IAM-Zugangsdaten erlangt hast, könntest du daran interessiert sein, die **web console** mit den folgenden Tools zu betreten. Beachte, dass der Benutzer/die Rolle die Berechtigung **`sts:GetFederationToken`** haben muss. -#### Benutzerdefiniertes Skript +#### Eigenes Script -Das folgende Skript verwendet das default profile und eine Standard-AWS-Region (nicht gov und nicht cn), um Ihnen eine signierte URL zu geben, die Sie zur Anmeldung in der web console verwenden können: +Das folgende Script verwendet das Standardprofil und einen standardmäßigen AWS-Standort (nicht gov und nicht cn), um dir eine signierte URL zu geben, mit der du dich in die web console einloggen kannst: ```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 @@ -55,7 +54,7 @@ echo -n "https://signin.aws.amazon.com/federation?Action=login&Issuer=example.co ``` #### aws_consoler -Sie können **einen Link zur Webkonsole generieren** mit [https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler). +Sie können mit [https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler) **einen Web-Console-Link generieren**. ```bash cd /tmp python3 -m venv env @@ -64,22 +63,26 @@ pip install aws-consoler aws_consoler [params...] #This will generate a link to login into the console ``` > [!WARNING] -> Stellen Sie sicher, dass der IAM-Benutzer die Berechtigung `sts:GetFederationToken` hat oder stellen Sie eine Rolle bereit, die übernommen werden kann. +> Stellen Sie sicher, dass der IAM-Benutzer die Berechtigung `sts:GetFederationToken` hat, oder stellen Sie eine Rolle zum Übernehmen bereit. #### aws-vault -[**aws-vault**](https://github.com/99designs/aws-vault) ist ein Tool, um AWS-Anmeldeinformationen in einer Entwicklungsumgebung sicher zu speichern und darauf zuzugreifen. +[**aws-vault**](https://github.com/99designs/aws-vault) ist ein Tool, um AWS credentials in einer Entwicklungsumgebung sicher zu speichern und darauf zuzugreifen. ```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] -> Du kannst auch **aws-vault** verwenden, um eine **Browser-Console-Session** zu erhalten +> Sie können auch **aws-vault** verwenden, um eine **Browser-Console-Session** zu erhalten -### **Bypass von User-Agent-Einschränkungen in Python** +### Von der Web-Konsole zu IAM Creds -Wenn es eine **Einschränkung gibt, bestimmte Aktionen basierend auf dem User-Agent auszuführen** (z. B. die Einschränkung der Nutzung der python boto3 library basierend auf dem User-Agent), ist es möglich, die vorherige Technik zu verwenden, um sich **über einen Browser mit der Web-Konsole zu verbinden**, oder du könntest direkt den **boto3 user-agent** ändern, indem du Folgendes tust: +Die Browser-Erweiterung **** ist in der Lage, IAM credentials aus dem Netzwerk abzufangen, bevor sie im Speicher des Browsers geschützt werden. + +### **User-Agent-Einschränkungen in Python umgehen** + +Wenn es eine **Einschränkung gibt, bestimmte Aktionen basierend auf dem verwendeten User-Agent** durchzuführen (z. B. die Verwendung der python boto3 library basierend auf dem User-Agent einzuschränken), ist es möglich, die vorherige Technik zu verwenden, um **über einen Browser eine Verbindung zur Web-Konsole herzustellen**, oder Sie können direkt den **boto3 User-Agent** ändern, indem Sie: ```bash # Shared by ex16x41 # Create a client @@ -94,12 +97,12 @@ response = client.get_secret_value(SecretId="flag_secret") print(response['Secre ``` ### **`sts:GetFederationToken`** -Mit dieser Berechtigung ist es möglich, eine federierte Identität für den Benutzer zu erstellen, der sie ausführt, beschränkt auf die Berechtigungen, die dieser Benutzer hat. +Mit dieser Berechtigung ist es möglich, eine föderierte Identität für den ausführenden Benutzer zu erstellen, beschränkt auf die Berechtigungen, die dieser Benutzer hat. ```bash aws sts get-federation-token --name ``` -Das von sts:GetFederationToken zurückgegebene Token gehört zur föderierten Identität des aufrufenden Benutzers, jedoch mit eingeschränkten Berechtigungen. Selbst wenn der Benutzer Administratorrechte hat, können bestimmte Aktionen, wie z. B. das Auflisten von IAM users oder das Anhängen von policies, nicht über das föderierte Token ausgeführt werden. +Das von sts:GetFederationToken zurückgegebene Token gehört zur federated identity des aufrufenden Benutzers, hat jedoch eingeschränkte Berechtigungen. Selbst wenn der Benutzer Administratorrechte besitzt, können bestimmte Aktionen wie das Auflisten von IAM users oder das Anhängen von policies nicht mit dem federated token ausgeführt werden. -Außerdem ist diese Methode etwas unauffälliger, da der föderierte Benutzer im AWS Portal nicht erscheint; er kann nur über CloudTrail logs oder monitoring tools beobachtet werden. +Außerdem ist diese Methode etwas stealthy, da der federated user nicht im AWS Portal erscheint — er kann nur über CloudTrail logs oder Monitoring-Tools beobachtet werden. {{#include ../../../../banners/hacktricks-training.md}}