AWS - STS Enum

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!

HackTricks'i desteklemenin diğer yolları:

STS

AWS Güvenlik Token Hizmeti (STS) genellikle geçici, sınırlı ayrıcalıklı kimlik bilgileri vermek için tasarlanmıştır. Bu kimlik bilgileri, AWS Kimlik ve Erişim Yönetimi (IAM) kullanıcıları veya doğrulanmış kullanıcılar (federasyon kullanıcıları) için istenebilir.

STS'nin amacının kimlik taklit için kimlik bilgileri vermek olduğu göz önüne alındığında, hizmet, ayrıcalıkları yükseltmek ve kalıcılığı sürdürmek için son derece değerlidir, ancak geniş bir seçenek yelpazesine sahip olmayabilir.

Rol Taklidi

AWS STS tarafından sağlanan AssumeRole eylemi, bir prensibin başka bir prensip için kimlik bilgileri almasına izin veren kritik bir eylemdir, temelde onları taklit eder. Çağrıldığında, belirtilen ARN'ye karşılık gelen bir erişim anahtar kimliği, gizli anahtar ve oturum belirteci ile yanıt verir.

Sızma Testçileri veya Kırmızı Takım üyeleri için bu teknik, ayrıcalık yükseltme için önemlidir (burada ayrıntılı olarak açıklanmıştır burada). Ancak, bu teknik oldukça göze çarpan ve saldırganı hazırlıksız yakalayamayabilir.

Rolü Assume Etme Mantığı

Aynı hesapta bir rolü assume etmek için assume edilecek rol özellikle bir rol ARN'sine izin veriyorsa gibi:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:role/priv-role"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}

Bu durumda priv-role rolünün, o rolü üstlenmesine özellikle izin verilmesine gerek yoktur (bu izin yeterlidir).

Ancak, bir rolün bir hesabın onu üstlenmesine izin veriyorsa, örneğin:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}

Rolü almaya çalışan rolün, onu almak için belirli bir sts:AssumeRole iznine ihtiyacı olacak.

Farklı bir hesaptan bir rolü almaya çalışırsanız, alınan rolün buna izin vermesi gerekir (rol ARN'sini veya harici hesabı belirterek), ve almaya çalışan rolün diğerini almak için izinlere sahip OLMASI GEREKİR (bu durumda alınan rol bir ARN belirtse bile bu isteğe bağlı değildir).

Numaralandırma

# Get basic info of the creds
aws sts get-caller-identity
aws sts get-access-key-info --access-key-id <AccessKeyID>

# Get CLI a session token with current creds
## Using CLI creds
## You cannot get session creds using session creds
aws sts get-session-token
## MFA
aws sts get-session-token --serial-number <arn_device> --token-code <otp_code>

İst Privileges

Aşağıdaki sayfada yetkileri yükseltmek için STS izinlerini kötüye kullanma yöntemlerini kontrol edebilirsiniz:

AWS - STS Privesc

Saldırı Sonrası İşlemler

AWS - STS Post Exploitation

Kalıcılık

AWS - STS Persistence

Referanslar

Sıfırdan kahraman olana kadar AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'i desteklemenin diğer yolları:

Last updated