Złośliwa kampania wykorzystuje kontrakty Ethereum do kontrolowania paczek npm

kapitanhack.pl 2 tygodni temu

Dzisiejszy tekst poświęcimy obserwowanej aktualnie interesującej kampanii malware, która skierowana jest przeciwko programistom npm (paczek JavaScript). Opiera się na podrzucaniu setek wersji różnych sfałszowanych paczek do pobrania, w których nazwach lub adresach URL używane są nierzucające się w oczy literówki. Celem ataków jest próba oszukania deweloperów i nakłonienia ich do uruchomienia złośliwego systemu międzyplatformowego.

Zgodnie z ustaleniami Socket opublikowanymi kilka dni temu atak wyróżnia się wykorzystaniem inteligentnych kontraktów (ang. smart contracts) Ethereum do dystrybucji adresów serwerów command-and-control (C2).

Aktywność została zauważona 30 października 2024 r., chociaż mówi się, iż mogła wówczas trwać już od tygodnia. W rejestrze pakietów npm zostało opublikowanych co najmniej 287 złośliwych pakietów z literówkami.

Pakiety zawierają zaciemniony kod JavaScript, który jest wykonywany podczas lub po instalacji, co ostatecznie prowadzi do pobrania pliku binarnego następnego etapu ze zdalnego serwera. Plik binarny ustanawia trwałość i eksfiltruje poufne informacje związane z zainfekowaną maszyną z powrotem na ten sam serwer.

Ciekawym aspektem ataku jest kod JavaScript, który wchodzi w interakcję z inteligentnym kontraktem Ethereum, używając biblioteki ethers.js, aby pobrać adres IP serwera C2. Warto tutaj wspomnieć, iż kampania o nazwie EtherHiding wykorzystała podobną taktykę, używając kontraktów Smart Chain Binance (BSC), by przejść do następnej fazy łańcucha ataku.

Źródło: socket.dev

Zdecentralizowana natura blockchain oznacza, iż ​​trudniej jest zablokować kampanię, ponieważ adresy IP obsługiwane przez kontrakt mogą być aktualizowane w locie przez osobę atakującą, co pozwala złośliwemu oprogramowaniu na bezproblemowe łączenie się z nowymi adresami IP, gdy starsze są blokowane lub usuwane.

Wykorzystując blockchain w ten sposób, atakujący zyskują dwie najważniejsze korzyści: ich infrastruktura staje się praktycznie niemożliwa do zniszczenia ze względu na niezmienną naturę blockchain, a zdecentralizowana architektura sprawia, iż ​​blokowanie połączeń sieciowo jest niezwykle trudne.

Obecnie nie jest jasne, kto stoi za kampanią, chociaż zespół ds. badań nad zagrożeniami Socket Threat Research Team twierdzi, iż zidentyfikował komunikaty o błędach napisane w języku rosyjskim w celu obsługi wyjątków i rejestrowania, co sugeruje, iż sprawcą zagrożenia może być osoba posługująca się tym językiem.

Kampania ujawniła kolejny sposób atakujących na zatruwanie ekosystemu open source, co podkreśla potrzebę zachowania czujności podczas pobierania przez programistów pakietów z repozytoriów oprogramowania.

Idź do oryginalnego materiału