Nowo wykryte złośliwe pakiety npm podszywają się pod nieszkodliwe programy pomocnicze front-end, ale zawierają złośliwy, zaciemniony kod.
Zespół ds. badań bezpieczeństwa Xygeni ustalono, że te pakiety npm: 'react-ui-notify', 'react-tmedia', 'react-ui-animates', 'react-medias', 'react-mandes' są modyfikowanymi pochodnymi „rejestrator bingo”, który sam w sobie jest złośliwym rozwidleniem imitującym strukturę i dokumentację popularnego pakietu rejestrującego 'sosn' Aby sprawiać wrażenie legalnych. Ta przykrywka służy do wykorzystywania zaufania programistów i przyciągania pobrań. W rzeczywistości baza kodu zawiera niezwiązany z nią zaciemniony plik, który działa w środowiskach Node.
Tło aktora stanowiącego zagrożenie: kampania „Zaraźliwy wywiad”
Kampania Contagious Interview jest powiązany z klastrem zagrożeń znanym jako 'UNC4034', który zgłasza powiązania z aktorami powiązanymi z Koreą Północną Grupa Lazarus or APT38, znanej grupy sponsorowanej przez państwo, powiązanej z reżimem Korei Północnej. Aktorzy stojący za tą kampanią od dawna atakują programistów za pośrednictwem ekosystemów open source, dystrybuując pakiety imitujące te, które wykonują ukryte ładunki. Ostatecznie ich celem jest wykradanie danych związanych z kryptowalutami, kodu źródłowego i danych uwierzytelniających z zainfekowanych systemów.
taktyki, techniki i procedury (TTP) zaobserwowane w tych pakietach npm podążają za tym samym wzorcem:
- Naśladuj nazwy projektów brzmiące prawdziwie, aby wzbudzić zaufanie.
- Osadź zaciemniony kod w plikach testowych i skryptach pomocniczych.
- Uruchamiaj ukryte ładunki, które zbierają poufne dane i wysyłają je do zdalnego serwera dowodzenia i kontroli (C2).
Wyniki techniczne: Analiza zaciemnionego ładunku
Ładunek znaleziony w środku "/test/fixtures/eval/node_modules/test.list' używa zaciemnionego JavaScript (wyszukiwanie ciągów indeksów/tablic, zakodowane bloki), aby ukryć czytelne ciągi, a przepływ sterowania zostanie wykonany po zainstalowaniu pakietu dzięki skryptowi poinstalacyjnemu 'npm uruchom test || npm transpiluj || npm uruchom pomińw ciągu pakiet.json.
Nasza analiza wykazała, że pakiety te zawierają adaptacyjne złośliwe oprogramowanie, stworzone do poruszania się między systemami operacyjnymi (Windows, macOS lub Linux) i środowiskami użytkowników. Taka funkcjonalność sugeruje celowe skupienie się na użytkownikach technicznych, którzy często pracują w zróżnicowanych środowiskach.
Po zainstalowaniu w systemie złośliwe oprogramowanie monitoruje swoje otoczenie, zbierając szczegółowe informacje o systemie jak na przykład hosta, Platforma, katalog domowy oraz katalog tmp systemu zanim rozszerzy swój zasięg na aplikacje przechowujące poufne dane, takie jak przeglądarki (Chrome/Brave/Edge/Opera) i cyfrowe portfeleRekurencyjnie przeszukuje popularne lokalizacje profili przeglądarek, plików portfela, pęków kluczy i wielu typów dokumentów/plików. Słowa kluczowe wyszukiwania obejmują portfel, terminy związane z seedami i wiele rozszerzeń plików, które mogą zawierać dane uwierzytelniające lub sekrety (*.env, *.key, *.wallet, *.json, *.txt, *.doc itd..). Zawiera listy wykluczeń dla powszechnych katalogów w celu uniknięcia oczywistych plików systemowych.
Ładunek zapisuje lokalny znacznik/plik blokady, aby zapobiec wielokrotnym równoczesnym uruchomieniom, i zapisuje swoje dane w katalogach tymczasowych systemu operacyjnego, aby uniknąć wykrycia.
Zamaskowany ładunek zawiera również kanał komunikacyjny do zdalnego serwera, który pełni funkcję centrum dowodzenia i kontroli. Za pośrednictwem tego kanału może wykraść skradzione informacje oraz otrzymać dalsze instrukcjeChociaż sama infrastruktura wydaje się ograniczona i celowo zaprojektowana, jej istnienie potwierdza, że atakujący zamierza utrzymać stałą kontrolę nad zainfekowanymi systemami.
Gdy złośliwe oprogramowanie znajdzie poufne dane, grupuje je i próbuje przesłać do zdalnego punktu końcowego hostowanego na serwerze w chmurze przy użyciu pakietu multipart/form-data, dzięki czemu skradzione pliki są dołączane do żądań.
Wskaźniki zagrożenia i zalecenia dotyczące łagodzenia skutków
Organizacjom zaleca się usunięcie tych złośliwych zależności (react-ui-notify, react-tmedia, react-ui-animates, react-medias, react-mandes, bingo-logger) i odśwież te środowiska, aby zapewnić ich integralność. Wszystkie dane uwierzytelniające i tokeny dostępu w systemach, które mogły zostać ujawnione, powinny zostać natychmiast wymienione.
Administratorzy sieci powinni ograniczyć ruch wychodzący do tych adresów IP 23.227.202.24, 131.153.22.25 i przejrzyj ostatnie połączenia pod kątem anomalii. Zdecydowanie zaleca się odbudowę zainfekowanych środowisk ze zweryfikowanych, czystych źródeł, aby zapobiec ponownemu zakażeniu i zapewnić integralność łańcucha dostaw.
Szerszy kontekst
Ogólnie rzecz biorąc, te pakiety stanowią kolejny przykład Wraz z rozwojem ataków na łańcuchy dostaw opartych na języku JavaScript, przeciwnicy coraz częściej tworzą podobne pakiety, które zapożyczają strukturę i dokumentację z zaufanych projektów, rozszerzają się modułowo i stosują lepsze techniki, aby utrudnić wykrywanie i łagodzenie skutków ataków.
Ta ewolucja zwiększa prawdopodobieństwo przypadkowej instalacji przez nieświadomych programistów i zapewnia przeciwnikom głębszy dostęp do środowisk kompilacji, CI/CD systemy i repozytoria kodu źródłowego.
Ekosystemy open source stały się preferowaną platformą dystrybucyjną dla takich kampanii. Wykorzystując zaufanie, jakim programiści darzą pakiety społecznościowe, atakujący mogą zinfiltrować łańcuch dostaw oprogramowania przy minimalnym wysiłku i często bez natychmiastowego wykrycia lub konsekwencji.
Wczesne ostrzeganie przed złośliwym oprogramowaniem (MEW) firmy Xygeni
Incydent ten został pierwotnie zidentyfikowany za pomocą Xygeni Wczesne ostrzeganie przed złośliwym oprogramowaniem system, który stale monitoruje rejestry pakietów open-source, takie jak npm, PyPI, Maven, w poszukiwaniu złośliwych pakietów.
Nasz moduł detekcji automatycznie oznaczył te pakiety jako podejrzane ze względu na ich nietypową strukturę, skrypt poinstalacyjny i zaciemniony kod. W rezultacie złośliwe pakiety (react-ui-notify, react-tmedia, react-ui-animates, react-medias i react-mandes) zostały uznane przez nasz zespół ds. bezpieczeństwa za szkodliwe i zgłoszone do npm zanim mogły zostać szerzej rozpowszechnione.
W jaki sposób system wczesnego ostrzegania Xygeni chroni Twoje pipelines
- Wykrywanie zagrożeń w czasie rzeczywistym:Skanuje każdy nowy lub zaktualizowany pakiet w grafie zależności i sygnalizuje podejrzane zachowania, takie jak wywołania systemowe systemu operacyjnego, wykonywanie poleceń, zaciemniony kod, typosquatting i wiele innych.
- Natychmiastowe alerty: Powiadamia zespoły ds. bezpieczeństwa i DevOps w Slacku, Jira lub e-mailu, gdy tylko w środowisku pojawi się nowe zagrożenie.
- Naprawa jednym kliknięciem:Generuje pull requests które usuwają lub zastępują podatne na ataki wersje zależności w ramach Twoich projektów.
- Obsługiwane ekosystemy: Obecnie obejmują npm, PyPI, Maven i Packagist.
- Xygeni pomaga Ci wyprzedzić ataki na łańcuch dostaw, wychwytując złośliwe pakiety na najwcześniejszym etapie, zanim dotrą do Twojej kompilacji.
???? Wypróbuj bezpłatnie Xygeni Malware Early Warning i sprawdź, jak szybko możesz wykryć i zneutralizować zagrożenia dla łańcucha dostaw w swoim własnym pipelines.





