Północnokoreańska grupa cyberprzestępcza Lazarus po raz kolejny dała o sobie znać, przeprowadzając skoordynowany atak na programistów i użytkowników JavaScript. Tym razem wykorzystali sześć złośliwych pakietów opublikowanych w popularnym rejestrze npm (Node Package Manager), które zostały pobrane łącznie 330 razy. Ich celem było zdobycie dostępu do systemów, kradzież poufnych informacji oraz implementacja ukrytych backdoorów, umożliwiających dalszą kontrolę nad zainfekowanymi komputerami. Badacze z firmy Socket wykryli i powiązali tę kampanię ze znanymi wcześniej operacjami grupy Lazarus. Ta północnokoreańska jednostka cyberprzestępcza od lat stosuje podobne metody, wprowadzając do rejestrów oprogramowania złośliwe pakiety, które często pozostają niezauważone aż do momentu wybuchu kolejnego ataku. Podobne przypadki odnotowano wcześniej na platformach GitHub oraz Python Package Index (PyPI), co pokazuje, że Lazarus nie ogranicza się do jednego źródła infekcji.
Cel ataku: sieci deweloperów i kryptowaluty
Wprowadzenie do rejestru npm złośliwych pakietów ma kluczowe znaczenie dla powodzenia operacji Lazarusa. Korzystając z techniki typosquattingu, cyberprzestępcy podszywają się pod popularne biblioteki, licząc na to, że niczego nieświadomi programiści przypadkowo je zainstalują.
W tym przypadku wykryto sześć pakietów, które udawały legalne narzędzia, lecz w rzeczywistości skrywały złośliwy kod:
Pakiet imitujący bibliotekę do walidacji danych, który w rzeczywistości kradł informacje logowania.
Fałszywe narzędzie obsługi zdarzeń, ukrywające backdoora umożliwiającego zdalny dostęp do systemu.
Moduł podszywający się pod popularne rozwiązania React, który uruchamiał złośliwe oprogramowanie.
Pakiety zaprojektowane do ekstrakcji danych przeglądarek, w tym zapisanych haseł i plików cookie.
Hakerzy w tym przypadku nie tylko gromadzili informacje o użytkownikach, ale również wprowadzali do systemów szkodliwe oprogramowanie. Badacze odkryli, że zainfekowane pakiety pobierały i uruchamiały znane wcześniej narzędzia BeaverTail oraz InvisibleFerret. Te komponenty umożliwiały zbieranie szczegółowych informacji o systemie, w tym nazw hostów, katalogów systemowych oraz zawartości przeglądarek.
Jakie dane były zagrożone?
Oprogramowanie wykorzystywane przez Lazarusa miało na celu pozyskanie szerokiego wachlarza poufnych danych. Szczególnie narażone były informacje przechowywane w przeglądarkach, takie jak zapisane loginy, pliki cookie i historia przeglądania. Co więcej, złośliwe pakiety atakowały portfele kryptowalut, koncentrując się na plikach zawierających klucze prywatne do portfeli Solana i Exodus. To właśnie ta funkcjonalność może wskazywać, że jednym z głównych celów grupy Lazarus były aktywa kryptowalutowe użytkowników.
Co dalej?
Najbardziej niepokojącą informacją jest to, że wszystkie sześć pakietów nadal znajduje się w repozytorium npm i GitHub, co oznacza, że zagrożenie nie zostało jeszcze wyeliminowane. Eksperci zalecają programistom szczególną ostrożność przy wyborze bibliotek do swoich projektów. Istotne jest dokładne sprawdzanie źródeł pakietów oraz przeprowadzanie regularnych audytów kodu. Oznaki, które powinny wzbudzić podejrzenia, to między innymi zaciemniony kod oraz nietypowe wywołania do serwerów zewnętrznych.