Azure Anahtar Vault Güvenlik Açıkları, Entra ID ihlalinden sonra hassas verileri sızdırabilir


Azure Anahtar Kasası

Ayrıntılı bir yol izi, saldırganların Entra ID (eski adıyla Azure AD) kimlik bilgilerini tehlikeye attıktan sonra Azure Key Vault’un erişim politikalarını nasıl değiştirebileceğini gösteriyor.

Bir penetrasyon test cihazı raporu olan Faran Siddiqui’ye göre, “Key Vault 06 – Kötüye Kullanım Şifreleme Anahtarı”, bu kritik güvenlik açığına ve Azuread Cli ve Microsoft Graph API’sini içeren tekniğe ışık tuttu.

Arıza, kırmızı takım testçilerinin ve penetrasyon testçilerinin Azure Key Vault ekosistemindeki potansiyel tehditleri anlamalarına yardımcı olmaya odaklanan bir güvenlik laboratuvarı senaryosu olan “Key Vault 06 – Kötüye Kullanım Şifreleme Key” den kaynaklanıyor.

Saldırganlar, tehlikeye atılan kimlik bilgilerinden yararlanarak ve erişim politikalarındaki boşluklardan yararlanarak, şifreleme anahtarları ve sırlar da dahil olmak üzere Azure Anahtar Kasası’nda depolanan hassas bilgileri alabilirler. Bu yol izi, böyle bir saldırının nasıl geliştiğini ve Burp Suite’in Azure uç noktalarıyla etkileşimleri gözlemlemek için nasıl kullanılabileceğini paylaşıyor.

Collect Threat Intelligence with TI Lookup to improve your company’s security - Get 50 Free Request

Saldırı nasıl çalışır

Saldırı senaryosu, bir saldırganın tehlikeye atılan Azure kimlik bilgilerine erişimi kazanmasıyla başlar. PowerShell komutlarını kullanarak saldırgan Azure ortamına oturum açar, jetonlar aracılığıyla Microsoft Graph API ile bağlantılar kurar ve erişilebilir kaynakları numaralandırır.

Azure kaynaklarına erişim:

Saldırgan, uzlaşmayı aşağıdaki komutları çalıştırarak başlatır:

   $passwd = ConvertTo-SecureString "" -AsPlainText -Force
   $creds = New-Object System.Management.Automation.PSCredential("", $passwd)
   Connect-AzAccount -Credential $creds
   $Token = (Get-AzAccessToken -ResourceTypeName MSGraph).Token
   Connect-MgGraph -AccessToken ($Token | ConvertTo-SecureString -AsPlainText -Force)

Bu adımlar saldırganı doğrular ve Azure kaynaklarını numaralandırmaya hazırlar.

Anahtar kasayı keşfetmek:

. Get-AzResource Komut, tehlikeye atılan hesabın erişebileceği kaynakların bir listesini ortaya çıkarır.

Bunlar arasında bir Azure Anahtar Kasası var. Burp süitini kullanarak, yönetim uç noktasına bir GET isteğinin verileri JSON formatında aldığı gözlendi:

   https://management.azure.com/subscriptions//resources?api-version=2021-04-01

Bu yanıt, anahtar kasanın adını tanımlar (örneğin, aszlytkq347).

Test İzni kısıtlamaları:

Kullanarak sırları listelemeye çalışmak Get-AzKeyVaultSecret Meyveden çıkarılan hesabın gerekli izinlerden yoksun olduğunu doğrular. REST API çağrılarını kullanarak sırlar getirmeye çalışırken benzer kısıtlamalar geçerlidir:

   https://.vault.azure.net/secrets?api-version=7.0

Mevcut anahtarları numaralandırma:

Saldırgan, temel tonozda depolanan numaralandırıcı kriptografik anahtarlara odaklanmayı aşağıdakileri kullanarak değiştirir:

   Get-AzKeyVaultKey -VaultName 

Bu komut, depolanan anahtarlar hakkında bilgi alır, algoritmalarını, türlerini ve sürümlerini ortaya çıkarır. Uç noktalar için talepler /keys Ve /keys/ Anahtarlar hakkında meta verileri ortaya çıkarın.

Hassas verilerin çözülmesi:

En az bir RSA tuşuna ve ilişkili sürümüne erişim ile saldırgan, tehlikeye atılan bilgileri sağlanan şifre çözme tuşuyla (laboratuvarın başlangıcında verilmiştir) birleştirerek şifre çözme özelliğini kullanır. Kullanma Invoke-AzKeyVaultKeyOperation Komuta, hassas verileri aşağıdaki gibi şifresini çözerler:

   $encryptedBytes = [Convert]::FromBase64String('')
   $DecryptedData = Invoke-AzKeyVaultKeyOperation -Operation Decrypt -Algorithm RSA1_5 -ByteArrayValue $encryptedBytes -VaultName  -Name 
   [system.Text.Encoding]::UTF8.GetString($DecryptedData.RawResult)

Bu, şifrelenmiş Base64 dizelerini okunabilir UTF-8 metnine dönüştürür, böylece hassas içerikleri ortaya çıkarır.

Burp Suite Gözlemleri:

Burp Suite günlükleri, uç noktaya bir post isteği ortaya çıkarır:

   /keys///decrypt?api-version=7.5-preview.1

İstek gövdesi, şifre çözme için gönderilen şifrelenmiş içeriği (Base64) içerir ve anahtar kasa düz metin sonuçuyla yanıt verir.

Blog, erişim ilkesi yapılandırmalarındaki kritik güvenlik gözetimlerini ve tehlikeye atılan kimlik bilgilerine güvenmeyi vurgulamaktadır. Temel şifre çözme süreçlerini kötüye kullanan saldırganlar, güçlü rol tabanlı erişim kontrolü (RBAC) izinlerinin uygulanmasının ve şüpheli davranışlar için Azure etkinlik günlüklerini denetlemenin öneminin altını çizmektedir.

Azaltma adımları

Enterprise Security, bu tür saldırılardan Azure anahtar tonozlarını korumak için aşağıdaki önlemleri önerir:

  1. Anahtar tonoz izinlerini kısıtlayın: Özellikle şifre çözme veya anahtar yönetim operasyonları için sınırlı kullanıcılara veya hizmet müdürlerine kilit kasa erişimi verildiğinden emin olun.
  2. Yönetilen Kimlikleri Etkinleştir: Statik kimlik bilgileri yerine ekstra bir güvenlik katmanı için yönetilen kimlikleri kullanın.
  3. Denetim Günlükleri ve Uyarılar: Azure Anahtar Kasası’ndaki olağandışı etkinlik için günlükleri izleyin, özellikle /decrypt uç noktalar.
  4. Koşullu erişim politikalarını etkinleştirin: Şüpheli IP’lerden veya bölgelerden gelen giriş girişimlerini kısıtlamak için koşullu erişim uygulayın.
  5. Normal Anahtar Kasası İncelemeleri: Stant veya yetkisiz tuşların bulunmamasını sağlayarak anahtarları periyodik olarak gözden geçirin ve döndürür.

Bu anlayışlı yol, bulut ortamlarını, özellikle de Azure’u güvence altına almada devam eden zorlukları vurgular. Erişim politikalarının kullanılabileceği endişe verici kolaylık, kuruluşların bulut güvenliğini sürekli bir süreç olarak ele alma ihtiyacını vurgulamaktadır.

Jenkins & Jira -> Ücretsiz Web Semineri kullanarak uygulama güvenliğini CI/CD iş akışlarınıza entegre etmek



Source link