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

This commit is contained in:
Translator
2025-10-04 09:19:25 +00:00
parent ebe804b979
commit 469870e6de
2 changed files with 48 additions and 13 deletions
@@ -4,7 +4,7 @@
## Secrets Manager
Daha fazla bilgi için bakınız:
Daha fazla bilgi için bakın:
{{#ref}}
../aws-services/aws-secrets-manager-enum.md
@@ -12,14 +12,14 @@ Daha fazla bilgi için bakınız:
### Read Secrets
The **secrets themself are sensitive information**, [check the privesc page](../aws-privilege-escalation/aws-secrets-manager-privesc.md) onları nasıl okuyacağınızı öğrenmek için.
**secrets kendileri hassas bilgilerdir**, nasıl okunacağını öğrenmek için [privesc sayfasına bakın](../aws-privilege-escalation/aws-secrets-manager-privesc.md).
### DoS Change Secret Value
secret'in değerini değiştirerek, **bu değere bağımlı tüm sistemleri DoS edebilirsiniz.**
secret değerini değiştirerek, o değere bağımlı tüm sistemleri **DoS** edebilirsiniz.
> [!WARNING]
> Önceki değerlerin de saklandığını unutmayın; bu yüzden önceki değere geri dönmek kolaydır.
> Önceki değerlerin de saklandığını unutmayın, bu yüzden önceki değere geri dönmek kolaydır.
```bash
# Requires permission secretsmanager:PutSecretValue
aws secretsmanager put-secret-value \
@@ -28,11 +28,11 @@ aws secretsmanager put-secret-value \
```
### DoS Change KMS key
Eğer saldırganın secretsmanager:UpdateSecret izni varsa, secret'i saldırgana ait bir KMS key kullanacak şekilde yapılandırabilir. Bu anahtar başlangıçta herkesin erişip kullanabileceği şekilde ayarlanmıştır; bu nedenle secret'i yeni anahtar ile güncellemek mümkündür. Anahtar erişilebilir olmasaydı, secret güncellenemezdi.
Eğer saldırganın secretsmanager:UpdateSecret izni varsa, secret'i saldırgana ait bir KMS key kullanacak şekilde yapılandırabilir. Bu KMS key başlangıçta herkesin erişip kullanabileceği şekilde ayarlanmıştır, bu yüzden secret'i yeni anahtarla güncellemek mümkündür. KMS key erişilebilir olmasaydı, secret güncellenemezdi.
Secret için anahtar değiştirildikten sonra, saldırgan kendi anahtarının yapılandırmasını yalnızca kendisinin erişebileceği şekilde değiştirir. Böylece secret'in sonraki sürümleri yeni anahtar ile şifrelenir ve anahtara erişim olmadığından secret'i elde etme yeteneği kaybolur.
Secret için anahtarı değiştirdikten sonra saldırgan, KMS key'in yapılandırmasını yalnızca kendisinin erişebileceği şekilde değiştirir. Böylece secret'in sonraki sürümleri yeni KMS key ile şifrelenir ve anahtara erişim olmadığından secret'i geri alma yeteneği kaybolur.
Şunu belirtmek önemlidir ki bu erişilemezlik, secret içeriği değiştikten sonra oluşan sonraki sürümlerde meydana gelecektir; çünkü mevcut sürüm hâlen orijinal KMS key ile şifrelenmiştir.
Bu erişilemezliğin yalnızca secret içeriği değiştikten sonraki sürümlerde meydana geleceğini not etmek önemlidir; çünkü mevcut sürüm hâlâ orijinal KMS key ile şifrelenmiş durumdadır.
```bash
aws secretsmanager update-secret \
--secret-id MyTestSecret \
@@ -40,10 +40,42 @@ aws secretsmanager update-secret \
```
### DoS Secret Silme
Bir secret'i silmek için gereken minimum gün sayısı 7'dir
Bir secret'i silmek için minimum süre 7 gündür.
```bash
aws secretsmanager delete-secret \
--secret-id MyTestSecret \
--recovery-window-in-days 7
```
## secretsmanager:RestoreSecret
Bir secret'i geri yüklemek mümkündür; bu, silinmek üzere planlanmış secret'ların geri yüklenmesine olanak tanır, çünkü secret'lar için minimum silme süresi 7 gün ve maksimum 30 gündür. secretsmanager:GetSecretValue izniyle birlikte, bu secret'ların içeriklerini almak mümkün olur.
Silinme işlemi devam eden bir secret'ı kurtarmak için aşağıdaki komutu kullanabilirsiniz:
```bash
aws secretsmanager restore-secret \
--secret-id <Secret_Name>
```
## secretsmanager:DeleteResourcePolicy
Bu eylem, bir secret'e kimlerin erişebileceğini kontrol eden resource policy'yi silmeye izin verir. Eğer resource policy erişimi belirli bir kullanıcı grubuna verecek şekilde yapılandırılmışsa, bu bir DoS'e yol açabilir.
Resource policy'yi silmek için:
```bash
aws secretsmanager delete-resource-policy \
--secret-id <Secret_Name>
```
## secretsmanager:UpdateSecretVersionStage
Bir secret'in durumları, secret sürümlerini yönetmek için kullanılır. AWSCURRENT, uygulamaların kullandığı aktif sürümü işaret eder; AWSPREVIOUS, gerekirse geri dönebileceğiniz önceki sürümü saklar; AWSPENDING ise rotation sürecinde yeni bir sürümü aktif yapmadan önce hazırlamak ve doğrulamak için kullanılır.
Uygulamalar her zaman AWSCURRENT etiketli sürümü okur. Birisi o etiketi yanlış sürüme taşırsa, uygulamalar geçersiz kimlik bilgilerini kullanır ve başarısız olabilir.
AWSPREVIOUS otomatik olarak kullanılmaz. Ancak, AWSCURRENT kaldırılır veya yanlış atanırsa, her şey hâlâ önceki sürümle çalışıyor gibi görünebilir.
```bash
aws secretsmanager update-secret-version-stage \
--secret-id <your-secret-name-or-arn> \
--version-stage AWSCURRENT \
--move-to-version-id <target-version-id> \
--remove-from-version-id <previous-version-id>
```
{{#include ../../../banners/hacktricks-training.md}}
@@ -4,7 +4,7 @@
## Secrets Manager
Secrets manager hakkında daha fazla bilgi için kontrol edin:
Secrets Manager hakkında daha fazla bilgi için bakınız:
{{#ref}}
../aws-services/aws-secrets-manager-enum.md
@@ -12,21 +12,24 @@ Secrets manager hakkında daha fazla bilgi için kontrol edin:
### `secretsmanager:GetSecretValue`
Bu izne sahip bir saldırgan, AWS **Secretsmanager** içindeki bir **sırın kaydedilmiş değerini** alabilir.
Bu izne sahip bir attacker, AWS **Secretsmanager** içinde **bir secret içindeki kaydedilmiş değeri** alabilir.
```bash
aws secretsmanager get-secret-value --secret-id <secret_name> # Get value
```
**Potansiyel Etki:** AWS secrets manager hizmetinde yüksek hassasiyete sahip verilere erişim.
**Potential Impact:** AWS secrets manager service içinde yüksek hassasiyetli verilere erişim.
> [!WARNING]
> Note that even with the `secretsmanager:BatchGetSecretValue` permission an attacker would also need `secretsmanager:GetSecretValue` to retrieve the sensitive secrets.
### `secretsmanager:GetResourcePolicy`, `secretsmanager:PutResourcePolicy`, (`secretsmanager:ListSecrets`)
Önceki izinlerle, **başka ilkeler/hesaplar (hatta harici)** için **gizli** verilere erişim sağlamak mümkündür. KMS anahtarı ile şifrelenmiş **gizli verileri okumak** için kullanıcının ayrıca **KMS anahtarına erişimi** olması gerektiğini unutmayın (daha fazla bilgi için [KMS Enum sayfasına](../aws-services/aws-kms-enum.md) bakın).
Önceki izinlerle **diğer principals/hesaplara (hatta dışarıdaki hesaplara)** **secret**'e erişim verme imkânı vardır. Bir KMS anahtarıyla şifrelenmiş **secret'leri okumak** için kullanıcının ayrıca **KMS anahtarına erişimi** olması gerektiğini unutmayın (daha fazla bilgi için [KMS Enum page](../aws-services/aws-kms-enum.md)).
```bash
aws secretsmanager list-secrets
aws secretsmanager get-resource-policy --secret-id <secret_name>
aws secretsmanager put-resource-policy --secret-id <secret_name> --resource-policy file:///tmp/policy.json
```
policy.json:
Çevirmem için policy.json içeriğini gönderin — şu anda çevrilecek bir metin yok.
```json
{
"Version": "2012-10-17",