Malware EtherRAT
Uważa się, że niedawno odkryta kampania zagrożeń powiązana z operatorami z Korei Północnej wykorzystuje krytyczną lukę w zabezpieczeniach React2Shell (RSC) do wdrożenia nieznanego wcześniej trojana zdalnego dostępu o nazwie EtherRAT. To złośliwe oprogramowanie wyróżnia się włączeniem inteligentnych kontraktów Ethereum do swojego procesu Command-and-Control (C2), instalacją wielu warstw trwałości w systemie Linux oraz dołączeniem własnego środowiska uruchomieniowego Node.js podczas wdrażania.
Spis treści
Linki do trwających operacji „Wywiadów zakaźnych”
Zespoły ds. bezpieczeństwa dostrzegły wyraźne podobieństwa między aktywnością EtherRAT a długotrwałą kampanią znaną jako Contagious Interview, serią ataków trwających od początku 2025 r., w których do dostarczania złośliwego oprogramowania wykorzystywana jest technika EtherHiding.
Tego typu operacje zazwyczaj są wymierzone w programistów blockchain i Web3, maskując złośliwe intencje za pomocą sfabrykowanych rozmów kwalifikacyjnych, testów programistycznych i ocen wideo. Ofiary są zazwyczaj kontaktowane za pośrednictwem platform takich jak LinkedIn, Upwork i Fiverr, gdzie atakujący podszywają się pod legalnych rekruterów oferujących atrakcyjne oferty pracy.
Badacze zauważają, że ten klaster zagrożeń stał się jedną z najbardziej produktywnych sił złośliwego oprogramowania w ekosystemie npm, wykazując się zdolnością do infiltracji łańcuchów dostaw opartych na JavaScript i przepływów pracy skoncentrowanych na kryptowalutach.
Pierwsze naruszenie: wykorzystanie React2Shell
Sekwencja ataku rozpoczyna się od wykorzystania luki CVE‑2025‑55182, krytycznej luki w zabezpieczeniach RSC o idealnym wskaźniku ważności wynoszącym 10. Wykorzystując tę lukę, atakujący wykonują polecenie zakodowane w formacie Base64, które pobiera i uruchamia skrypt powłoki odpowiedzialny za zainicjowanie podstawowego implantu JavaScript.
Skrypt jest pobierany za pomocą curl, a wget i python3 działają jako metody zapasowe. Przed uruchomieniem głównego ładunku przygotowuje system, pobierając Node.js v20.10.0 bezpośrednio z nodejs.org, a następnie zapisuje na dysku zaszyfrowany blob danych i ukryty dropper JavaScript. Aby ograniczyć ślady kryminalistyczne, skrypt czyści się po zakończeniu konfiguracji i przekazuje kontrolę dropperowi.
Dostawa EtherRAT: szyfrowanie, wykonywanie i inteligentny kontrakt C2
Podstawowa funkcja droppera jest prosta: odszyfrowanie ładunku EtherRAT za pomocą zakodowanego na stałe klucza i uruchomienie go za pomocą świeżo pobranego pliku binarnego Node.js.
Cechą wyróżniającą EtherRAT jest wykorzystanie EtherHiding, metody, która co pięć minut pobiera adres serwera C2 z inteligentnego kontraktu Ethereum. Pozwala to operatorom na aktualizowanie infrastruktury na bieżąco, nawet jeśli obrońcy zakłócają działanie istniejących domen.
Unikalną cechą tej implementacji jest system głosowania oparty na konsensusie. EtherRAT odpytuje jednocześnie dziewięć publicznych punktów końcowych RPC Ethereum, zbiera wyniki i ufa adresowi URL C2 zwróconemu przez większość. To podejście neutralizuje kilka strategii obronnych, zapewniając, że jeden skompromitowany lub zmanipulowany punkt końcowy RPC nie będzie w stanie wprowadzić w błąd ani zablokować botnetu.
Badacze wcześniej zaobserwowali podobną technikę w złośliwych pakietach npm colortoolsv2 i mimelib2, które służyły do rozpowszechniania komponentów pobierania wśród programistów.
Odpytywanie poleceń o wysokiej częstotliwości i trwałość wielowarstwowa
Po nawiązaniu komunikacji z serwerem C2, EtherRAT rozpoczyna szybki cykl odpytywania, który trwa co 500 milisekund. Każda odpowiedź przekraczająca dziesięć znaków jest interpretowana jako kod JavaScript i natychmiast wykonywana w zainfekowanym systemie.
Długoterminowy dostęp utrzymywany jest za pomocą pięciu technik trwałości, które zwiększają niezawodność różnych procesów uruchamiania systemu Linux:
Metody trwałości:
- Usługa użytkownika Systemd
- Wpis automatycznego startu XDG
- Zadania cron
- Modyfikacja .bashrc
- Wstrzyknięcie profilu
Dzięki rozprzestrzenianiu się na wiele ścieżek wykonywania złośliwe oprogramowanie działa nawet po ponownym uruchomieniu komputera, zapewniając operatorom nieprzerwany dostęp.
Możliwości samoaktualizacji i strategia zaciemniania
EtherRAT obejmuje zaawansowany proces aktualizacji: wysyła własny kod źródłowy do punktu końcowego API, odbiera zmodyfikowaną wersję z serwera C2 i uruchamia się ponownie z nową wersją. Chociaż aktualizacja jest funkcjonalnie identyczna, zwrócony ładunek jest inaczej maskowany, co pomaga implantowi ominąć statyczne techniki detekcji.
Kod nakłada się na poprzednie rodziny zagrożeń JavaScript
Dalsza analiza ujawnia, że części szyfrowanego modułu ładującego EtherRAT mają wspólne wzorce z BeaverTail, znanym programem pobierającym i wykradającym informacje opartym na JavaScript, używanym w operacjach Contagious Interview. Wzmacnia to tezę, że EtherRAT jest albo bezpośrednim następcą, albo rozszerzeniem narzędzi używanych w tej kampanii.
Konsekwencje dla obrońców: Przejście w stronę ukrycia i wytrwałości
EtherRAT stanowi znaczący krok naprzód w wykorzystaniu React2Shell. Zamiast koncentrować się wyłącznie na oportunistycznych działaniach, takich jak kopanie kryptowalut czy kradzież danych uwierzytelniających, ten implant priorytetowo traktuje ukryty, długoterminowy dostęp. Połączenie inteligentnych operacji C2 opartych na kontraktach, weryfikacji punktów końcowych opartej na konsensusie, wielu warstw trwałości i ciągłego automaskowania stanowi poważne wyzwanie dla obrońców.
Najważniejsze wnioski dla zespołów ds. bezpieczeństwa
Zespoły ds. bezpieczeństwa powinny pamiętać, że EtherRAT stanowi znaczący wzrost wykorzystania RSC, przekształcając go w trwałe i wysoce adaptowalne zagrożenie, zdolne do podtrzymywania długotrwałych ataków. Jego infrastruktura dowodzenia i kontroli jest szczególnie odporna, wykorzystując inteligentne kontrakty Ethereum i mechanizm konsensusu wielu punktów końcowych, aby przeciwdziałać próbom sinkholingu, atakom hakerskim i manipulacjom na poszczególnych punktach końcowych. Ponadto, ścisły związek złośliwego oprogramowania z kampanią Contagious Interview podkreśla ciągłe skupienie się na ważnych celach programistów, podkreślając potrzebę wzmożonej czujności w społecznościach deweloperskich blockchain i Web3.