Wewnątrz złośliwej infrastruktury służącej do rozpowszechniania EtherRAT, stron phishingowych i złośliwego oprogramowania 

| 15 czerwca 2026 r.
Wewnątrz złośliwej infrastruktury służącej do rozpowszechniania EtherRAT, stron phishingowych i złośliwego oprogramowania 

W trakcie naszych ostatnich działań związanych z wykrywaniem zagrożeń odkryliśmy, że złośliwe oprogramowanie EtherRAT jest rozpowszechniane przez stronę internetową o nietypowej stronie głównej. Dzięki tej stronie głównej udało nam się wykryć rozległą infrastrukturę służącą do rozpowszechniania złośliwego oprogramowania, szkodliwych dokumentów, oprogramowania do zdalnego dostępu oraz stron phishingowych. 

EtherRAT to narzędzie typu RAT opracowane w środowisku Node.js, które umożliwia atakującemu przejęcie pełnej kontroli nad komputerem oraz wykonywanie dowolnego kodu przesłanego przez serwer dowodzenia i kontroli (C2). Złośliwe oprogramowanie wykorzystuje łańcuch bloków Ethereum do nawiązania połączenia z serwerem C2, stąd część nazwy „Ether”. EtherRAT jest zazwyczaj rozpowszechniany za pośrednictwem plików MSI, PowerShell lub skryptów JavaScript. 

Otwarty katalog, z którego pochodzi EtherRAT: tam wszystko się zaczęło 

W trakcie poszukiwania zagrożeń znaleźliśmy otwarty katalog, z którego rozpowszechniano instalatory MSI oraz skrypty PowerShell, służące ostatecznie do rozprzestrzeniania oprogramowania EtherRAT. W analizowanych przypadkach skrypty PowerShell i instalatory MSI były udostępniane z folderu „/install”. Wersje te mają numery porządkowe, od v1 do v10. 

Rysunek 1: Serwer Open Directory zawierający plik MSI EtherRAT 
Open Directory udostępnia plik MSI programu EtherRAT 

Strona główna przyciągnęła naszą uwagę i skłoniła nas do bliższego zapoznania się z kampanią. 

Strona główna wyświetlana przez witrynę dystrybucyjną EtherRAT 

Analizując domeny i powiązane z nimi adresy IP związane z dystrybucją EtherRAT, wykryliśmy inne podobne strony główne o tematyce związanej z hakowaniem. Wydawało się, że należą one do większego łańcucha dystrybucji, który rozpowszechnia również oprogramowanie phishingowe, oprogramowanie do zdalnego sterowania oraz inne złośliwe oprogramowanie. Strony te zazwyczaj zawierają kilka folderów z treściami związanymi ze złośliwym oprogramowaniem i phishingiem, a to, co jest na nich wyświetlane, zależy od konkretnego łańcucha infekcji. 

Różne strony internetowe, które prowadzą do tych samych adresów IP, wyświetlały wcześniej treści związane z fikcyjnymi firmami lub standardowymi szablonami. Wykorzystanie tych nowych stron może zatem stanowić sposób na utrudnienie wykrycia przez automatyczne skanery lub badaczy. Oto niektóre ze stron głównych, które znaleźliśmy:

Niektóre ze złośliwych stron internetowych zindeksowanych w Google 

EtherRAT to interesujący program typu RAT, ponieważ składa się z zaledwie kilku wierszy kodu i umożliwia wykonywanie dowolnego kodu przesłanego przez serwer C2. Ponadto wykorzystanie łańcucha bloków Ethereum do uzyskania dostępu do serwera C2 sprawia, że jest on bardziej odporny na ataki mające na celu unieruchomienie infrastruktury. 

Analiza techniczna EtherRAT 

Wykryte strony internetowe zazwyczaj rozpowszechniają pliki MSI lub skrypty PowerShell o nazwach wskazujących na wersję, np. v1.msi, v2.ps1 itd. 

MSI Loader 

Plik MSI „v9.msi” zawiera trzy składniki: 

Nazwa pliku MSI Opis 
KmPuGimn.cmd Program uruchamiający BAT 
cDQMlQAru0.xml Pierwszy moduł ładujący JScript 
MRaQCipBIZeiZNx.log Zaszyfrowany EtherRAT 

Po uruchomieniu pliku MSI uruchamiany jest plik „KmPuGimn.cmd”: 

conhost --headless cmd /c "KmPuGimn.cmd" 

Ten zaszyfrowany plik BAT wykonuje różne operacje: 

  • Rozpakowuje pozostałe pliki do losowego folderu w katalogu %LOCALAPPDATA%. 
  • Ponownie uruchamia się poprzez: 
    • %SystemRoot%\System32\conhost.exe –headless %SystemRoot%\System32\cmd.exe /c call “C:\Users\{user}\AppData\Local\{random_path}\KmPuGimn.cmd” nKWa 
  • Uruchamia polecenie „where node”, aby znaleźć istniejącą instalację. 
  • Pobierze Node.js, jeśli nie zostanie znaleziony 
    • Wykorzystuje polecenie „curl -sLo” do pobrania Node.js z oficjalnej strony internetowej. 
    • Rozpakuj do katalogu instalacyjnego za pomocą polecenia „tar -xf”. 
    • Zmienia nazwę wyodrębnionego katalogu na „28Q75h”.
  • Pętla trwa do momentu, gdy istnieją zarówno pliki „MRaQCipBIZeiZNx.log”, jak i „cDQMlQAru0.xml”, a następnie wykonuje: 
    • conhost.exe –headless C:\Users\{user}\AppData\Local\{random_path}\{random_path}\node.exe cDQMlQAru0.xml 

Uruchomiony plik „cDQMlQAru0.xml” to moduł ładujący, który odszyfrowuje osadzony kod za pomocą funkcji XOR, a następnie uruchamia go za pomocą funkcji „vm.compileFunction”. 

decrypted[i] = (encrypted[i] - key[i % key.length] - i) & 0xFF 
Wbudowany kod po odszyfrowaniu 

Odszyfrowany kod: 

  • Copies node.exe in “C:\Users\{user}\AppData\Local\{random_path}\{random_path}\_MJlLlt5.exe”. 
  • Dodaje klucz rejestru zapewniający trwałość działania programu „conhost.exe –headless”. 
  • Odszyfrowuje plik „MRaQCipBIZeiZNx.log” i uruchamia go, przekazując mu dane wejściowe ze standardowego strumienia wejściowego pliku „_MJlLlt5.exe”. 

Algorytm deszyfrowania to niestandardowy schemat dekodowania strumieniowego oparty na operacji XOR, rotacjach bajtów i akumulatorze: 

for e in range(len(data)): 
    byte = data[e] 
    g = prev 
    prev = byte 
    byte = (byte - g) & 0xff 
    byte = byte ^ n[e % len(n)] ^ ((e >> 8) & 0xff) 
    byte = si[byte] 
    byte = (byte - k[e % len(k)]) & 0xff
    result[e] = byte 

Ostatnim etapem jest wdrożenie EtherRAT. EtherRAT umożliwia atakującemu: 

  • Wykonanie dowolnego kodu JavaScript otrzymanego od serwera C2. Umożliwia to atakującemu wykonywanie nowych poleceń, operowanie na plikach i folderach, modyfikowanie rejestru oraz wykradanie danych. 
  • Załóż nowy serwer C2 oparty na łańcuchu bloków Ethereum. 
  • Ponownie zaszyfrować sam siebie. 
  • Zapisz logi w pliku „svchost.log”. 
Fragment odszyfrowanego kodu EtherRAT 

EtherRAT wykorzystuje metodę JSON-RPC „eth_call” sieci Ethereum do pobrania aktywnego adresu URL serwera C2 z kontraktu inteligentnego w sieci głównej Ethereum.  

W tym przypadku parametry łańcucha bloków są następujące: 

  • Kontrakt: 0x88ea8d0bc4146f0a018e989df3fd089ac48f9a58 
  • Selektor funkcji: 0x7d434425 
  • Argument: 0xf6a772e163e64b07f658946f863b5d457d88f9f0 
Zdekodowany adres C2 z łańcucha bloków Ethereum 

Adresy URL, z którymi nawiązano połączenie w celu uzyskania punktu końcowego serwera C2, to: 

  • mainnet.gateway.tenderly.co 
  • rpc[.]flashbots[.]net/fast 
  • rpc[.]mevblocker[.]io 
  • eth-mainnet[.]public[.]blastapi[.]io 
  • ethereum-rpc[.]publicnode[.]com 
  • eth[.]drpc[.]org 
  • eth[.]merkle[.]io 

Żądania odświeżania wykorzystują losowe wzorce adresów URL oparte na parametrach zdefiniowanych w kodzie: 

GET /api/<4-byte-hex>/<victim-uuid>/<4-byte-hex>.<ext>?<param>=<build-id> 
X-Bot-Server: <c2_url> 

W analizowanej próbce parametry są następujące: 

  • Identyfikator kompilacji: „6f816d80-0d6c-4384-9cd6-6b79965fc08f” 
  • rozszerzenie: losowo wybrane spośród „png”, „jpg”, „gif”, „css”, „ico”, „webp”. 
  • param: losowo wybrany spośród „id”, „token”, „key”, „b”, „q”, „s”, „v”. 

Po uruchomieniu RAT wysyła swój kod źródłowy do serwera C2. Serwer C2 odpowiada nową, zaszyfrowaną wersją skryptu, która jest zapisywana z powrotem na dysku, dzięki czemu każde uruchomienie generuje nowy skrót pliku. 

POST /api/[REOBF_PATH]/<victim-uuid> 
Body: { "code": "<current_script_contents>", "build": "<build_id>" } 

Po uruchomieniu EtherRAT zaobserwowaliśmy różne działania programu cmd.exe po przejęciu kontroli, mające na celu sprawdzenie środowiska. Na przykład: 

  • powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command „(Get-WmiObject Win32_VideoController).Name”
  • reg query „HKLM\SOFTWARE\Microsoft\Cryptography” /v MachineGuid 
  • powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command „(Get-WmiObject Win32_ComputerSystem).Domain” 
  • powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command „(Get-WmiObject Win32_ComputerSystem).PartOfDomain” 
  • cmd.exe /d /s /c „net session” 
Logi EtherRAT 

Moduł ładujący PowerShell 

Działania wykonywane przez moduły ładujące PowerShell są bardzo podobne do ostatniego etapu działania skryptu JS instalatora MSI: 

  • Pobierze Node.js, jeśli nie ma go w systemie. 
  • Utwórz niezbędne katalogi. 
  • Odszyfruj EtherRAT za pomocą niestandardowego algorytmu deszyfrującego. 
  • Uruchom Node.js za pomocą programu conhost.exe wraz z odszyfrowanym ładunkiem EtherRAT. 

Wykryliśmy kilka wariantów modułu ładującego PowerShell umieszczonych na tych stronach internetowych; w analizowanych skryptach PowerShell zmieniają się mianowicie nazwy funkcji oraz same funkcje deszyfrujące. 

Odszyfrowanie ładunku EtherRAT za pomocą niestandardowego algorytmu deszyfrującego 

Śledzenie infrastruktury służącej do przeprowadzania ataków 

Analizując różne strony internetowe zawierające treści związane z tematem hakowania, odkryliśmy, że w przeszłości wiele z nich udostępniało w określonych ścieżkach dostępu wiele stron phishingowych. Na przykład: 

  • /zht/sharep-redirect.html 
  • /bl/me.php 
  • /t/zespoły 
  • Windows.php 

Wygląda na to, że te domeny i adresy IP stanowią w rzeczywistości część znacznie większej infrastruktury służącej do rozpowszechniania złośliwego oprogramowania, ataków phishingowych, szkodliwych dokumentów oraz oprogramowania do zdalnego sterowania. Możliwe, że z tej infrastruktury korzysta wielu cyberprzestępców, którzy w zależności od konkretnej kampanii uruchamiają różne punkty końcowe URL. 

Co ciekawe, większość domen powiązanych w przeszłości z tą złośliwą infrastrukturą również wyświetlała stronę HTML dotyczącą usługi „Bulletproof Infrastructure”.  

Zauważyliśmy, że kampanie phishingowe tego typu zazwyczaj rozpoczynają się od wiadomości e-mail zawierających załączniki, takie jak pliki PDF lub Excel. Dokumenty te zachęcają użytkownika do kliknięcia linku w celu wyświetlenia kolejnego dokumentu. Poniżej przedstawiamy dwa przykłady dokumentów phishingowych dołączonych do wiadomości e-mail:

Strony te zazwyczaj proszą użytkownika o podanie adresu e-mail, a następnie kontynuują proces infekcji i rozpowszechniają kolejne strony phishingowe lub zawierające złośliwe oprogramowanie. Poniżej przedstawiono niektóre ze stron phishingowych wykrytych w ramach tej złośliwej infrastruktury:

Błędy w konfiguracji spowodowały ujawnienie zestawów do phishingu 

Podczas monitorowania złośliwych stron internetowych natrafiliśmy na jedną z nich, na której znajdował się otwarty katalog zawierający część zestawu do phishingu wykorzystywanego w tych kampaniach. 

Hosting typu „open directory” jako element zestawów do phishingu

 

W otwartym katalogu znajdowało się kilka folderów zawierających kod oraz strony związane z kampaniami phishingowymi. 

Kod zestawu do phishingu 

Ponadto niektóre domeny były nieprawidłowo skonfigurowane, co umożliwiało pobranie pliku „cl.zip”, zawierającego kod źródłowy stron „URL Cloaker”. 

Fragment kodu programu „URL Cloaker” 

Wskaźniki naruszenia bezpieczeństwa (IOC)  

adresy IP 

82.165.65.244: infrastruktura służąca do działań złośliwych  

185.221.216.121: infrastruktura służąca do szkodliwych działań  

43.163.233.166: infrastruktura służąca do szkodliwych działań  

40.160.238.30: infrastruktura służąca do działań złośliwych  

159.89.227.204: infrastruktura służąca do szkodliwych działań  

57[.]128[.]31[.]168: infrastruktura służąca do szkodliwych działań  

Domeny 

ivorilla[.]cloud: rozpowszechnianie EtherRAT  

mx[.]nrlwz[.]com: Rozpowszechnianie EtherRAT  

dn[.]eyqwj[.]com: Rozpowszechnianie EtherRAT  

bi[.]mkrjcsw[.]com: Rozpowszechnianie EtherRAT  

dorqen[.]casa: Rozpowszechnianie EtherRAT  

kelvra[.]club: Rozpowszechnianie EtherRAT  

cambioefectivo[.]com: EtherRAT C2  

vabelles[.]com: EtherRAT C2  

tranzed[.]org: EtherRAT C2  

kibrisarazi[.]com: EtherRAT C2  

aravisblog[.]com: EtherRAT C2  

publicspeakingtip[.]org: EtherRAT C2  

Podziękowanias 


Powstrzymaj zagrożenia, zanim wyrządzą jakąkolwiek szkodę.

Malwarebytes Browser Guard automatycznieBrowser Guard strony phishingowe i złośliwe witryny. Bezpłatny, wystarczy jedno kliknięcie, aby zainstalować. Dodaj go do swojej przeglądarki →

O autorze

Gabriele jest inżynierem ds. badań nad złośliwym oprogramowaniem, który uwielbia walkę z tym zagrożeniem. Kiedy nie zajmuje się tym, można go spotkać, jak cieszy się przyrodą, sztuką i zwierzętami.