mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['', 'src/pentesting-cloud/aws-security/aws-post-exploitation
This commit is contained in:
+40
-8
@@ -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}}
|
||||
|
||||
+8
-5
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user