Ethereum ma wirusa w swoich smart contractach! Jak do tego doszło?

Etherum
W tym poście:
Ethereum
-2.37%

Nowatorska technika cyberataków z wykorzystaniem inteligentnych kontraktów Ethereum ujawnia nowe zagrożenie dla środowiska deweloperskiego. Cyberprzestępcy ukrywają złośliwe oprogramowanie w paczkach npm, wykorzystując blockchain jako kanał komunikacji – trudny do wykrycia i niemal niemożliwy do zablokowania.


  • Wykorzystanie Ethereum do dystrybucji adresów C2 utrudnia wykrywanie i neutralizację ataków,
  • Złośliwe pakiety npm były promowane przez fałszywe repozytoria GitHub podszywające się pod projekty kryptowalutowe.

Blockchain jako kanał dowodzenia

Eksperci z ReversingLabs odkryli, że dwa złośliwe pakiety opublikowane w rejestrze npm – colortoolsv2 oraz mimelib2 – wykorzystują inteligentne kontrakty Ethereum jako pośredni kanał dowodzenia (C2).

Zamiast twardo zakodowanej infrastruktury, paczki te odczytują dane z blockchaina, aby pobrać adres URL prowadzący do tzw. downloadera – kolejnego etapu ataku.

To podejście skutecznie utrudnia analizę kodu źródłowego oraz wykrycie zagrożenia przez tradycyjne mechanizmy bezpieczeństwa. Ponadto, zastosowanie niezmiennej i publicznej struktury blockchain sprawia, że zablokowanie kanału komunikacji jest praktycznie niemożliwe.

Fałszywe repozytoria i socjotechnika

Rozpowszechnianie pakietów odbywało się za pośrednictwem spreparowanych repozytoriów GitHub, takich jak solana-trading-bot-v2.

Zawierały one sztucznie napompowane oceny, sfabrykowane historie commitów i fikcyjnych opiekunów, co miało wzbudzić zaufanie potencjalnych użytkowników.

Choć liczba pobrań była minimalna – colortoolsv2 został pobrany siedem razy, a mimelib2 tylko raz – to według The Hacker News, nawet jedno użycie takiego pakietu w środowisku produkcyjnym może skutkować poważnym kompromitowaniem systemu. Oba pakiety zostały oznaczone jako złośliwe przez platformy Snyk i OSV, umożliwiając retrospektywną weryfikację bezpieczeństwa projektów.

Powrót znanej techniki

Zastosowana metoda nie jest zupełnie nowa. Podobne kampanie obserwowano już pod koniec 2024 roku, gdy zidentyfikowano setki pakietów typu typosquatting. Te złośliwe komponenty wykorzystywały skrypty install lub preinstall, które również pobierały dane z kontraktów Ethereum – w tym adresy URL prowadzące do szkodliwych plików takich jak node-win.exe, node-linux czy node-macos.

Wówczas firma Checkmarx wskazała konkretny kontrakt (0xa1b40044EBc2794f207D45143Bd82a1B86156c6b) oraz portfel (0x52221c293a21D8CA7AFD01Ac6bFAC7175D590A84) powiązane z atakiem, a także serwery C2 o adresach IP 45.125.67.172:1337 i 193.233.201.21:3001.

W analizach Phylum wykazano, że złośliwe pakiety korzystały z funkcji getString (address) z biblioteki ethers.js, umożliwiając dynamiczne pobieranie adresów serwerów dowodzenia z kontraktów Ethereum. Technika ta pozwala atakującym zmieniać adresy C2 bez konieczności aktualizacji samego pakietu.

Udoskonalona wersja ataku

W nowej odsłonie z 2025 roku hakerzy nie osadzają już ładunku bezpośrednio w kontrakcie. Znajduje się tam jedynie link do pobrania drugiego etapu ataku.

Taki model minimalizuje powierzchnię wykrycia, przy jednoczesnym zachowaniu elastyczności.

Nowe pakiety promowane były za pośrednictwem zautomatyzowanych aktualizacji zależności oraz socjotechnicznych zabiegów mających na celu wtopienie się w środowisko open-source. GitHub stał się głównym kanałem dystrybucji, co przy wysokim poziomie automatyzacji integracji CI/CD stanowi istotne zagrożenie.

W przeciwieństwie do wcześniejszych kampanii, tym razem blockchain zyskuje nową rolę — jako niezmienny, zdecentralizowany i trudny do zablokowania element infrastruktury C2, który omija klasyczne mechanizmy obronne, jak blokowanie adresów IP czy domen.

Wskaźniki kompromitacji (IOCs)

ReversingLabs oraz Checkmarx zidentyfikowały szereg kluczowych wskaźników zagrożeń:

Kontrakty Ethereum:

  • 0x1f117a1b07c108eae05a5bccbe86922d66227e2b (kampania 2025),
  • 0xa1b40044EBc2794f207D45143Bd82a1B86156c6b (kampania 2024).

Adres portfela powiązany z kampaniami:

  • 0x52221c293a21D8CA7AFD01Ac6bFAC7175D590A84.

Adresy IP i porty:

  • 45.125.67.172:1337,
  • 193.233.201.21:3001.

Nazwy złośliwych plików:

  • node-win.exe, node-linux, node-macos.

Hash SHA-1 dla drugiego etapu (2025):

  • 021d0eef8f457eb2a9f9fb2260dd2e391f009a21.

Organizacje udostępniły także sumy SHA-1 i SHA-256 dla zidentyfikowanych plików, co umożliwia zespołom bezpieczeństwa sprawdzenie ekspozycji w swoich artefaktach.

Zalecenia dla deweloperów i zespołów bezpieczeństwa

Wśród rekomendowanych środków ochrony znajdują się:

  • Wyłączenie uruchamiania skryptów cyklu życia (–ignore-scripts) podczas instalacji i budowania projektów,
  • Blokowanie znanych wskaźników zagrożeń (IOCs) na poziomie ruchu sieciowego,
  • Monitorowanie logów pod kątem inicjalizacji ethers.js oraz wywołań getString(address),
  • Stosowanie lockfiles do kontroli wersji zależności,
  • Weryfikacja tożsamości i aktywności opiekunów pakietów open-source.

Śledź CrypS. w Google News. Czytaj najważniejsze wiadomości bezpośrednio w Google! Obserwuj ->

Zajrzyj na nasz telegram i dołącz do Crypto. Society. Dołącz ->