Hyökkääjät väärinkäyttivät Ethereumin älysopimuksia piilottaakseen npm-haittaohjelman, ReversingLabs havaitsi

Viimeisin päivitys: 09/05/2025
Kirjoittaja: C SourceTrail
  • Kaksi npm-pakettia, 'colortoolsv2' ja 'mimelib2', reitittivät C2:n Ethereum-älysopimuksen kautta välttääkseen havaitsemisen.
  • Väärennetyt GitHub-kaupankäyntibottien repot paisuttivat luottamusta vaiheittaisilla commiteilla ja tileillä ennen haitallisen riippuvuuden lisäämistä.
  • Sama ketjusopimus (0x1f171a1b07c108eae05a5bccbe86922d66227e2b) toimitti toisen vaiheen URL-osoitteet.
  • IoC:t sisältävät tietyt pakettiversiot ja SHA1-tiivisteet; tiimien tulisi seurata odottamattomia lohkoketjukutsuja asennusskripteissä.

Ethereumin älysopimukset piilottavat npm-haittaohjelman

ReversingLabs on havainnut kaksi npm-pakettia , jotka reitittivät asennuslogiikan huomaamattomasti Ethereumin älysopimuksen kautta muuttaen julkisen lohkoketjun salaiseksi hakemistoksi komento- ja ohjausinfrastruktuurille (C2). Paketit 'colortoolsv2' ja 'mimelib2' teeskentelivät yksinkertaisina apuohjelmina ja mahdollistivat samalla toisen vaiheen hyötykuorman noutamisen.

Ulkoistamalla C2-osoitteen ketjussa olevalle sopimukselle operaattorit käärivät liikenteensä näennäisesti tavalliseen lohkoketjutoimintaan, mikä vaikeuttaa staattista ja maineeseen perustuvaa havaitsemista . Sopimus osoitteessa 0x1f171a1b07c108eae05a5bccbe86922d66227e2b paljasti lukufunktiot, jotka palauttivat URL-osoitteen, johon asentajat myöhemmin ottaisivat yhteyttä.

Ethereumin älysopimukset npm:ssä
Aiheeseen liittyvä artikkeli:
Haitalliset npm-paketit käyttivät Ethereumin älysopimuksia piilottaakseen hyötykuormalinkit

Npm-lataajasta ketjuun kytketylle C2:lle

Miten npm:stä Ethereumiin siirtyvä älysopimusketju toimi

'colortoolsv2'-funktion sisällä ohut index.js-lataaja kutsui ulkoisen komennon, jonka sijaintia ei ollut paikallisesti kovakoodattu. Sen sijaan se kyseli Ethereumin älysopimukselta päätepisteestä, joka ohjaisi isännän komento- ja ohjaustilaan.

Julkiset tutkimustyökalut, kuten Etherscan, osoittavat sopimuksen paljastavan yksinkertaisia ​​lukufunktioita, jotka palauttavat URL-osoitteen, käyttäen ketjua tehokkaasti joustavana osoittimena hyökkääjän infrastruktuuriin. Koska viimeinen hyppy on johdettu lohkoketjukutsusta, puolustajat eivät näe staattista verkkotunnusta sisäänrakennettuna npm-pakettiin.

Löytönsä jälkeen 'colortoolsv2' estettiin npm:ssä 7. heinäkuuta . Pian sen jälkeen operaattorit julkaisivat 'mimelib2':n, joka analyysin mukaan käytti uudelleen lähes identtistä logiikkaa ja samaa älysopimusta toisen vaiheen toimittamiseen.

Suoritettuaan lataaja haki toisen vaiheen komponentin, jonka tiivisteen tutkijat olivat julkaisseet (SHA1: 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21). Tämä epäsuora menetelmä antoi hyökkääjille mahdollisuuden vaihtaa kohteita halutessaan muokkaamalla ketjussa olevaa dataa koodin uudelleenpakkaamisen sijaan.

GitHubin uskottavuuspeli haitallisten riippuvuuksien peittämiseksi

GitHubin reposit valmisteltu piilottamaan npm-haittaohjelmat

ReversingLabs jäljitti myös verkon GitHub-väärennettyjä projekteja, jotka esitettiin kryptokaupankäyntibotteina , joilla oli tuhansia committeja, useita ylläpitäjiä, tähtiä ja tarkkailijoita. Repositoriot, kuten 'solana-trading-bot-v2', näyttivät vilkkailta, mutta suuri osa toiminnasta oli automatisoitua sotkua.

Monet commit-tiedostot tuottivat mitättömiä tiedostoja (esimerkiksi toistuvia LICENSE-muokkauksia), kun taas 10. heinäkuuta tienoilla luodut samannäköisten tilien klusterit eivät sisältäneet juurikaan todellista sisältöä – joissakin README-tiedostoissa luki vain "Hei". Käyttäjätunnuksia, kuten "slunfuedrac", "cnaovalles" ja "pasttimerles", esiintyi usein, mikä liioitteli signaaleja oikeellisuudesta.

Koodin erot osoittivat, että haitallinen riippuvuus lisättiin trading-bot-koodiin (esimerkiksi bot.ts-tiedostoon ja tuonteihin src/index.ts-tiedostossa ) ensin 'colortoolsv2':n ja myöhemmin 'mimelib2':n kautta. Tämä yhteys kävi paljon vähemmän ilmeiseksi satunnaiselle arvostelijalle meluisan commit-historian keskellä.

Yhdistämällä npm:n ja GitHubin toimijat hämärsivät perinteisiä luottamussignaaleja , jolloin piilotettu riippuvuus sulautui projektiin, joka vaikutti aktiiviselta, hyvin ylläpidetyltä ja yhteisön tukemalta.

IoC:t, laajuus ja mitä puolustajien tulisi seurata

NPM- ja Ethereum-sopimusjärjestelmään liittyvät keskeiset indikaattorit

ReversingLabs julkaisi seuraavat tähän kampanjaan liittyvät komprometti-indikaattorit (IoC) :

  • npm-paketit: värityökalutv2 1.0.0 (SHA1 678c20775ff86b014ae8d9869ce5c41ee06b6215), 1.0.1 (1bb7b23f45ed80bce33a6b6e6bc4f99750d5a34b), 1.0.2 (db86351f938a55756061e9b1f4469ff2699e9e27)
  • npm-paketti: mimelib2 1.0.0 (bda31e9022f5994385c26bd8a451acf0cd0b36da), 1.0.1 (c5488b605cf3e9e9ef35da407ea848cf0326fdea)
  • Toinen vaihe: SHA1 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21
  • Älykäs sopimus: 0x1f171a1b07c108eae05a5bccbe86922d66227e2b

Tämä lähestymistapa heijastelee aiempaa luotettavien hosting-palveluiden, kuten Gistsin tai pilvitallennuksen, väärinkäyttöä, mutta ketjun sisäinen käänne heikentää staattisia estolistoja ja yksinkertaisia ​​lähdekoodin tarkistuksia. C2-sijaintia voidaan muuttaa sopimuksessa koskematta pakettiin, ja lohkoketjuliikennettä voidaan tulkita väärin rutiininomaisesti kryptovaluuttojen viereisissä ympäristöissä.

Käytännön vaiheisiin kuuluvat tähtien ja committien ulkopuolisten riippuvuuksien alkuperän tarkistaminen, odottamattomien lohkoketjun RPC-kutsujen seuranta asennus-/koontivaiheiden aikana, ajonaikaisesti ratkaistujen URL-osoitteiden validointi ja tunnettujen hyvien versioiden kiinnittäminen eheystarkistuksilla. Tietoturvatiimien tulisi myös etsiä repositorioita, joiden toimintaa keinotekoisesti paisutetaan triviaaleilla, automatisoiduilla commiteilla.

Tapaus osoittaa, kuinka Ethereumin älysopimuksia voidaan käyttää uudelleen haittaohjelmien levityksen sietokykyisinä osoittimina npm-ekosysteemissä, samalla kun lavastettu GitHub-toiminta peittää haitalliset riippuvuudet näkyviltä. Näiden avoimen lähdekoodin ja ketjuinfrastruktuurin päällekkäisyyksien tunteminen on nyt välttämätöntä kehittäjien ja yritysten puolustukseksi.

Related viestiä: