Cod rău intenționat detectat în rest-client și în alte 10 pachete Ruby

Într-un pachet popular de bijuterii rest-client, cu un total de 113 milioane de descărcări, identificat Înlocuirea codului rău intenționat (CVE-2019-15224) care descarcă comenzi executabile și trimite informații către o gazdă externă. Atacul a fost efectuat prin compromite contul de dezvoltator rest-client în depozitul rubygems.org, după care atacatorii au publicat versiunile 13-14 pe 1.6.10 și 1.6.13 august, care au inclus modificări rău intenționate. Înainte ca versiunile rău intenționate să fie blocate, aproximativ o mie de utilizatori au reușit să le descarce (atacatorii au lansat actualizări la versiuni mai vechi pentru a nu atrage atenția).

Modificarea rău intenționată înlocuiește metoda „#authenticate” din clasă
Identitate, după care fiecare apel de metodă are ca rezultat trimiterea e-mailului și a parolei trimise în timpul încercării de autentificare către gazda atacatorilor. În acest fel, sunt interceptați parametrii de conectare ai utilizatorilor de servicii care utilizează clasa Identity și instalează o versiune vulnerabilă a bibliotecii rest-client, ceea ce Recomandate ca o dependență în multe pachete Ruby populare, inclusiv ast (64 milioane de descărcări), oauth (32 milioane), fastlane (18 milioane) și kubeclient (3.7 milioane).

În plus, la cod a fost adăugată o ușă din spate, permițând executarea unui cod Ruby arbitrar prin intermediul funcției de eval. Codul este transmis printr-un Cookie certificat de cheia atacatorului. Pentru a informa atacatorii despre instalarea unui pachet rău intenționat pe o gazdă externă, sunt trimise adresa URL a sistemului victimei și o selecție de informații despre mediu, cum ar fi parolele salvate pentru DBMS și serviciile cloud. Încercările de descărcare a scripturilor pentru minerit de criptomonede au fost înregistrate folosind codul rău intenționat mai sus menționat.

După ce am studiat codul rău intenționat, a fost dezvăluitîn care sunt prezente schimbări similare 10 pachete în Ruby Gems, care nu au fost capturate, dar au fost special pregătite de atacatori pe baza altor biblioteci populare cu nume similare, în care liniuța a fost înlocuită cu un caracter de subliniere sau invers (de exemplu, pe baza cron-parser a fost creat un pachet rău intenționat cron_parser și bazat pe doge_coin pachet rău intenționat de doge-coin). Pachete cu probleme:

Primul pachet rău intenționat din această listă a fost postat pe 12 mai, dar majoritatea au apărut în iulie. În total, aceste pachete au fost descărcate de aproximativ 2500 de ori.

Sursa: opennet.ru

Adauga un comentariu