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

This commit is contained in:
Translator
2026-01-18 11:48:31 +00:00
parent 214b62562d
commit 19bdf75773
@@ -4,7 +4,7 @@
## STS
Daha fazla bilgi için:
For more information:
{{#ref}}
../../aws-services/aws-iam-enum.md
@@ -12,11 +12,12 @@ Daha fazla bilgi için:
### From IAM Creds to Console
Bazı IAM credentials elde ettiyseniz, aşağıdaki araçları kullanarak **web console**'a erişmek isteyebilirsiniz.\ Kullanıcı/rolün **`sts:GetFederationToken`** iznine sahip olması gerektiğini unutmayın.
Eğer bazı IAM kimlik bilgilerini elde etmeyi başardıysanız, aşağıdaki araçları kullanarak web console'a erişmek isteyebilirsiniz.\
Not: kullanıcı/rolün **`sts:GetFederationToken`** iznine sahip olması gerekir.
#### Özel script
#### Custom script
Aşağıdaki script varsayılan profile ve varsayılan bir AWS bölgesini (not gov and not cn) kullanarak web console'a giriş yapmak için kullanabileceğiniz imzalanmış bir URL sağlayacaktır:
Aşağıdaki script, varsayılan profile ve varsayılan bir AWS lokasyonunu (gov ve cn değil) kullanarak web console'a giriş yapmak için kullanabileceğiniz imzalı bir URL verecektir:
```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
[https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler) ile **bir web konsol bağlantısı oluşturabilirsiniz**.
[https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler) ile **web konsolu bağlantısı oluşturabilirsiniz**.
```bash
cd /tmp
python3 -m venv env
@@ -63,22 +64,26 @@ pip install aws-consoler
aws_consoler [params...] #This will generate a link to login into the console
```
> [!WARNING]
> IAM kullanıcısının `sts:GetFederationToken` iznine sahip olduğundan emin olun veya üstlenilecek bir rol sağlayın.
> IAM kullanıcısının `sts:GetFederationToken` iznine sahip olduğundan emin olun veya devralınacak bir rol sağlayın.
#### aws-vault
[**aws-vault**](https://github.com/99designs/aws-vault) geliştirme ortamında AWS kimlik bilgilerini güvenli bir şekilde depolamak ve erişmek için bir araçtır.
[**aws-vault**](https://github.com/99designs/aws-vault) geliştirme ortamında AWS kimlik bilgilerini güvenli bir şekilde saklamak ve erişmek için bir araçtır.
```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]
> Ayrıca **aws-vault** kullanarak bir **tarayıcı konsol oturumu** elde edebilirsiniz
> Ayrıca **aws-vault** kullanarak bir **tarayıcı konsol oturumu** da elde edebilirsiniz
### **Python'dan User-Agent kısıtlamalarını atlama**
### Web Console'dan IAM Creds'e
Eğer kullanılan **User-Agent'a bağlı olarak belirli işlemleri gerçekleştirmeyi kısıtlayan** bir durum varsa (örneğin User-Agent'a göre python boto3 library kullanımını kısıtlamak gibi) önceki tekniği kullanarak **bir tarayıcı üzerinden web konsoluna bağlanmak** mümkün, veya doğrudan **boto3 user-agent**'ını değiştirerek şu şekilde yapabilirsiniz:
Tarayıcı uzantısı **<https://github.com/AI-redteam/clier>**, ağ üzerinden IAM credentials'lerini tarayıcının belleğinde korunmadan önce yakalayabilir.
### **Python'dan User-Agent kısıtlamalarını bypass etme**
Belirli işlemlerin kullanılan User-Agente göre kısıtlandığı durumlarda (ör. User-Agente göre python boto3 library kullanımını kısıtlama), önceki tekniği kullanarak bir browser aracılığıyla web consolea bağlanabilir veya boto3 user-agent'ını doğrudan şu şekilde değiştirebilirsiniz:
```bash
# Shared by ex16x41
# Create a client
@@ -93,12 +98,12 @@ response = client.get_secret_value(SecretId="flag_secret") print(response['Secre
```
### **`sts:GetFederationToken`**
Bu izinle, bunu çalıştıran kullanıcı için, kullanıcının sahip olduğu izinlerle sınırlı olmak üzere bir federe kimlik oluşturmak mümkündür.
Bu izin ile, bunu çalıştıran kullanıcı için, o kullanıcının sahip olduğu izinlerle sınırlı bir federe kimlik oluşturulabilir.
```bash
aws sts get-federation-token --name <username>
```
sts:GetFederationToken tarafından döndürülen token çağıran kullanıcının federasyon kimliğine aittir, ancak izinleri kısıtlıdır. Kullanıcının yönetici hakları olsa bile IAM kullanıcılarını listeleme veya politika iliştirme gibi bazı işlemler federasyon tokenı ile yapılamaz.
sts:GetFederationToken tarafından döndürülen token, çağıran kullanıcının federated identity'sine aittir ancak sınırlı izinlere sahiptir. Kullanıcının administrator hakları olsa bile, IAM kullanıcılarını listeleme veya politika iliştirme gibi bazı işlemler federated token ile gerçekleştirilemez.
Ayrıca, bu yöntem biraz daha gizlidir; çünkü federasyon kullanıcısı AWS Portal'da görünmez, sadece CloudTrail logları veya izleme araçları aracılığıyla gözlemlenebilir.
Ayrıca bu yöntem bir ölçüde daha gizlidir; federated user AWS Portal'da görünmez, yalnızca CloudTrail logları veya izleme araçları aracılığıyla gözlemlenebilir.
{{#include ../../../../banners/hacktricks-training.md}}