11 pachete rău intenționate descoperite în PyPI

Acum câteva zile, s-a anunțat că în directorul PyPI (indexul pachetelor Python) au fost identificate 11 pachete care conțin cod malițios.

Înainte de identificarea problemelor, pachetele au fost descărcate de aproximativ 38 de ori în total și este demn de remarcat faptul că pachetele rău intenționate detectate se remarcă prin utilizarea unor metode sofisticate de ascundere a canalelor de comunicare cu serverele atacatorilor.

Pachetele care au fost descoperite sunt următoarele:

  • pachet important (6305 descărcări) e pachet-important (12897): aceste pachete stabiliți o conexiune la un server extern sub pretextul conectării la pypi.python.org pentru a oferi acces shell la sistem (reverse shell) și utilizați programul trevorc2 pentru a ascunde canalul de comunicare.
  • pptest (10001) şi ipboards (946): a folosit DNS ca canal de comunicare pentru a transfera informații despre sistem (în primul pachet, numele de gazdă, directorul de lucru, IP-ul intern și extern, în al doilea, numele de utilizator și numele de gazdă).
  • bufnita luna (3285), DiscordSafety (557) y yiffparty (1859) - Identificați jetonul de serviciu Discord pe sistem și trimiteți-l la o gazdă externă.
  • trrfab (287): Trimite identificatorul, numele de gazdă și conținutul / etc / passwd, / etc / hosts, / home către o gazdă externă.
  • 10cenți10 (490) - S-a stabilit o conexiune shell inversă la o gazdă externă.
    yandex-yt (4183): a afișat un mesaj despre sistemul compromis și a redirecționat către o pagină cu informații suplimentare despre acțiuni suplimentare, emise prin nda.ya.ru (api.ya.cc).

Prin urmare, se menționează că trebuie acordată o atenție deosebită metodei de accesare a gazdelor externe utilizate în pachetele importantpackage și important-package, care utilizează rețeaua de livrare de conținut Fastly utilizată în catalogul PyPI pentru a-și ascunde activitatea.

De fapt, cererile au fost trimise către serverul pypi.python.org (inclusiv specificarea numelui python.org în SNI în cadrul cererii HTTPS), dar numele serverului controlat de atacator a fost setat în antetul HTTP „Gazdă ». Rețeaua de livrare a conținutului a trimis o solicitare similară serverului atacatorului, folosind parametrii conexiunii TLS la pypi.python.org atunci când transmite date.

Infrastructura PyPI este alimentată de Fastly Content Delivery Network, care folosește proxy-ul transparent Varnish pentru a stoca în cache cererile tipice și utilizează procesarea certificatelor TLS la nivel CDN, în loc de servere endpoint, pentru a redirecționa cererile HTTPS prin proxy. Indiferent de gazda de destinație, cererile sunt trimise către proxy, care identifică gazda dorită prin antetul HTTP „Host”, iar numele de gazde ale domeniului sunt legate de adresele IP tipice ale echilibratorului de încărcare CDN găsite pe toți clienții Fastly.

Serverul atacatorilor este, de asemenea, înregistrat la CDN-ul Fastly , care oferă planuri gratuite și permite chiar înregistrarea anonimă. Este demn de remarcat faptul că o schemă similară este utilizată pentru a trimite cereri către victimă atunci când este creat un „reverse shell”, dar inițiat de gazda atacatorului. Din exterior, interacțiunea cu serverul atacatorului pare a fi o sesiune legitimă cu directorul PyPI, criptată cu certificatul PyPI TLS. O tehnică similară, cunoscută sub numele de „domain fronting”, a fost utilizată anterior pentru a ascunde în mod activ numele de gazdă prin ocolirea blocurilor. Aceasta a implicat utilizarea opțiunii HTTPS furnizate de unele CDN-uri, specificarea gazdei fictive în SNI și transmiterea numelui de gazdă solicitat în antetul gazdei HTTP în cadrul unei sesiuni TLS.

Pentru a ascunde activitatea rău intenționată, a fost folosit suplimentar pachetul TrevorC2, ceea ce face ca interacțiunea cu serverul să fie similară cu navigarea normală pe web.

Pachetele pptest și ipboards au folosit o abordare diferită pentru a ascunde activitatea în rețea, bazată pe codificarea informațiilor utile în cererile către serverul DNS. Software-ul rău intenționat transmite informații prin efectuarea de interogări DNS, în care datele transmise către serverul de comandă și control sunt codificate folosind formatul base64 în numele subdomeniului. Un atacator acceptă aceste mesaje controlând serverul DNS al domeniului.

În final, dacă sunteți interesați să aflați mai multe, puteți găsi detalii la linkul următor.


Adăugați ca sursă preferată în Google