Baza danych zagrożeń Złośliwe oprogramowanie Atak na łańcuch dostaw Miasma

Atak na łańcuch dostaw Miasma

Nowo odkryta kampania ataku na łańcuch dostaw oprogramowania, nazwana Miasma, naruszyła bezpieczeństwo wielu pakietów npm @redhat-cloud-services. Operacja ma na celu zebranie danych uwierzytelniających i poufnych informacji ze środowisk programistycznych, a jednocześnie wdrożenie samonapędzającego się robaka, zdolnego do dalszego rozprzestrzeniania się w ekosystemach programistycznych.

Kampania ta w dużym stopniu przypomina taktykę stosowaną wcześniej w przypadku Mini Shai-Hulud , wykorzystując uruchamianie w czasie instalacji, kradzież danych uwierzytelniających, naruszenia CI/CD, eksfiltrację zaszyfrowanych danych i mechanizmy umożliwiające rozprzestrzenianie się w dół strumienia.

Atrybucja pozostaje niepewna

Aktor odpowiedzialny za Miasmę nie został jeszcze ostatecznie zidentyfikowany. Atrybucję komplikuje fakt, że TeamPCP, znany również jako Replicating Marauder, TGR-CRI-1135 i UNC6780, udostępnił wcześniej narzędzia ataku powiązane z robakiem Shai-Hulud jako projekty open source. Rozwój ten umożliwił innym grupom cyberprzestępczym powielenie podobnych technik, co znacznie utrudnia jednoznaczne ustalenie atrybucji.

Zagrożone pakiety npm

Zidentyfikowano następujące pakiety npm, które są zagrożone:

@redhat-cloud-services/vulnerabilities-client

@redhat-cloud-services/tsc-transform-imports

@redhat-cloud-services/topological-inventory-client

@redhat-cloud-services/sources-client

@redhat-cloud-services/rule-components

@redhat-cloud-services/remediations-client

@redhat-cloud-services/rbac-client

Zbieranie danych uwierzytelniających za pomocą zamaskowanej logiki instalacji

Badacze bezpieczeństwa odkryli, że złośliwe pakiety zawierają zamaskowany kod preinstalacyjny, który ma być automatycznie uruchamiany podczas instalacji pakietu. Szkodliwe oprogramowanie atakuje szeroką gamę wrażliwych zasobów, w tym sekrety GitHub Actions, tokeny uwierzytelniania npm, dane uwierzytelniające w chmurze, sekrety Kubernetes i HashiCorp Vault, klucze SSH, dane uwierzytelniające Git oraz inne poufne pliki przechowywane w zainfekowanych systemach.

Jak zaobserwowano we wcześniejszych kampaniach Mini Shai-Hulud, złośliwe oprogramowanie wykorzystuje szyfrowane procedury eksfiltracji. Skradzione informacje są przesyłane na adres api.anthropic.com:443/v1/api, a GitHub służy jako alternatywny kanał eksfiltracji. Ta dwufunkcyjna strategia jest próbą nie tylko kradzieży danych uwierzytelniających, ale także ich wykorzystania do dalszych ataków na łańcuch dostaw oprogramowania.

Zaszyfrowane pakiety danych są zatwierdzane za pomocą interfejsu API GitHub, a komunikaty zatwierdzające mogą zawierać następujący ciąg:

'Jeśli unieważnisz ten token, komputer właściciela zostanie zneutralizowany:'

Techniki Stealth i mechanizmy propagacji

Szkodliwe oprogramowanie zawiera szereg środków mających na celu maksymalizację trwałości, unikanie wykrycia i rozszerzenie dostępu. Jedną z godnych uwagi cech jest celowe unikanie uruchamiania w systemach rosyjskojęzycznych, co było wcześniej obserwowane w kampaniach GlassWorm w łańcuchu dostaw.

W środowiskach npm złośliwy kod wchodzi w interakcję z systemem wymiany tokenów OIDC i punktami końcowymi whoami, przepakowuje archiwa oprogramowania do zaktualizowanych plików tarball i podpisuje zmodyfikowane artefakty za pomocą Sigstore. Skradzione dane uwierzytelniające są następnie eksfiltrowane do kontrolowanych przez atakujących publicznych repozytoriów GitHub, opatrzonych opisem „Miasma: Rozprzestrzeniająca się zaraza”.

Śledczy zidentyfikowali najwcześniejsze znane zatwierdzenie zawierające ten opis datowane na 29 maja 2026 r., co sugeruje, że mniej więcej w tym samym czasie rozpoczęły się aktywne operacje lub rozpoczęła się początkowa faza testów.

W środowiskach GitHub złośliwe oprogramowanie enumeruje repozytoria dostępne dla zainfekowanych tokenów, analizuje definicje przepływów pracy za pomocą zapytań GraphQL i wstrzykuje złośliwe przepływy pracy za pomocą mutacji createCommitOnBranch. To podejście pozwala złośliwym zmianom pojawiać się jako zweryfikowane i kryptograficznie podpisane zatwierdzenia.

Zaawansowane funkcje trwałości i eskalacji uprawnień

Analiza ujawniła kilka dodatkowych możliwości wbudowanych w złośliwe oprogramowanie:

Próbuje zwiększyć uprawnienia poprzez uruchomienie kontenerów, które montują katalog /etc/sudoers.d hosta i udzielają dostępu sudo bez hasła programom uruchamiającym CI.

Wykrywanie rozwiązań zapewniających bezpieczeństwo punktów końcowych, w tym CrowdStrike, SentinelOne, Carbon Black i StepSecurity Harden-Runner, przed zainicjowaniem złośliwej aktywności.

Mechanizmy trwałości, które wstrzykują hak SessionStart do kodu Anthropic Claude Code i tworzą złośliwe pliki tasks.json skonfigurowane z opcją „runOn”: „folderOpen” dla projektów Microsoft Visual Studio Code, zapewniając wykonywanie podczas przyszłych sesji programistycznych.

Większe skupienie się na zagrożeniu tożsamości w chmurze

Istotną zmianą w wariancie Miasma jest jego większe skupienie na gromadzeniu tożsamości w chmurze. Nowe moduły ukierunkowane na środowiska Google Cloud Platform (GCP) i Microsoft Azure gromadzą informacje o wszystkich tożsamościach w chmurze dostępnych z zainfekowanej maszyny.

Poprzednie warianty koncentrowały się głównie na wydobywaniu sekretów ze środowisk chmurowych. Dodanie modułów zbierających dane skoncentrowanych na tożsamościach wskazuje na strategiczną zmianę w kierunku uzyskiwania bezpośredniego dostępu do chmury i wykorzystywania uprzywilejowanych tożsamości w infrastrukturach chmurowych.

Dodatkowo, co komplikuje proces wykrywania, każda infekcja generuje unikalnie zaszyfrowany ładunek. Ta personalizacja znacznie utrudnia wykrywanie oparte na sygnaturach, śledzenie złośliwego oprogramowania i korelację wersji między incydentami.

Początkowe zagrożenie i infiltracja łańcucha dostaw

Dostępne dowody sugerują, że kampania rozpoczęła się od włamania na konto GitHub pracownika Red Hat. Śledczy uważają, że konto to stanowiło punkt początkowy infekcji, umożliwiając atakującym wstrzyknięcie złośliwego kodu do zainfekowanych pakietów.

Jak podano, z zainfekowanego konta przesłano złośliwe porzucone zatwierdzenia do dwóch repozytoriów Red Hat Insights, omijając ustalone procedury przeglądu kodu i wprowadzając złośliwy ładunek do łańcucha dostaw oprogramowania.

Wskazówki dotyczące reagowania na incydenty i ich usuwania

Organizacje, które zainstalowały zagrożone wersje pakietów, powinny natychmiast odizolować zagrożone systemy, usunąć złośliwe pakiety, dokonać rotacji wszystkich potencjalnie narażonych danych uwierzytelniających, zbadać aktywność w serwisach GitHub i npm pod kątem oznak nieautoryzowanego dostępu oraz przejrzeć środowiska pod kątem mechanizmów utrwalania. Szczególną uwagę należy zwrócić na nieautoryzowane modyfikacje obejmujące:

~/.claude/settings.json, .vscode/tasks.json, .github/workflows/codeql.yml i .github/setup.js.

Należy również wdrożyć rygorystyczne kontrole dostępu w środowiskach programistycznych i chmurowych.

Ponieważ złośliwe oprogramowanie ustanawia możliwości wykonywania w tle i jest trwałe w narzędziach programistycznych, samo odinstalowanie zainfekowanych pakietów npm lub usunięcie katalogu node_modules nie powinno być uważane za wystarczające rozwiązanie.

W środowiskach CI/CD wykonywanie przepływów pracy, których dotyczy problem, powinno zostać natychmiast zawieszone. Organizacje powinny unieważnić artefakty kompilacji utworzone w okresie narażenia na atak i dokładnie sprawdzić, czy wydania, obrazy kontenerów, pakiety npm, artefakty wdrożeniowe lub inne komponenty oprogramowania zostały wygenerowane po wprowadzeniu złośliwego pakietu do środowiska.

Popularne

Najczęściej oglądane

Ładowanie...