Codice dannoso rilevato nel rest-client e in altri 10 pacchetti Ruby

In un popolare pacchetto di gemme resto-cliente, con un totale di 113 milioni di download, identificato Sostituzione del codice dannoso (CVE-2019-15224) che scarica comandi eseguibili e invia informazioni a un host esterno. L'attacco è stato effettuato attraverso compromesso rest-client dell'account sviluppatore nel repository rubygems.org, dopo di che gli aggressori hanno pubblicato le versioni 13-14 il 1.6.10 e 1.6.13 agosto, che includevano modifiche dannose. Prima che le versioni dannose venissero bloccate, circa un migliaio di utenti sono riusciti a scaricarle (gli aggressori hanno rilasciato aggiornamenti alle versioni precedenti per non attirare l'attenzione).

La modifica dannosa sovrascrive il metodo "#authenticate" nella classe
Identità, dopo la quale ogni chiamata al metodo fa sì che l'e-mail e la password inviate durante il tentativo di autenticazione vengano inviate all'host dell'aggressore. In questo modo vengono intercettati i parametri di accesso degli utenti del servizio che utilizzano la classe Identity e installano una versione vulnerabile della libreria rest-client, il che In primo piano come dipendenza in molti pacchetti Ruby popolari, inclusi ast (64 milioni di download), oauth (32 milioni), fastlane (18 milioni) e kubeclient (3.7 milioni).

Inoltre, al codice è stata aggiunta una backdoor, che consente l'esecuzione di codice Ruby arbitrario tramite la funzione eval. Il codice viene trasmesso tramite un cookie certificato dalla chiave dell'aggressore. Per informare gli aggressori dell’installazione di un pacchetto dannoso su un host esterno, vengono inviati l’URL del sistema della vittima e una selezione di informazioni sull’ambiente, come le password salvate per il DBMS e i servizi cloud. Con il suddetto codice dannoso sono stati registrati tentativi di download di script per il mining di criptovalute.

Dopo aver studiato il codice dannoso lo era rivelatoin cui sono presenti cambiamenti simili 10 pacchetti in Ruby Gems, che non sono state catturate, ma sono state preparate appositamente dagli aggressori sulla base di altre librerie popolari con nomi simili, in cui il trattino è stato sostituito con un carattere di sottolineatura o viceversa (ad esempio, in base a cron-parser è stato creato un pacchetto dannoso cron_parser e basato su doge_moneta pacchetto dannoso doge-coin). Pacchetti problematici:

Il primo pacchetto dannoso di questo elenco è stato pubblicato il 12 maggio, ma la maggior parte è apparsa a luglio. In totale, questi pacchetti sono stati scaricati circa 2500 volte.

Fonte: opennet.ru

Aggiungi un commento