Πίσω στα RoboNews
104 πόντοιsafedep.io4 λεπτά ανάγνωσης

Ανακαλύφθηκε κακόβουλο npm πακέτο με κρυπτογραφημένο remote access implant

Πρωτότυπος τίτλος: "Why does mathmain need an encrypted loader?" (από abhisek)

Αρχικό ΆρθροΣυζήτηση HN (27 σχόλια)
TL;DR (Εν Συντομία)

Ερευνητές εντόπισαν κακόβουλο κώδικα σε npm πακέτα που μιμούνται τη βιβλιοθήκη mathjs. Ο κώδικας παραμένει αδρανής και κρυπτογραφημένος, ενεργοποιούμενος μόνο όταν εκτελεστεί μια συγκεκριμένη μαθηματική εξίσωση που λειτουργεί ως «κλειδί» αποκρυπτογράφησης.

📌 Κύρια Σημεία & Συμπεράσματα

  • Το κακόβουλο λογισμικό χρησιμοποιεί μια τεχνική 'dormant loader' που παραμένει κρυφή μέχρι να επιλυθεί ένας συγκεκριμένος πίνακας Pascal.
  • Η αποκρυπτογράφηση του payload γίνεται μέσω AES-GCM, με το κλειδί να παράγεται δυναμικά από τα δεδομένα της μαθηματικής πράξης.
  • Το implant επικοινωνεί με τον επιτιθέμενο μέσω Slack και Telegram, ενώ χρησιμοποιεί smart contracts σε δίκτυα blockchain για τον έλεγχο των εντολών.
  • Ο κακόβουλος κώδικας δεν υπήρχε στα δημόσια αποθετήρια GitHub, υποδεικνύοντας ότι προστέθηκε απευθείας κατά τη διαδικασία δημοσίευσης στο npm.

Η ανατομία μιας εξελιγμένης επίθεσης στην εφοδιαστική αλυσίδα

Η πρόσφατη ανακάλυψη στο πακέτο mathmain (και σε παρόμοια όπως τα mathsbase και math-universe) αποκαλύπτει μια ιδιαίτερα προσεγμένη προσπάθεια εισαγωγής κακόβουλου λογισμικού στο οικοσύστημα του Node.js. Αντί για παραδοσιακά scripts εγκατάστασης, οι επιτιθέμενοι ενσωμάτωσαν έναν κρυπτογραφημένο loader μέσα στη βιβλιοθήκη, ο οποίος ενεργοποιείται μόνο υπό συγκεκριμένες συνθήκες.

Ο μηχανισμός ενεργοποίησης (Trigger)

Ο κώδικας παραμένει αδρανής μέχρι η εφαρμογή-χρήστης να καλέσει τη συνάρτηση lusolve() με έναν συγκεκριμένο πίνακα Pascal. Αυτός ο πίνακας λειτουργεί ως το «κλειδί» για την αποκρυπτογράφηση του payload. Η διαδικασία είναι εξαιρετικά στοχευμένη: αν η είσοδος δεν ταιριάζει ακριβώς, ο loader αποτυγχάνει να αποκρυπτογραφήσει τα αρχεία, καθιστώντας τον εντοπισμό του μέσω στατικής ανάλυσης εξαιρετικά δύσκολο.

Λειτουργία του Remote Access Implant

Μόλις ξεκλειδωθεί, το implant αναλαμβάνει τον έλεγχο του συστήματος. Οι κύριες λειτουργίες του περιλαμβάνουν:

  • Εκτέλεση εντολών: Χρήση του child_process για την εκτέλεση shell εντολών στο host σύστημα.
  • Command & Control (C2): Επικοινωνία μέσω Slack και Telegram για τη λήψη εντολών από τον επιτιθέμενο.
  • Blockchain Integration: Χρήση smart contracts σε δίκτυα όπως το Base Sepolia για την ανάκτηση παραμέτρων λειτουργίας.

Συμπεράσματα για την ασφάλεια

Το γεγονός ότι ο κακόβουλος κώδικας δεν υπήρχε στο δημόσιο GitHub αποδεικνύει ότι η εμπιστοσύνη στο source code ενός project δεν αρκεί. Οι προγραμματιστές πρέπει να ελέγχουν εξονυχιστικά τα πακέτα που εγκαθιστούν από το npm, καθώς η διαφορά μεταξύ του κώδικα στο repository και του build που δημοσιεύεται στο registry μπορεί να είναι κρίσιμη.

Ετικέτες:#Cybersecurity#Node.js#SupplyChainAttack#npm
GitHub Gems & Trends

Ανακαλύψτε καινοτόμα open-source εργαλεία και κρυμμένα διαμάντια ανοιχτού κώδικα.

Εξερεύνηση Gems

Διαβάστε επίσης