Εντοπίστηκε κακόβουλος κώδικας στο rest-client και σε 10 άλλα πακέτα Ruby

Σε μια δημοφιλή συσκευασία πολύτιμων λίθων ξεκούραση-πελάτης, με συνολικά 113 εκατομμύρια λήψεις, αναγνωρισθείς Αντικατάσταση κακόβουλου κώδικα (CVE-2019-15224) που κατεβάζει εκτελέσιμες εντολές και στέλνει πληροφορίες σε εξωτερικό κεντρικό υπολογιστή. Η επίθεση πραγματοποιήθηκε μέσω συμβιβασμός λογαριασμός προγραμματιστή rest-client στο αποθετήριο rubygems.org, μετά το οποίο οι εισβολείς δημοσίευσαν τις εκδόσεις 13-14 στις 1.6.10 και 1.6.13 Αυγούστου, οι οποίες περιλάμβαναν κακόβουλες αλλαγές. Πριν αποκλειστούν οι κακόβουλες εκδόσεις, περίπου χίλιοι χρήστες κατάφεραν να τις κατεβάσουν (οι εισβολείς κυκλοφόρησαν ενημερώσεις σε παλαιότερες εκδόσεις για να μην τραβήξουν την προσοχή).

Η κακόβουλη αλλαγή παρακάμπτει τη μέθοδο "#authenticate" στην κλάση
Ταυτότητα, μετά την οποία κάθε κλήση μεθόδου έχει ως αποτέλεσμα το email και τον κωδικό πρόσβασης που αποστέλλονται κατά τη διάρκεια της προσπάθειας ελέγχου ταυτότητας να αποστέλλονται στον κεντρικό υπολογιστή των εισβολέων. Με αυτόν τον τρόπο, παρεμποδίζονται οι παράμετροι σύνδεσης των χρηστών υπηρεσιών που χρησιμοποιούν την κλάση Identity και εγκαθιστούν μια ευάλωτη έκδοση της βιβλιοθήκης υπόλοιπου-πελάτη, η οποία χαρακτηριστικό ως εξάρτηση σε πολλά δημοφιλή πακέτα Ruby, συμπεριλαμβανομένων των ast (64 εκατομμύρια λήψεις), oauth (32 εκατομμύρια), fastlane (18 εκατομμύρια) και kubeclient (3.7 εκατομμύρια).

Επιπλέον, μια κερκόπορτα έχει προστεθεί στον κώδικα, επιτρέποντας την εκτέλεση αυθαίρετου κώδικα Ruby μέσω της συνάρτησης eval. Ο κωδικός μεταδίδεται μέσω ενός Cookie πιστοποιημένο από το κλειδί του εισβολέα. Για να ενημερώσετε τους εισβολείς σχετικά με την εγκατάσταση ενός κακόβουλου πακέτου σε έναν εξωτερικό κεντρικό υπολογιστή, αποστέλλεται η διεύθυνση URL του συστήματος του θύματος και μια επιλογή πληροφοριών σχετικά με το περιβάλλον, όπως αποθηκευμένοι κωδικοί πρόσβασης για το DBMS και τις υπηρεσίες cloud. Οι προσπάθειες λήψης σεναρίων για εξόρυξη κρυπτονομισμάτων καταγράφηκαν χρησιμοποιώντας τον προαναφερθέντα κακόβουλο κώδικα.

Μετά από μελέτη του κακόβουλου κώδικα ήταν αποκάλυψεότι παρόμοιες αλλαγές υπάρχουν σε 10 συσκευασίες στο Ruby Gems, τα οποία δεν καταγράφηκαν, αλλά προετοιμάστηκαν ειδικά από επιτιθέμενους με βάση άλλες δημοφιλείς βιβλιοθήκες με παρόμοια ονόματα, στις οποίες η παύλα αντικαταστάθηκε με μια υπογράμμιση ή το αντίστροφο (για παράδειγμα, με βάση cron-parser δημιουργήθηκε ένα κακόβουλο πακέτο cron_parser και βασίζεται σε doge_coin κακόβουλο πακέτο doge-coin). Προβληματικά πακέτα:

Το πρώτο κακόβουλο πακέτο από αυτή τη λίστα δημοσιεύτηκε στις 12 Μαΐου, αλλά τα περισσότερα από αυτά εμφανίστηκαν τον Ιούλιο. Συνολικά, αυτά τα πακέτα κατεβάστηκαν περίπου 2500 φορές.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο