Κακόβουλα npm packages που μιμούνται δημοφιλή εργαλεία PostCSS χρησιμοποιήθηκαν για να διανείμουν ένα πολυεπίπεδο Windows Remote Access Trojan (RAT) σε περιβάλλοντα developers. Τα πακέτα, τα οποία δημοσιεύτηκαν από χρήστη του npm με το όνομα abdrizak, εκμεταλλεύονται την τεχνική typosquatting για να μιμηθούν τη νόμιμη βιβλιοθήκη postcss-selector-parser, η οποία καταγράφει πάνω από 150 εκατομμύρια εβδομαδιαίες λήψεις. Η ανακάλυψη αυτή αναδεικνύει για άλλη μια φορά τον σοβαρό κίνδυνο που αντιμετωπίζουν οι αλυσίδες εφοδιασμού λογισμικού (software supply chain) παγκοσμίως.

Τα τρία κακόβουλα npm packages που εντοπίστηκαν είναι: aes-decode-runner-pro (145 λήψεις), postcss-minify-selector (256 λήψεις) και postcss-minify-selector-parser (615 λήψεις), με συνολικά 1.016 λήψεις σε όλο το cluster. Παρουσιάζονται ως πακέτα κωδικοποίησης AES/custom-codec και εξαρτώνται από τη νόμιμη βιβλιοθήκη postcss-selector-parser, γεγονός που τα κάνει να φαίνονται αξιόπιστα σε μια επιφανειακή επιθεώρηση.
Δείτε επίσης: ZiChatBot Malware: Κακόβουλα PyPI Packages στοχεύουν Windows και Linux
Η εταιρεία ασφαλείας JFrog εντόπισε την απειλή μέσω στατικής ανάλυσης, αποκαλύπτοντας δυνατότητες command injection, persistence μέσω registry και κλοπής credentials από το Google Chrome.
Η αλυσίδα επίθεσης ενεργοποιείται αμέσως μόλις ένας developer εισάγει το κακόβουλο πακέτο στο project του. Μέσα στον κώδικα είναι ενσωματωμένος ένας JavaScript dropper που αποκρυπτογραφεί ένα κρυπτογραφημένο blob δεδομένων (AES-256-GCM) και γράφει ένα PowerShell script (settings.ps1) στον δίσκο, παρακάμπτοντας τις πολιτικές εκτέλεσης του συστήματος. Το script αυτό λειτουργεί ως downloader για το επόμενο στάδιο του payload, το οποίο ανακτά από τον εξωτερικό server nvidiadriver[.]net χρησιμοποιώντας το curl.exe.
Τεχνική Ανάλυση του npm RAT: Πώς Λειτουργεί το Malware
Το ανακτώμενο payload είναι ένα αρχείο ZIP (winPatch.zip), από το οποίο εξάγεται και εκτελείται ένα Visual Basic Script (update.vbs) μέσω του wscript.exe. Το ZIP περιλαμβάνει επίσης ένα Python runtime, έναν Python loader (loader.py) και αρκετά Python extension modules (*.pyd) που έχουν μεταγλωττιστεί με το Nuitka. Το Visual Basic Script στήνει το Python περιβάλλον στο παραβιασμένο σύστημα και εκκινεί το loader.py, το οποίο ενεργοποιεί την κύρια λογική του RAT.
Δείτε επίσης: Κακόβουλα Laravel Packages στο Packagist εγκαθιστούν RAT
Οι δυνατότητες του RAT υλοποιούνται μέσω εξειδικευμένων Python native extension modules: το config.pyd περιέχει σταθερές, command IDs και το URL του C2 server (95.216.92[.]207:8080)· το api.pyd διαχειρίζεται την επικοινωνία HTTP με τον C2· το audiodriver.pyd ελέγχει τον κύριο βρόχο ορχήστρωσης του RAT· το command.pyd δημιουργεί προφίλ του host, εκτελεί ελέγχους VM detection, μεταφορά αρχείων και εκτέλεση shell εντολών· το auto.pyd εκτελεί κλοπή credentials και δεδομένων extensions από το Google Chrome, παρακάμπτοντας τις προστασίες app-bound encryption (ABE), Windows DPAPI και ChaCha20-Poly1305· και το util.pyd λειτουργεί ως βοηθητικό module για αρχεία tar/gzip.

Η ύπαρξη VM detection υποδηλώνει ότι οι δημιουργοί του RAT έχουν λάβει μέτρα για να αποφύγουν ανάλυση σε sandbox περιβάλλοντα.
Σύμφωνα με The Hacker News, η υπόθεση αυτή αναδεικνύει πώς ένα μικρό πακέτο που μοιάζει με parser μπορεί να κρύβει ένα πολυεπίπεδο Windows payload, ενώ φαίνεται συνδεδεμένο με νόμιμα build tools. Ο ερευνητής Radoslav Krehlik της JFrog τόνισε ότι το RAT χρησιμοποιεί VM detection και κρυπτογραφημένα κανάλια επικοινωνίας για να διατηρεί πρόσβαση, υπογραμμίζοντας τον κίνδυνο typosquatting στο οικοσύστημα npm. Παρόμοιες επιθέσεις έχουν πραγματοποιηθεί και από κρατικούς παράγοντες, όπως η ομάδα Sapphire Sleet (Βορειοκορεάτες hackers) που παραβίασε λογαριασμό npm maintainer για να δημοσιεύσει κακόβουλα npm packages.
Δείτε επίσης: ‘Mini Shai-Hulud’: Παραβίαση SAP-Related npm Packages με credential stealer
Προστασία
Για την προστασία από αυτές τις απειλές, οι developers και οι οργανισμοί θα πρέπει να λάβουν άμεσα μέτρα. Πρώτον, να αφαιρέσουν άμεσα τα κακόβουλα npm packages (postcss-minify-selector-parser, postcss-minify-selector, aes-decode-runner-pro) από όλα τα projects. Δεύτερον, να ελέγξουν πλήρως τα dependency trees για transitive κινδύνους. Τρίτον, να αποκλείσουν τους network indicators: το domain nvidiadriver.net και τον C2 server 95.216.92.207. Τέταρτον, να σαρώσουν τα endpoints για το αρχείο %TEMP%\winPatch.zip. Πέμπτον, να αλλάξουν άμεσα τυχόν credentials που είναι αποθηκευμένα στο Google Chrome, καθώς το RAT παρακάμπτει επιθετικά τις σύγχρονες κρυπτογραφικές προστασίες. Τέλος, να εφαρμόσουν αυστηρότερη επαλήθευση για τα npm packages, ελέγχοντας υπογραφές και ιστορικό εκδότη πριν από κάθε εγκατάσταση.
🔒 Προστατέψτε την ιδιωτικότητά σας με Proton VPN
Ελβετικό VPN από τους δημιουργούς του Proton Mail — αυστηρή πολιτική no-logs, ισχυρή κρυπτογράφηση και ενσωματωμένο NetShield που μπλοκάρει διαφημίσεις, trackers & malware.
- ✔ No-logs, με έδρα την Ελβετία (εκτός 14-Eyes)
- ✔ NetShield: φραγή διαφημίσεων, trackers & κακόβουλων domains
- ✔ Καλύπτει όλες τις συσκευές — δωρεάν έκδοση διαθέσιμη
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.
