Δέκα κακόβουλα πακέτα που μιμούνται τα νόμιμα έργα λογισμικού στο μητρώο npm κατεβάζουν ένα στοιχείο κλοπής πληροφοριών που συλλέγει ευαίσθητα δεδομένα από συστήματα Windows, Linux και macOS.
Τα πακέτα μεταφορτώθηκαν στο npm στις 4 Ιουλίου και παρέμειναν απαρατήρητα για μεγάλο χρονικό διάστημα λόγω πολλαπλών επιπέδων συσκότισης που βοήθησαν να ξεφύγουμε από τυπικούς μηχανισμούς στατικής ανάλυσης.
Σύμφωνα με ερευνητές της εταιρείας κυβερνοασφάλειας Socket, τα δέκα πακέτα μέτρησαν σχεδόν 10.000 λήψεις και έκλεψαν διαπιστευτήρια από μπρελόκ του συστήματος, προγράμματα περιήγησης και υπηρεσίες ελέγχου ταυτότητας.
Τη στιγμή της σύνταξης, τα πακέτα εξακολουθούν να είναι διαθέσιμα, παρόλο που το Socket τα αναφέρει στο npm:
- typescriptjs
- deezcord.js
- dizcordjs
- dezcord.js
- etherdjs
- ethesjs
- ethetsjs
- nodemonjs
- react-router-dom.js
- zustand.js
Υποδοχή λένε οι ερευνητές ότι τα πακέτα χρησιμοποιούν μια ψεύτικη πρόκληση CAPTCHA για να φαίνονται νόμιμες και κάνουν λήψη ενός infostealer 24MB συσκευασμένο με PyInstaller.
Για να δελεάσει τους χρήστες, ο παράγοντας απειλών χρησιμοποίησε το typosquatting, μια τακτική που αξιοποιεί ορθογραφικά λάθη ή παραλλαγές των νόμιμων ονομάτων για TypeScript (πληκτρολογημένο υπερσύνολο JavaScript), discord.js (Βιβλιοθήκη Discord bot), ethers.js (βιβλιοθήκη Ethereum JS), nodemon (αυτόματη επανεκκίνηση διαδρομής προγράμματος περιήγησης και εφαρμογή Node-Reuter). zustand (ελάχιστος διαχειριστής κατάστασης React).
Κατά την αναζήτηση των νόμιμων πακέτων στην πλατφόρμα npm, οι προγραμματιστές ενδέχεται να πληκτρολογήσουν λάθος το όνομα του νόμιμου πακέτου ή να επιλέξουν ένα κακόβουλο που αναφέρεται στα αποτελέσματα.
Κατά την εγκατάσταση, ένα σενάριο «postinstall» ενεργοποιείται αυτόματα για να δημιουργήσει ένα νέο τερματικό που ταιριάζει με το ανιχνευμένο λειτουργικό σύστημα του κεντρικού υπολογιστή. Το σενάριο εκτελεί το ‘app.js’ έξω από το ορατό αρχείο καταγραφής εγκατάστασης και διαγράφει αμέσως το παράθυρο για να αποφύγει τον εντοπισμό.
Το αρχείο «app.js» είναι ο φορτωτής κακόβουλου λογισμικού που χρησιμοποιεί τέσσερα επίπεδα συσκότισης: αυτο-αποκωδικοποιούμενο περιτύλιγμα eval, αποκρυπτογράφηση XOR με δυναμικά παραγόμενο κλειδί, ωφέλιμο φορτίο με κωδικοποίηση URL και έντονη συσκότιση ροής ελέγχου.
Το σενάριο εμφανίζει ένα ψεύτικο CAPTCHA στο τερματικό χρησιμοποιώντας ASCII για να δώσει ψευδή νομιμότητα στη διαδικασία εγκατάστασης.

Πηγή: Socket
Στη συνέχεια, στέλνει τη γεωγραφική θέση του θύματος και τις πληροφορίες δακτυλικών αποτυπωμάτων συστήματος στον διακομιστή εντολών και ελέγχου (C2) του εισβολέα. Έχοντας αποκτήσει αυτές τις πληροφορίες, το κακόβουλο λογισμικό κατεβάζει και εκκινεί αυτόματα ένα δυαδικό αρχείο για συγκεκριμένη πλατφόρμα από μια εξωτερική πηγή, το οποίο είναι ένα εκτελέσιμο αρχείο 24 MB με πακέτο PyInstaller.
Το πρόγραμμα κλοπής πληροφοριών στοχεύει μπρελόκ συστήματος όπως το Windows Credential Manager, το macOS Keychain, το Linux SecretService, το libsecret και το KWallet, καθώς και δεδομένα που είναι αποθηκευμένα σε προγράμματα περιήγησης που βασίζονται σε Chromium και Firefox, συμπεριλαμβανομένων προφίλ, αποθηκευμένων κωδικών πρόσβασης και cookie περιόδου λειτουργίας.
Επιπλέον, αναζητά κλειδιά SSH σε κοινούς καταλόγους και επίσης επιχειρεί να εντοπίσει και να κλέψει OAuth, JWT και άλλα διακριτικά API.
Οι κλεμμένες πληροφορίες συσκευάζονται σε συμπιεσμένα αρχεία και διοχετεύονται στον διακομιστή του εισβολέα στο 195[.]133[.]79[.]43, μετά από ένα προσωρινό βήμα σταδιοποίησης στο /var/tmp ή /usr/tmp.
Συνιστάται στους προγραμματιστές που κατέβασαν οποιοδήποτε από τα πακέτα που αναφέρονται να καθαρίσουν τη μόλυνση και να περιστρέψουν όλα τα διακριτικά πρόσβασης και τους κωδικούς πρόσβασης, καθώς υπάρχει μεγάλη πιθανότητα να παραβιαστούν.
Όταν προμηθεύεστε πακέτα από npm ή άλλα ευρετήρια ανοιχτού κώδικα, συνιστάται να κάνετε διπλό έλεγχο για τυπογραφικά λάθη και να βεβαιωθείτε ότι όλα προέρχονται από αξιόπιστους εκδότες και επίσημα αποθετήρια.
VIA: bleepingcomputer.com








