iToverDose/Yazılım· 5 TEMMUZ 2026 · 12:04

AWS Secrets Manager Güvenlik Denetimi: Kritik Verileri Keşfetme Yöntemleri

Bulut ortamlarında güvenlik testi yaparken en kritik adımlardan biri kimlik doğrulama ve izinlerin envanterini çıkarmaktır. AWS Secrets Manager kullanarak hassas verilerin nasıl enumeration yöntemiyle bulunduğunu ve risklerin nasıl tespit edildiğini uygulamalı olarak öğrenin.

DEV Community3 dk okuma0 Yorumlar

Bulut tabanlı sistemlerde gerçekleştirilen güvenlik denetimlerinde enumerasyon (keşif) aşaması, tehdit avcılarının ve kırmızı takım uzmanlarının olmazsa olmazıdır. Bu süreçte, mevcut izinlerin haritasının çıkarılması, saldırı yüzeyinin tanımlanması ve hassas verilerin yanlış yapılandırılmış olup olmadığının tespiti kritik önem taşır. Bu rehberde, AWS ortamında Secrets Manager servisi üzerinden nasıl kimlik doğrulama ve gizli bilgi enumeration işlemleri gerçekleştirildiği uygulamalı olarak gösterilmektedir.

AWS CLI aracılığıyla kimlik doğrulama kontrollerinden başlayarak, gizli bilgilerin listelenmesine ve hatta Base64 kodlu flag değerlerinin çözülmesine kadar olan adımlar detaylı şekilde incelenecektir.

AWS Ortamında İlk Kimlik Doğrulama Kontrolleri

Her bulut güvenlik değerlendirmesinin temelinde, mevcut ortamdaki kimliklerin ve yetkilerin net bir şekilde anlaşılması yatar. Bu süreçte, önceden ele geçirilmiş AWS erişim anahtarları kullanılarak ilk adımda Security Token Service (STS) üzerinden geçerli kimlik bilgileri sorgulanır.

aws sts get-caller-identity --profile SecretsManagerEnum

Komutun çıktısı aşağıdaki JSON formatında geri döner ve bu sayede mevcut kullanıcının kimlik bilgilerine ulaşılır:

{
  "UserId": "AIDAQGYBPW3JHDS5K4A75",
  "Account": "014498641618",
  "Arn": "arn:aws:iam::014498641618:user/Julie"
}

Bu çıktı, erişim sağlanan kimlik bilgilerinin Julie adlı bir IAM kullanıcısına ait olduğunu ve hesap numarasının 014498641618 olduğunu doğrulamaktadır. Bu aşama, saldırganın ya da denetçinin, hangi hesap ve kimlik üzerinden hareket ettiğini net bir şekilde ortaya koyar.

Kullanıcı Yetkilerinin Ayrıntılı İncelenmesi

Kimlik doğrulamasının ardından, sıra kullanıcının sahip olduğu izinlerin ayrıntılı şekilde analiz edilmesine gelir. Bu aşamada, doğrudan kullanıcıya bağlı olan inline politikalar sorgulanır.

aws iam list-user-policies --user-name Julie --profile SecretsManagerEnum

Komutun çıktısı, kullanıcıya bağlı olarak yalnızca bir adet inline politika bulunduğunu gösterir:

{
  "PolicyNames": ["AllowReadSecretsManager"]
}

Bu politikanın detaylarını incelemek için, ilgili politika dokümanı çekilir:

aws iam get-user-policy --user-name Julie --policy-name AllowReadSecretsManager --profile SecretsManagerEnum

Politikanın içeriği aşağıdaki gibi olup, toplam üç farklı izin grubu içermektedir:

{
  "PolicyDocument": {
    "Version": "2012-10-17",
    "Statement": [
      {
        "Sid": "AllowIAMActions",
        "Effect": "Allow",
        "Action": [
          "iam:ListPolicies",
          "iam:ListPolicyVersions",
          "iam:GetPolicy",
          "iam:GetUser",
          "iam:GetUserPolicy",
          "iam:ListUserPolicies"
        ],
        "Resource": "*"
      },
      {
        "Sid": "AllowSecretsManagerActions",
        "Effect": "Allow",
        "Action": [
          "secretsmanager:GetSecretValue",
          "secretsmanager:ListSecretVersionIds",
          "secretsmanager:GetResourcePolicy",
          "secretsmanager:DescribeSecret"
        ],
        "Resource": [
          "arn:aws:secretsmanager:us-east-1:014498641618:secret:sm-enumerate-password*",
          "arn:aws:secretsmanager:us-east-1:014498641618:secret:sm-enumerate-api-key*"
        ]
      },
      {
        "Sid": "AllowListSecrets",
        "Effect": "Allow",
        "Action": ["secretsmanager:ListSecrets"],
        "Resource": "*"
      }
    ]
  }
}

Bu politika analiz edildiğinde şu önemli noktalar öne çıkmaktadır:

  • AllowIAMActions: Kullanıcıya, IAM profilleri ve politikalar üzerinde salt okunur erişim yetkisi verir. Bu, kullanıcının mevcut IAM yapısını inceleyebileceği anlamına gelir.
  • AllowListSecrets: Secrets Manager servisinde bulunan tüm gizli bilgilerin metadata bilgilerinin listelenmesine olanak tanır. Bu yetki, kaynak yolu ne olursa olsun tüm gizli bilgilerin keşfedilebileceğini gösterir.
  • AllowSecretsManagerActions: Sadece belirli öneklerle başlayan gizli bilgilerin (sm-enumerate-password* ve sm-enumerate-api-key*) gerçek değerlerine erişim sağlar. Diğer gizli bilgilerde bu izin geçerli değildir.

AWS Secrets Manager Üzerinde Gizli Bilgilerin Keşfi

Yapılan analiz sonucu, secretsmanager:ListSecrets yetkisinin global olarak verildiği anlaşılmıştır. Bu sayede, kullanıcı mevcut AWS bölgesinde bulunan tüm gizli bilgilerin listesini çıkarabilir.

aws secretsmanager list-secrets --profile SecretsManagerEnum

Komutun çıktısı, IAM politikasında belirtilen öneklerle eşleşen iki adet gizli bilgi olduğunu ortaya koyar:

  • Gizli Bilgi Adı: sm-enumerate-password

ARN: arn:aws:secretsmanager:us-east-1:014498641618:secret:sm-enumerate-password-cSojGz

  • Gizli Bilgi Adı: sm-enumerate-api-key

ARN: arn:aws:secretsmanager:us-east-1:014498641618:secret:sm-enumerate-api-key-zShLNz

Hassas Verilerin Elde Edilmesi ve Flag Değerinin Çözülmesi

Politikada açıkça belirtilen izinler sayesinde, yukarıda listelenen gizli bilgilerin gerçek değerlerine doğrudan erişim mümkündür. Öncelikle, parola içeren gizli bilgi sorgulanır.

aws secretsmanager get-secret-value --secret-id sm-enumerate-password --profile SecretsManagerEnum

Komutun çıktısı aşağıdaki gibidir:

{
  "ARN": "arn:aws:secretsmanager:us-east-1:014498641618:secret:sm-enumerate-password-cSojGz",
  "Name": "sm-enumerate-password",
  JSON'larla birlikte gizli bilgi dizesi döner:
  "SecretString": "{\"password\":\"cybr-labs-are-super-fun-2211\"}"
}

Ardından, API anahtarı içeren gizli bilgi sorgulanır:

aws secretsmanager get-secret-value --secret-id sm-enumerate-api-key --profile SecretsManagerEnum

Bu sorgunun çıktısında gizli bilgi dizesi Base64 ile kodlanmış olarak yer alır:

{
  "ARN": "arn:aws:secretsmanager:us-east-1:014498641618:secret:sm-enumerate-api-key-zShLNz",
  "Name": "sm-enumerate-api-key",
  "SecretString": "{\"secret-api-key\":\"Y3lici1sYWJzLWZha2UtYXBpLWtleS0xMTIy\"}"
}

Base64 Kodunun Çözülmesi

API anahtarı olarak gizlenen Base64 kodlu dizeyi çözmek için Linux ortamında yerleşik olarak bulunan base64 aracı kullanılır:

echo "Y3lici1sYWJzLWZha2UtYXBpLWtleS0xMTIy" | base64 -d

Bu komutun çıktısı, flag değerini ortaya çıkarır:

cybr-labs-fake-api-key-1122

Bu uygulama, AWS Secrets Manager servisinde gerçekleştirilen yetki kontrollerinin ve gizli bilgi enumeration işlemlerinin nasıl yapılabileceğini pratik olarak göstermektedir. Bu yöntemler, hem güvenlik uzmanları hem de kırmızı takım ekipleri tarafından, bulut ortamlarının güvenlik açıklarını tespit etmek amacıyla yaygın şekilde kullanılmaktadır.

Yapay zeka özeti

AWS Secrets Manager kullanarak gizli bilgilerin nasıl enumeration yöntemiyle bulunduğunu ve Base64 flag değerlerinin nasıl çözüldüğünü uygulamalı olarak öğrenin.

Yorumlar

00
YORUM BIRAK
ID #8V28CC

0 / 1200 KARAKTER

İnsan doğrulaması

9 + 5 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.