Mandiant a descoperit recent o vulnerabilitate critică în Microsoft Azure Kubernetes Services (AKS) care ar fi permis atacatorilor să escaladeze privilegiile și să acceseze credențiale sensibile în cadrul clusterelor afectate. Microsoft a rezolvat rapid această problemă, iar utilizatorii AKS sunt sfătuiți să își actualizeze clusterele la o versiune patch-uită.
TL;DR
- Mandiant a descoperit o vulnerabilitate critică în Azure Kubernetes Services.
- Atacatorii ar fi putut escalada privilegiile și accesa date sensibile.
- Microsoft a remediat problema, iar utilizatorii sunt sfătuiți să își actualizeze clusterele.
Vulnerabilitatea descoperită
Recent, compania de securitate cibernetică Mandiant a dezvăluit o vulnerabilitate critică în Microsoft Azure Kubernetes Services (AKS). Această vulnerabilitate ar fi permis atacatorilor să escaladeze privilegiile și să acceseze credențiale sensibile în cadrul clusterelor afectate. Vulnerabilitatea a afectat clusterele AKS care foloseau “Azure CNI” pentru configurarea rețelei și “Azure” pentru politica de rețea.
Cum funcționează atacul
Un atacator cu capacitatea de a executa comenzi într-un Pod care rulează într-un cluster AKS vulnerabil ar fi putut exploata această problemă pentru a descărca configurația folosită pentru a provisiona nodul clusterului. Configurația conținea tokenuri de bootstrap de securitate la nivel de transport (TLS) pe care atacatorul le-ar fi putut extrage și folosi pentru a iniția un atac TLS bootstrap. Aceasta i-ar fi permis atacatorului să citească toate secretele din cadrul clusterului.
Detalii tehnice
Atacul nu necesita ca Pod-ul compromis să ruleze cu hostNetwork activat sau ca utilizator root, ceea ce a extins semnificativ suprafața de atac. Atacatorul ar fi accesat componentele nedocumentate Azure WireServer și HostGAPlugin pentru a obține un script de provisioning criptat. Folosind cheia de la WireServer, atacatorul ar fi putut decripta scriptul și accesa variabilele de mediu sensibile, cum ar fi:
- KUBELET_CLIENT_CONTENT – Generic Node TLS Key
- KUBELET_CLIENT_CERT_CONTENT – Generic Node TLS Certificate
- KUBELET_CA_CRT – Kubernetes CA Certificate
- TLS_BOOTSTRAP_TOKEN – TLS Bootstrap Authentication Token
Exploatarea vulnerabilității
Atacatorul ar fi putut folosi aceste variabile pentru a se autentifica în cluster cu permisiuni minime și pentru a lista nodurile. Mai important, tokenul TLS_BOOTSTRAP ar fi putut fi folosit direct cu kubectl pentru a citi și crea ClientSigningRequests (CSR), permițând un atac TLS bootstrap. Cu un certificat client controlat de atacator, acesta ar fi putut citi toate secretele pentru workload-urile care rulează pe nodul compromis.
Ce trebuie făcut
Mandiant a raportat această vulnerabilitate către Microsoft prin programul MSRC, iar Microsoft a remediat rapid problema. Utilizatorii Azure Kubernetes Service sunt sfătuiți să își actualizeze clusterele la o versiune patch-uită.
Concluzie
Această vulnerabilitate subliniază importanța menținerii unui mediu de securitate puternic și a actualizării regulate a sistemelor. Enforcing authentication for internal services and restricting unsafe workloads sunt măsuri esențiale pentru a reduce impactul unor astfel de vulnerabilități.
Sursa articolului:
https://cybersecuritynews.com/microsoft-azure-kubernetes-services-vulnerability/