AWS - STS Enum

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

STS

AWS Security Token Service (STS), genellikle geçici, sınırlı yetkilendirme kimlik bilgileri vermek için tasarlanmıştır. Bu kimlik bilgileri, AWS Kimlik ve Erişim Yönetimi (IAM) kullanıcıları veya kimlik doğrulaması yapılmış kullanıcılar (federasyon kullanıcıları) için istenebilir.

STS'nin amacı, kimlik taklit etmek için kimlik bilgileri vermek olduğundan, hizmet, yetkileri yükseltme ve kalıcılığı sürdürme açısından son derece değerlidir, ancak geniş bir seçenek yelpazesi olmayabilir.

Rol Taklit Etme

AWS STS tarafından sağlanan AssumeRole eylemi, birincil birincilin kimlik bilgilerini edinmesine izin vererek, aslında onları taklit etmesine olanak tanır. Çağrıldığında, belirtilen ARN'ye karşılık gelen bir erişim anahtar kimliği, gizli anahtar ve oturum belirteciyle 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 (ayrıntılar burada açıklanmıştır). Bununla birlikte, bu teknik oldukça göze çarpan bir teknik olup saldırganı şüphelendirebilir.

Rol Taklit Etme Mantığı

Aynı hesapta bir rolü taklit etmek için taklit edilecek rol ARN'sine özellikle izin veren bir rol varsa, aşağıdaki 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ü, özellikle izin verilmesi gerekmez. İzin verilme yeterlidir.

Ancak, bir rolün bir hesabın bunu üstlenebilmesine izin verdiği durumlarda, örneğin:

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

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

Farklı bir hesaptan bir rolü almaya çalışıyorsanız, alınan rolün buna izin vermesi gerekmektedir (rolün ARN'sini veya dış hesabı belirtir) ve diğer rolü almaya çalışan rolün bunu yapabilmesi için izinlere sahip olması GEREKİR (bu durumda, alınan rol bir ARN belirtse bile bu isteğe bağlı değildir).

Sorgulama

# 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>

Privesc

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

Post Exploitation

Kalıcılık

Referanslar

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated