Mandiant yakın zamanda saldırganların ayrıcalıkları yükseltmesine ve etkilenen kümelerdeki hassas kimlik bilgilerine erişmesine izin verebilecek Microsoft Azure Kubernetes Services’ta (AKS) kritik bir güvenlik açığını açıkladı. Güvenlik açığı, ağ yapılandırması için “Azure CNI” ve ağ politikası için “Azure” kullanan AKS kümelerini etkiledi.
Güvenlik açığı bulunan bir AKS kümesinde çalışan bir Pod’da komut yürütme yapan bir saldırgan, küme düğümünü sağlamak için kullanılan yapılandırmayı indirmek amacıyla bu sorunu kullanabilirdi.
Yapılandırma, saldırganın çıkarabileceği ve bir TLS önyükleme saldırısı gerçekleştirmek için kullanabileceği taşıma katmanı güvenliği (TLS) önyükleme belirteçlerini içeriyordu. Bu, saldırgana küme içindeki tüm sırları okuma yeteneği verirdi.
Özellikle, saldırının tehlikeye atılan Pod’un hostNetwork etkinleştirilmiş olarak veya kök kullanıcı olarak çalışmasını gerektirmemesi. Bu, saldırı yüzeyini önemli ölçüde genişletti.
Free Webinar on Detecting & Blocking Supply Chain Attack -> Book your Spot
Saldırı, belgelenmemiş Azure WireServer bileşenine erişimi içeriyordu http://168.63.129.16/machine/?comp=goalstate ve HostGAPlugin uç noktası http://168.63.129.16:32526/vmSettings.
Saldırgan, korumalı ayar değerlerini şifresini çözmek için WireServer’dan bir anahtar alabilir. Daha sonra HostGAPlugin’den JSON belgesini isteyebilir, ayrıştırabilir ve şifrelenmiş sağlama betiğini (protected_settings.bin) elde etmek için Base64 kodunu çözebilir.
WireServer anahtarını kullanarak saldırgan, kümenin sağlama betiğine (cse_cmd.sh) erişmek için protected_settings.bin’i şifresini çözebilir. Bu betik, ortam değişkenleri olarak birkaç sırrı içeriyordu, bunlar arasında şunlar vardı:
- KUBELET_CLIENT_CONTENT – Genel Düğüm TLS Anahtarı
- KUBELET_CLIENT_CERT_CONTENT – Genel Düğüm TLS Sertifikası
- KUBELET_CA_CRT – Kubernetes CA Sertifikası
- TLS_BOOTSTRAP_TOKEN – TLS Önyükleme Kimlik Doğrulama Belirteci
Güvenlik Açığının Kullanılması
Saldırgan, KUBELET_* değişkenlerini çözebilir ve bunları kubectl ile kullanarak kümede kimlik doğrulaması yapmak için asgari izinlere, özellikle de düğümleri listeleme yeteneğine sahip olabilir.
Ancak, TLS_BOOTSTRAP_TOKEN, ClientSigningRequests’i (CSR) okumak ve oluşturmak için doğrudan kubectl ile kullanılabilir. Bu, saldırganın herhangi bir etkin düğüm için bir istemci sertifikası talep edebileceği bir TLS önyükleme saldırısına olanak sağladı.
AKS, TLS önyükleme belirteçleri tarafından gönderilen CSR’leri otomatik olarak imzalar. Saldırgan tarafından kontrol edilen istemci sertifikasıyla, API’ye kimlik doğrulaması yapabilir ve Düğüm Yetkilendiricisi tarafından verilen şekilde, tehlikeye atılmış düğümde çalışan iş yükleri için tüm sırları okuma yeteneği elde edebilirler. Bu işlemi her düğüm için tekrarlamak, kümedeki tüm sırlara erişim sağlar.
Mandiant bu güvenlik açığını MSRC programı aracılığıyla Microsoft’a bildirdi ve Microsoft o zamandan beri temel sorunu düzeltti. Azure Kubernetes Service kullanıcıları kümelerinin yamalı bir sürüme güncellendiğinden emin olmalıdır.
Mandiant’ın güvenlik açığını Microsoft’a ne zaman bildirdiği ve Microsoft’un ne kadar sürede yanıt verdiğine dair kesin bir tarih belirtilmemiştir.
Dahili hizmetler için kimlik doğrulamayı zorunlu kılmak ve güvenli olmayan iş yüklerini kısıtlamak, bu tür güvenlik açıklarının etkisini azaltmaya yardımcı olur.
Are you from SOC and DFIR Teams? Analyse Malware Incidents & get live Access with ANY.RUN -> Get 14 Days Free Acces