Μια σειρά κακόβουλων πακέτων npm και PyPi έχουν βρεθεί να κλέβουν ένα ευρύ φάσμα ευαίσθητων δεδομένων από προγραμματιστές λογισμικού στις πλατφόρμες αυτές.
Η εκστρατεία ξεκίνησε στις 12 Σεπτεμβρίου 2023 και ανακαλύφθηκε για πρώτη φορά από τη Sonatype, οι αναλυτές της οποίας ανακάλυψαν 14 κακόβουλα πακέτα στο npm.
Η Phylum αναφέρει ότι μετά από μια σύντομη διακοπή λειτουργίας στις 16 και 17 Σεπτεμβρίου, η επίθεση συνεχίστηκε και επεκτάθηκε στο οικοσύστημα PyPI.
Από την έναρξη της εκστρατείας, οι επιτιθέμενοι έχουν ανεβάσει 45 πακέτα στο npm (40) και στο PyPI (5), με παραλλαγές στον κώδικα που υποδηλώνουν ταχεία εξέλιξη της επίθεσης.
Κακόβουλα πακέτα
Ο πλήρης κατάλογος των κακόβουλων πακέτων που διανεμήθηκαν στο πλαίσιο αυτής της εκστρατείας βρίσκεται στο κάτω μέρος της έκθεσης της Phylum.
Ωστόσο, αξίζει να σημειωθεί ότι τα παρακάτω πακέτα χρησιμοποίησαν typosquatting για να μοιάζουν με νόμιμα δημοφιλή πακέτα, γεγονός που μπορεί να ξεγελάσει τους προγραμματιστές ώστε να τα εγκαταστήσουν:
- shineouts και @dynamic-form-components/shineout – μιμούνται τη δημοφιλή βιβλιοθήκη React “Shineout”
- apm-web-vitals – θα μπορούσε να περάσει ως “APM” (application performance monitoring) για τη βιβλιοθήκη “web-vitals” της Google που μετρά την απόδοση του ιστού
- eslint-plugin-shein-soc-raw και @spgy/eslint-plugin-spgy-fe – προσποιούνται ότι είναι πρόσθετα ESLint
- ssc-concurrent-log-handler & sc-concurrent-log-handler – προσποιούνται ότι είναι νόμιμα βοηθητικά προγράμματα καταγραφής
Σύμφωνα με τη Phylum, τουλάχιστον επτά διαφορετικά κύματα επίθεσης και αρκετές φάσεις περιείχαν τροποποιήσεις κώδικα για την ενίσχυση της μυστικότητας και την προσθήκη πιο συγκεκριμένης στόχευσης.
Τα πρώτα κύματα επιθέσεων εμφανίστηκαν μεταξύ 12 και 15 Σεπτεμβρίου, με τους απειλητικούς φορείς να ανεβάζουν καθημερινά νέα σύνολα πακέτων, φτάνοντας συνολικά τα 33 πακέτα.
Τα μεταγενέστερα κύματα επιθέσεων σημειώθηκαν στις 18 Σεπτεμβρίου (τρία πακέτα), στις 20 Σεπτεμβρίου (πέντε πακέτα) και στις 24 Σεπτεμβρίου (4 πακέτα).
Στα αρχικά κύματα, τα πακέτα διέθεταν σκληρά κωδικοποιημένες ρουτίνες συλλογής και διαφυγής δεδομένων, που περιείχαν εσωτερικά τον κώδικα συλλογής δεδομένων σε μορφή απλού κειμένου, γεγονός που τα καθιστούσε ευάλωτα στον εντοπισμό.
Οι μεσαίες επαναλήψεις εισήγαγαν πιο σύνθετους μηχανισμούς, όπως η ανάκτηση και η εκτέλεση του bash script συλλογής δεδομένων από έναν εξωτερικό τομέα.
Επίσης, οι συγγραφείς πρόσθεσαν ένα άγκιστρο “προεγκατάστασης” για την αυτόματη εκτέλεση κακόβουλων JavaScript κατά την εγκατάσταση.
Τα πιο πρόσφατα πακέτα χρησιμοποιούσαν κωδικοποίηση base64 για να αποφύγουν την ανάλυση, η οποία αργότερα αναβαθμίστηκε σε διπλή κωδικοποίηση base64.
Σε γενικές γραμμές, οι επιτιθέμενοι συμμετείχαν σε μια συνεχή διαδικασία δοκιμής και βελτίωσης του κώδικα και μάλιστα παρέδωσαν πακέτα που εξειδικεύονταν σε ορισμένες πτυχές της συλλογής δεδομένων περισσότερο από άλλες.
Απειλή για κλοπή πληροφοριών
Τα δεδομένα που εκλάπησαν από τα πακέτα περιλαμβάνουν ευαίσθητες πληροφορίες μηχανών και χρηστών.
Τα στοιχεία μηχανής και χρήστη που συλλέγονται περιλαμβάνουν το όνομα κεντρικού υπολογιστή, το όνομα χρήστη, την τρέχουσα διαδρομή, την έκδοση του λειτουργικού συστήματος, τις εξωτερικές και εσωτερικές διευθύνσεις IP και την έκδοση Python για τα πακέτα PyPI.
Αυτές οι λεπτομέρειες και οι ρυθμίσεις του Kubernetes που είναι αποθηκευμένες στα αρχεία kubeconfig και τα ιδιωτικά κλειδιά SSH στο ~/.ssh/id_rsa γράφονται σε ένα αρχείο κειμένου (ConceptualTest.txt) και αποστέλλονται στους διακομιστές των επιτιθέμενων.
Οι κλεμμένες πληροφορίες μπορούν να χρησιμοποιηθούν για την αποκάλυψη των πραγματικών ταυτοτήτων των προγραμματιστών και να δώσουν στους επιτιθέμενους μη εξουσιοδοτημένη πρόσβαση σε συστήματα, διακομιστές ή υποδομές που είναι προσβάσιμες μέσω των κλεμμένων ιδιωτικών κλειδιών SSH.
Εάν οι κλεμμένες διαμορφώσεις του Kubernetes περιέχουν διαπιστευτήρια πρόσβασης σε συστάδες, οι επιτιθέμενοι θα μπορούσαν να τροποποιήσουν τις αναπτύξεις, να προσθέσουν κακόβουλα containers, να αποκτήσουν πρόσβαση σε ευαίσθητα δεδομένα που είναι αποθηκευμένα στη συστάδα, να μετακινηθούν πλευρικά ή να εξαπολύσουν επίθεση ransomware.
Οι χρήστες των πλατφορμών διανομής κώδικα, όπως το PyPI και το npm, συνιστάται να είναι προσεκτικοί με τα πακέτα που κατεβάζουν και ξεκινούν στα συστήματά τους, καθώς υπάρχει συνεχής εισροή κακόβουλου λογισμικού σε αυτά τα οικοσυστήματα.
Ο Anastasis είναι ένας από τους κορυφαίους αρθρογράφους μας, ειδικευμένος σε θέματα κυβερνοασφάλειας.
Με την εμπειρία του, παρέχει στην κοινότητα πολύτιμες γνώσεις και συμβουλές.