Menu dostępności

Kubernetes Secrets – co to jest?

Poświadczenia i konfiguracje Kubernetes kilku firm z Fortune 500 ujawnione w publicznych repozytoriach

Ujawnione dane konfiguracyjne, tzw. Kubernetes Secrets, stanowią poważne zagrożenie i ryzyko ataku na łańcuch dostaw. Specjaliści z firmy Aqua Nautilus odkryli, że ujawnione sekrety Kubernetes setek organizacji i projektów open source umożliwiają dostęp do wrażliwych środowisk w Cyklu Życia Oprogramowania (ang. SDLC). Wśród firm znalazł się system zarządzania artefaktami SAP, dwie czołowe firmy z branży blockchain i różne inne z listy Fortune 500. Zakodowane klucze tajne konfiguracji Kubernetes zostały po prostu przesłane do repozytoriów publicznych.

Kubernetes Secrets – co to jest?

Na oficjalnej stronie Kubernetes, Kubernetes.io, znajduje się obszerna sekcja poświęcona konfiguracji Sekretów w Kubernetesie. Wyraźnie wspomniano, że „Kubernetes Secrets są domyślnie przechowywane w postaci niezaszyfrowanej w podstawowym magazynie danych serwera API”. Użytkownicy mogą utworzyć plik YAML dla wpisów tajnych przy użyciu kubectl lub ręcznie utworzyć plik i przesłać go do klastra.

Jak przedstawiono w tabeli poniżej, Kubernetes obsługuje osiem wbudowanych typów sekretów. Omawiane badania skupiały się głównie na dwóch typach: dockercfg i dockerconfigjson. Chociaż wszystkie typy sekretów z natury zawierają poufne informacje, potencjał ich wykorzystania jest różny. Sekrety takie jak basic-auth, tls i ssh-auth mogą odnosić się do usług zewnętrznych połączonych z klastrem. Jednak ich wykorzystanie wymaga odnalezienia adresu IP lub adresu URL powiązanego z klastrem, co może być trudne i wymagać większych zasobów. Service-account-token jest bardziej odpowiedni dla usług wewnętrznych i może być cennym zasobem dla ruchu post-exploit i lateral movement w sieci. Jednak jego wykorzystanie z zewnętrznego punktu widzenia jest trudniejsze. Jeśli chodzi o bootstrap.kubernetes.io/token, przeprowadzono szczegółowe dochodzenie, ale nie odkryto w badaniach niczego wartego uwagi. Wreszcie typ „Opaque” jest zbyt ogólny, aby wskazać szereg scenariuszy wyzysku, co czyni go potencjalnym przedmiotem przyszłych badań.

Kubernetes obsługuje osiem wbudowanych typów sekretów
Źródło: Kubernetes.io

Jak już wcześniej wspomniano, badania z Aqua Nautilus ostatecznie skupiły się na tajemnicach typu dockercfg i dockerconfigjson, ponieważ są one specjalnie przeznaczone do przechowywania danych uwierzytelniających umożliwiających dostęp do rejestrów zewnętrznych.

Nieumyślne umieszczanie Sekretów na GitHubie

W badaniach wykorzystano interfejs API GitHub, stosując iteracje rekurencyjne, aby ominąć ograniczenia do 1000 wyników. Szukano różnych kluczy, stosując złożone wyrażenia regularne, aby zawęzić zakres do konkretnych wystąpień plików YAML zawierających dockercfg lub dockerconfigjson z sekretami zakodowanymi w formacie base64.

Odkryto setki przypadków w repozytoriach publicznych, co podkreśliło powagę problemu, dotykającego zarówno osoby prywatne, projekty open source, jak i duże organizacje. Nasuwa się pytanie: dlaczego ktoś miałby świadomie przesyłać te sekrety do GitHuba?

Istnieje kilka uzasadnionych powodów, takich jak przesyłanie plików Kubernetes YAML w celu kontroli wersji, udostępnianie szablonów lub przykładów oraz zarządzanie konfiguracjami publicznymi.

Zdarzały się też przypadki, że z powodu nieporozumienia lub błędu praktycy nieumyślnie przesłali sekrety do publicznie dostępnych repozytoriów GitHub. Biorąc pod uwagę znaczną liczbę zakodowanych sekretów w porównaniu z sekretami w postaci zwykłego tekstu, podejrzewamy, że niektórzy inżynierowie z powodu nieporozumień lub braku wiedzy omyłkowo przesyłają zakodowane sekrety, myśląc, że są bezpieczne lub trudne do odkodowania. Nie zdają sobie sprawy, że z punktu widzenia bezpieczeństwa kodowanie base64 jest równoznaczne ze zwykłym jawnym tekstem.

Zakres ujawnionych danych

Spośród wszystkich 438 rekordów, które potencjalnie zawierały ważne dane uwierzytelniające do rejestrów, 203 rekordy – około 46% – zawierały dane uwierzytelniające umożliwiające bezpośredni dostęp do odpowiednich rejestrów. 93 hasła zostały ustawione ręcznie przez pojedyncze osoby, w przeciwieństwie do 345, które zostały wygenerowane komputerowo.

Poniżej lista wyodrębnionych sekretów z podziałem na rejestry dostępowe, których dotyczą:

Kubernetes obsługuje osiem wbudowanych typów sekretów
Źródło: blog.aquasec.com

„W większości przypadków dane uwierzytelniające umożliwiały zarówno wykonanie poleceń typu pull, jak i push” – zauważyli badacze. „Co więcej, w większości tych rejestrów często odkrywaliśmy obrazy prywatnych kontenerów”.

Co więcej, prawie 50% z 93 haseł uznano za słabe. Obejmowało to między innymi hasła, test123456, Windows12, ChangeMe i dockerhub.

Widać, jak krytyczne jest stworzenie polityki dotyczącej haseł w organizacji dla środowisk Dockerowych.

Aqua stwierdziła, że znalazła również przypadki, w których organizacje nie usuwały tajemnic z plików przechowywanych w publicznych repozytoriach na GitHubie, co prowadziło do niezamierzonego ujawnienia danych.

Pozytywnym akcentem jest jednak to, że wszystkie dane uwierzytelniające powiązane z AWS i Google Container Registry (GCR) okazały się tymczasowe i wygasły, co uniemożliwia dostęp. W podobnym duchu GitHub Container Registry wymagał uwierzytelniania dwuskładnikowego (2FA) jako dodatkowej warstwy chroniącej przed nieautoryzowanym dostępem.

Według raportu Red Hat o stanie bezpieczeństwa Kubernetes opublikowanego na początku tego roku, luki w zabezpieczeniach i błędne konfiguracje okazały się głównymi problemami związanymi z bezpieczeństwem środowisk kontenerowych, przy czym 37% z łącznej liczby 600 respondentów zidentyfikowało przychody/stratę klientów w wyniku incydentu związanego z bezpieczeństwem kontenera i Kubernetes.

Popularne

Atak bez hasła na Microsoft 365. Przestępcy przejmowali sesje i obchodzili MFA

Atak bez hasła na Microsoft 365. Przestępcy przejmowali sesje i obchodzili MFA

Kampania wykorzystująca kradzież i powtórne użycie tokenów uwierzytelniających doprowadziła do przejęcia 97 kont w 79 organizacjach. Cyberprzestępcy nie musieli łamać haseł ani ponownie przechodzić uwierzytelni...
Badacz uzyskał uprawnienia roota w najnowszym Samsung Smart TV i odkrył zaskakujące fakty

Badacz uzyskał uprawnienia roota w najnowszym Samsung Smart TV i odkrył zaskakujące fakty

Współczesne Smart TV korzystają z systemów operacyjnych, łączą się z Internetem, analizują sposób korzystania z aplikacji i mogą wspierać personalizację reklam. Pojawia się jednak pytanie, gdzie kończy...
Jak hakerzy wykorzystują PHP2Shell do uzyskania uprawnień administratora (root) na Firewallach

Jak hakerzy wykorzystują PHP2Shell do uzyskania uprawnień administratora (root) na Firewallach

Nie tak dawno obszernie analizowaliśmy dwie krytyczne luki dotyczące silnika PHP wykorzystywanego przez miliony stron internetowych. W artykule dostępnym tutaj opisywaliśmy, jak mogą być eksploatowane te po...
Wykradanie haseł do Wifi z urządzeń sieciowych (na przykładzie modemu od UPC)

Wykradanie haseł do Wifi z urządzeń sieciowych (na przykładzie modemu od UPC)

Posiadasz urządzenie od UPC lub inne, które łączy się po Wifi? Chciałbyś poznać jego hasło do sieci? W tym artykule opiszemy sposób, dzięki któremu będziemy mogli poznać aktualne hasło do WiFi przech...
LiteLLM znów przejęty. Złośliwa aktualizacja wykradała klucze API i poświadczenia

LiteLLM znów przejęty. Złośliwa aktualizacja wykradała klucze API i poświadczenia

21 października 2026 r. doszło do kolejnego poważnego incydentu bezpieczeństwa związanego z LiteLLM, popularnym rozwiązaniem open source wykorzystywanym do integracji aplikacji z modelami językowymi. Atakuj...