GlassWorm ukrywa się w narzędziach programistycznych. Po przedostaniu się do systemu kradnie dane, instaluje złośliwe oprogramowanie umożliwiające zdalny dostęp, a nawet fałszywe rozszerzenie przeglądarki służące do monitorowania aktywności. Chociaż atak zaczyna się od programistów, jego skutki mogą szybko się rozprzestrzeniać. Dzięki skradzionym danym uwierzytelniającym, tokenom dostępu i przejętym narzędziom atakujący mogą przeprowadzać zakrojone na szerszą skalę ataki na łańcuch dostaw, narażając na ryzyko zarówno firmy, jak i zwykłych użytkowników.
Jak dochodzi do zakażenia
GlassWorm jest zazwyczaj rozpowszechniany za pośrednictwem kanałów dla programistów. Oznacza to, że systemy programistów zostają zainfekowane w wyniku pobrania złośliwych pakietów z repozytoriów kodu, takich jak npm, GitHub, PyPI i inne. Mogą to być nowe złośliwe pakiety lub zmodyfikowane wersje pakietów pochodzących z kont, które kiedyś były zaufane, ale obecnie zostały przejęte.
Programista instaluje lub aktualizuje zaufany lub popularny pakiet npm/PyPI albo rozszerzenie VS Code, ale konto opiekuna lub łańcuch dostaw uległy naruszeniu.
Co dzieje się po instalacji
Po pobraniu pakietu uruchamia się skrypt przedinstalacyjny lub niewidoczny moduł ładujący Unicode, który przeprowadza analizę systemu. Jeśli wykryje rosyjskie ustawienia regionalne, proces zostaje zatrzymany. W przeciwnym razie skrypt czeka kilka godzin, a następnie dyskretnie łączy się z łańcuchem bloków Solana, aby ustalić, skąd pobrać drugi etap infekcji. Zamiast na stałe zakodować link, który mógłby zostać usunięty, atakujący zapisuje te informacje w polu „memo” transakcji Solana.
Etap drugi: Kradzież danych
Ładunek drugiego etapu to program wykradający dane, który atakuje profile rozszerzeń przeglądarek, samodzielne aplikacje portfeli oraz pliki .txt i graficzne, w których prawdopodobnie przechowywane są klucze lub nasiona, a także tokeny npm, dane uwierzytelniające do serwisu Git, poufne dane VS Code oraz dane uwierzytelniające dostawców usług w chmurze. Po zebraniu tych informacji wysyła je na zdalny serwer za pomocą żądania POST.
Etap trzeci: Całkowite przejęcie kontroli nad systemem
Następnie przechodzi do trzeciego etapu. Złośliwe oprogramowanie pobiera dwa główne komponenty: plik binarny służący do phishingu urządzeń Ledger/Trezor, skierowany do użytkowników posiadających podłączone urządzenie Ledger lub Trezor, oraz trojana zdalnego dostępu (RAT) opartego na Node.js, zawierającego kilka modułów, w tym narzędzia do kradzieży danych logowania z przeglądarki oraz instalator Chrome. Zapewnia sobie trwałość poprzez skonfigurowanie zaplanowanych zadań i kluczy rejestru „Run”, dzięki czemu trojan uruchamia się ponownie przy każdym restarcie systemu.
RAT nie zapisuje na stałe adresu swojego głównego serwera dowodzenia i kontroli (C2). Zamiast tego przeprowadza wyszukiwanie w rozproszonej tablicy skrótów (DHT) w celu znalezienia przypisanej klucza publicznego. DHT to system rozproszony, który zapewnia usługę wyszukiwania podobną do tablicy skrótów. Pary klucz-wartość są przechowywane w DHT i mogą służyć do pobrania wartości powiązanej z danym kluczem. Jeśli ta metoda zawiedzie, RAT wraca do łańcucha bloków Solana, aby pobrać nowy adres IP.
Monitorowanie i śledzenie aktywności w przeglądarce
RAT wymusza również instalację Chrome (w przykładzie opisanym przez Aikido udaje ono, że jest to „Google Docs Offline”), które pełni funkcję wbudowanego narzędzia do monitorowania sesji. Oprócz kradzieży plików cookie, danych z lokalnej pamięci (localStorage), pełnego drzewaDOM(Document Object Model) aktywnej karty, zakładek, zrzutów ekranu, naciśnięć klawiszy, zawartości schowka, do 5000 wpisów historii przeglądarki oraz listy zainstalowanych rozszerzeń, może być również wykorzystywane do wykonywania zrzutów ekranu i działania jako keylogger.
Jak to wygląda z perspektywy ofiary
Z punktu widzenia ofiary wszystko to dzieje się bardzo dyskretnie. Jeśli będzie uważnie obserwować, może dostrzec kilka podejrzanych połączeń wychodzących, wpisy w rejestrze systemowym oraz nowe rozszerzenie przeglądarki.
Kto jest narażony i w jaki sposób może się to rozprzestrzeniać
Obecna konfiguracja wydaje się być skierowana do programistów, którzy mogą posiadać aktywa w kryptowalutach, jednak wiele z tych elementów oraz skradzione dane mogą zostać wykorzystane do przeprowadzenia ataków na łańcuch dostaw lub do ataków wymierzonych w inne grupy użytkowników.
Jak zachować bezpieczeństwo
Ze względu na ukryty charakter tego łańcucha zakażeń istnieją dwie główne strategie zapewniające bezpieczeństwo:
- Preferuj sprawdzone, zablokowane wersje i traktuj nagłe zmiany właścicieli, nowych opiekunów lub gruntowne przeróbki kodu w wydaniach z numerami porządkowymi jako sygnał do przeprowadzenia przeglądu.
- Regularnie sprawdzaj rozszerzenia przeglądarki, usuwaj te, których nie rozpoznajesz, i podchodź z rezerwą do klonów lub duplikatów aplikacji takich jak „Google Docs Offline”.
- Sprawdź zaplanowane zadania i lokalizacje uruchamiania w rejestrze pod kątem nieoczekiwanych wpisów.
- Korzystaj z aktualnego oprogramowania antywirusowego działającego w czasie rzeczywistym, aby wykrywać i blokować złośliwe połączenia oraz pobrane złośliwe oprogramowanie.
Wskaźniki naruszenia bezpieczeństwa (IOC)
Adresy IP:
45.32.150[.]251
217.69.3[.]152
217.69.0[.]159
45.150.34[.]158

Klucze rejestru:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\UpdateApp
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\UpdateLedger
Zadanie zaplanowane:
Imię: UpdateApp which runs: AghzgY.ps1
Rozszerzenie przeglądarki:
Nazwa wyświetlana: Google Docs Offline (wersja 1.95.1)
Nazwa katalogu Windows :jucku
Nazwa katalogu rozszerzeń systemu macOS: myextension
Nie tylko informujemy o zagrożeniach - my je usuwamy
Zagrożenia cyberbezpieczeństwa nigdy nie powinny wykraczać poza nagłówek. Chroń swoje urządzenia przed zagrożeniami, pobierając Malwarebytes już dziś.




