IAM Yapılandırma Hataları
Aşırı izinli roller
IAM Yapılandırma Hataları, CoddyKit'te ücretsiz bir Ethical Hacking Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ethical Hacking Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ethical Hacking Academy kursu toplamda 4 dersten oluşur.
IAM Gerçek Çevre Sınırıdır
Bulutta kimlik yeni çevre sınırıdır. IAM (Kimlik ve Erişim Yönetimi), kimin ne yapabileceğine karar verir. IAM'deki bir kusur, saldırganın düşük ayrıcalıklı bir dayanak noktasından hesabın tam denetimine geçmesini sağlar.
- Kullanıcılar, roller ve hizmet hesapları kimliktir
- İlkeler izinleri tanımlar
- Yanlış yapılandırılmış ilkeler, buluttaki bir numaralı risktir
Bulut ayrıcalık yükseltmelerinin çoğu bir IAM sorunudur.
Kullanıcılar, Roller ve İlkeler
AWS IAM'de anlamanız gereken üç yapı taşı vardır:
- Kullanıcılar — erişim anahtarlarına sahip, uzun ömürlü kimlikler
- Roller — kullanıcılar veya hizmetler tarafından üstlenilebilen geçici kimlikler
- İlkeler — kaynaklar üzerindeki işlemlere izin veren veya bunları reddeden JSON belgeleri
Çok geniş kapsamda atanan bir ilke, gereğinden fazla yetkilendirmenin nasıl gerçekleştiğini gösterir.
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::reports-bucket/*"
}Joker Karakterlerin Tehlikesi
En tehlikeli IAM örüntüsü joker karakter kullanan ilkedir. Her kaynak üzerinde her işleme izin verir.
Saldırgan bu ilkeye sahip bir kimliği ele geçirirse hesabın tamamını denetimi altına alır.
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
# Action:* Resource:* = full administrative control.
# Flag this everywhere it appears outside a break-glass admin role.Kendi İzinlerinizi Listeleme
Bir kimlik bilgisine sahip olduğunuzda bunun neler yapabildiğini listeleyin. IAM'de, atanmış ilkeleri açığa çıkaran okuma API'leri vardır.
Bazı hesaplar sıradan kullanıcılara iam:Get* ve iam:List* izinlerini bile verir; böylece size hazır bir harita sunar.
# List policies attached to a user
aws iam list-attached-user-policies --user-name devuser
# Get the JSON of a managed policy version
aws iam get-policy-version \
--policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess \
--version-id v1iam:PassRole ile Ayrıcalık Yükseltme
Klasik bir yükseltme örneği: Bir kullanıcıda iam:PassRole ve hizmet oluşturma izni vardır. Kullanıcı, yüksek ayrıcalıklı bir rolü üstlenen bir kaynak başlatabilir ve bu rolün erişimini devralabilir.
- Kullanıcıda
ec2:RunInstances+iam:PassRolevardır - Yönetici rolü atanmış bir EC2 örneği başlatır
- Örnek artık yöneticinin kimlik bilgilerini barındırır ve kullanıcı bunları alır
Kullanıcının doğrudan yönetici yetkisi yoktu, ancak bu yetkiye yükseldi.
Tehlikeli İzin Birleşimleri
Tek tek izinler zararsız olabilir, ancak birlikte kullanıldıklarında yükseltme yollarına dönüşebilir. Bilinen riskli birleşimler şunlardır:
iam:CreatePolicyVersion— yönetici yetkisi verecek şekilde mevcut bir ilkeyi yeniden yazmaiam:AttachUserPolicy— AdministratorAccess'i kendinize ekleme- Başka bir kullanıcı üzerinde
iam:CreateAccessKey— kimliğini ele geçirme - Aşırı güvenen bir rol üzerinde
sts:AssumeRole
Araçlar bunları otomatik olarak listeler.
Güven İlkeleri ve AssumeRole
Roller, onları kimin üstlenebileceğini tanımlayan bir güven ilkesine sahiptir. Gereğinden geniş bir güven ilkesi arka kapı görevi görür.
Bir rol yanlışlıkla hesabın tamamına veya harici bir hesaba güveniyorsa saldırgan bu rolü üstlenebilir.
{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::123456789012:root" },
"Action": "sts:AssumeRole"
}
# Trusting the entire account root means ANY identity in it can assume the role.Yükseltme Keşfini Otomatikleştirme
Her ilke birleşimini elle denetlemek zahmetlidir. Araçlar yükseltme yollarını sizin için haritalar.
- Pacu — privesc modüllerine sahip AWS istismar çatısı
- PMapper — IAM ilişkilerini grafik olarak gösterir ve privesc bağlantılarını bulur
- enumerate-iam — bir anahtarın hangi API çağrılarını yapabildiğini kaba kuvvetle dener
# Run Pacu's IAM privilege escalation enumeration
pacu
# > run iam__privesc_scan
# Build an IAM access graph and query it
pmapper graph create
pmapper query 'preset privesc *'Satır İçi ve Yönetilen İlkeler
İzinler iki şekilde verilebilir ve saldırganlar her ikisini de denetler:
- Yönetilen ilkeler — yeniden kullanılabilir, birçok kimliğe atanabilir
- Satır içi ilkeler — doğrudan tek bir kullanıcıya veya role gömülüdür
Satır içi ilkeler denetimlerde kolayca gözden kaçtığından çoğu zaman aşırı izinleri gizler. Bir kimliği değerlendirirken her ikisini de mutlaka listeleyin.
# Inline policies are listed separately from attached ones
aws iam list-user-policies --user-name devuser
aws iam get-user-policy --user-name devuser --policy-name custom-inlineSağlamlaştırma: En Az Ayrıcalık
IAM yanlış yapılandırmalarının çözümü en az ayrıcalık ilkesidir: yalnızca gereken tam izinleri verin.
- Joker karakterleri açık işlemler ve kaynak ARN'leriyle değiştirin
- Uzun ömürlü anahtarlar yerine kısa ömürlü kimlik bilgilerine sahip roller kullanın
- Kullanılmayan izinleri Access Analyzer ile denetleyin
- Ayrıcalıklı kimliklerde MFA'yı zorunlu kılın
Raporunuzda her bulguyu en az ayrıcalık ilkesine uygun bir düzeltmeyle eşleştirmelisiniz.
Yetkilendirme Sınırları İçinde Kalın
Ayrıcalık yükseltme sınaması, hesap durumunu etkin biçimde değiştirir. Dikkatli olun:
- İlke, anahtar veya rol oluşturmak müdahalecidir; yazılı onay alın
- Geri alınabilmesi için her değişikliği belgeleyin
- Bir yolu istismar etmeden önce kanıtlamak için salt okunur listelemeyi tercih edin
Bir privesc yolunun var olduğunu göstermek çoğu zaman yeterlidir; yolu her zaman tamamen istismar etmeniz gerekmez.
Hızlı Kontrol
Klasik bir AWS ayrıcalık yükseltme yolu olan izin birleşimi hangisidir?
Özet: IAM Yanlış Yapılandırmaları
IAM'in buluttaki gerçek çevre sınırı olmasının nedenini ve saldırganların bundan nasıl yararlandığını öğrendiniz.
- Joker karakter içeren
Action:* Resource:*ilkeleri yıkıcıdır iam:PassRole+ hizmet oluşturma, ayrıcalık yükseltmeyi mümkün kılar- Gereğinden geniş güven ilkeleri, saldırganların rolleri üstlenmesine izin verir
- Pacu ve PMapper gibi araçlar yol keşfini otomatikleştirir
- Düzeltme her zaman en az ayrıcalık ilkesine dayanır
Sırada S3 ve depolama maruziyetini inceleyeceğiz.
Sıkça Sorulan Sorular
“IAM Yapılandırma Hataları” dersi ücretsiz mi?
Evet — “IAM Yapılandırma Hataları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ethical Hacking Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ethical Hacking Academy kursu toplamda 4 dersten oluşur.
“IAM Yapılandırma Hataları” dersinde ne öğreneceğim?
Aşırı izinli roller Ethical Hacking Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Ethical Hacking Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ethical Hacking Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“IAM Yapılandırma Hataları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Ethical Hacking Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ethical Hacking Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Bulut Saldırı Yüzeyi
- IAM Yapılandırma Hataları
- S3 ve Depolama Açığı
- Üst Veriler ve SSRF