Prije nekoliko dana objavljeno je da je u PyPI direktoriju (Python package index) identificirano 11 paketa koji sadrže zlonamjerni kod.
Prije nego što su problemi identificirani, paketi su preuzeti ukupno otprilike 38 000 puta , a vrijedi napomenuti da se otkriveni zlonamjerni paketi ističu po korištenju sofisticiranih metoda za prikrivanje komunikacijskih kanala sa serverima napadača.
Paketi koji su otkriveni su sljedeći:
- važan paket (6305 preuzimanja) e važan-paket (12897): ovi paketi uspostaviti vezu s vanjskim poslužiteljem pod krinkom povezivanja na pypi.python.org kako bi se omogućio pristup ljuske sustavu (obrnuta ljuska) i upotrijebite program trevorc2 da sakrijete komunikacijski kanal.
- pptest (10001) i ipboards (946): koristio 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 ime hosta).
- sovina mjesec (3285), DiscordSafety (557) y yiffparty (1859) - Identificirajte token usluge Discord na sustavu i pošaljite ga vanjskom hostu.
- trrfab (287): Šalje identifikator, ime hosta i sadržaj / etc / passwd, / etc / hosts, / home vanjskom hostu.
- 10cent10 (490) - Uspostavljena obrnuta veza ljuske s vanjskim hostom.
yandex-yt (4183): prikazao je poruku o kompromitiranom sustavu i preusmjerio na stranicu s dodatnim informacijama o dodatnim radnjama, izdanim putem nda.ya.ru (api.ya.cc).
Stoga se spominje da posebnu pozornost treba posvetiti metodi pristupa vanjskim hostovima korištenim u paketima importantpackage i important-package, koji koriste mrežu za isporuku sadržaja Fastly koja se koristi u PyPI katalogu kako bi sakrili svoju aktivnost.
Zapravo, zahtjevi su poslani na poslužitelj pypi.python.org (uključujući navođenje imena python.org u SNI unutar HTTPS zahtjeva), ali je naziv poslužitelja koji kontrolira napadač postavljen u HTTP zaglavlje "Host ». Mreža za isporuku sadržaja poslala je sličan zahtjev poslužitelju napadača, koristeći parametre TLS veze na pypi.python.org prilikom prijenosa podataka.
PyPI -jeva infrastruktura pokreće se Fastly Content Delivery Networkom, koji koristi Varnishov transparentni proxy za keširanje tipičnih zahtjeva i koristi obradu TLS certifikata na razini CDN-a, umjesto krajnjih poslužitelja, za prosljeđivanje HTTPS zahtjeva putem proxyja. Bez obzira na odredišni host, zahtjevi se šalju proxyju, koji identificira željeni host pomoću HTTP zaglavlja "Host", a nazivi hostova domene vezani su uz tipične IP adrese CDN uravnoteživača opterećenja koje se nalaze na svim Fastly klijentima.
Poslužitelj napadača također je registriran kod CDN-a Fastly , koji nudi besplatne planove, pa čak i omogućuje anonimnu registraciju. Vrijedi napomenuti da se slična shema koristi za slanje zahtjeva žrtvi kada se stvori "obrnuta ljuska", ali je inicira napadačev host. Izvana, interakcija s napadačevim serverom čini se kao legitimna sesija s PyPI direktorijem, šifrirana PyPI TLS certifikatom. Slična tehnika, poznata kao "domain fronting", prethodno se koristila za aktivno prikrivanje naziva hosta zaobilaženjem blokova. To je uključivalo korištenje HTTPS opcije koju pružaju neki CDN-ovi, navođenje lažnog hosta u SNI-ju i prosljeđivanje traženog naziva hosta u HTTP zaglavlju hosta unutar TLS sesije.
Za skrivanje zlonamjerne aktivnosti dodatno je korišten paket TrevorC2, koji čini interakciju s poslužiteljem sličnom normalnom pregledavanju weba.
Paketi pptest i ipboards koristili su drugačiji pristup za skrivanje mrežne aktivnosti, na temelju kodiranja korisnih informacija u zahtjevima prema DNS poslužitelju. Zlonamjerni softver prenosi informacije izvodeći DNS upite, u kojima se podaci koji se prenose na poslužitelj za naredbe i upravljanje kodiraju korištenjem base64 formata u nazivu poddomene. Napadač prihvaća ove poruke kontrolirajući DNS poslužitelj domene.
Konačno, ako ste zainteresirani saznati više, detalje možete pronaći na sljedećoj poveznici.