Τα πακέτα SAP npm παραβιάστηκαν σε Harvest Developer και CI/CD Secrets


Μια νέα επίθεση αλυσίδας εφοδιασμού με την ονομασία «mini Shai Hulud» έχει θέσει σε κίνδυνο τέσσερα πακέτα npm που σχετίζονται με το SAP, εισάγοντας κακόβουλα σενάρια προεγκατάστασης που εκτελούνται σιωπηλά κατά την εγκατάσταση εξάρτησης, στοχεύοντας περιβάλλοντα προγραμματιστών και αγωγούς CI/CD για να κλέψουν διαπιστευτήρια σε GitHub, npm και σε μεγάλους παρόχους cloud.

Ερευνητές ασφαλείας στο StepSecurity, Ασφάλεια Aikido, SafeDep, Υποδοχήκαι Wiz εντόπισε ότι κακόβουλες εκδόσεις των νόμιμων πακέτων οικοσυστήματος SAP Cloud Application Programming Model (CAP) — συμπεριλαμβανομένων @cap-js/sqlite, @cap-js/postgres, @cap-js/db-serviceκαι mbt — δημοσιεύτηκαν με οπλισμένο preinstall γάντζος μέσα package.json.

Σε αντίθεση με τις προκάτοχές της καμπάνιες, αυτή η επίθεση χρησιμοποιεί μια νέα τροπή αποφυγής: αντί να βασίζεται στο Node.js για την εκτέλεση του ωφέλιμου φορτίου, το σενάριο dropper (setup.mjs) πραγματοποιεί λήψη του χρόνου εκτέλεσης JavaScript Bun κατά τον χρόνο εγκατάστασης και το χρησιμοποιεί για να εκτελέσει ένα πολύ ασαφές ωφέλιμο φορτίο 11 MB δεύτερου σταδίου (execution.js).

Αυτή η αρχιτεκτονική επιλογή είναι ότι τα σκόπιμα μοτίβα εκτέλεσης Bun βρίσκονται σε μεγάλο βαθμό εκτός του πεδίου ανίχνευσης των περισσότερων στατικών αναλύσεων και εργαλείων ασφαλείας που εστιάζονται στο Node.js.

Ωφέλιμο φορτίο πολλαπλών σταδίων και κλοπή διαπιστευτηρίων

Μια φορά setup.mjs ενεργοποιείται, ανακτά και εκτοξεύεται execution.jsένα σύστημα κλοπής διαπιστευτηρίων με πλήρεις δυνατότητες και πλαίσιο αυτοδιάδοσης. Όταν αποσυμφορείται, το ωφέλιμο φορτίο δεύτερου σταδίου συγκομίζει συστηματικά:

  • Tokens GitHub και διαπιστευτήρια npm από σταθμούς εργασίας προγραμματιστών
  • Μυστικά παρόχου cloud — μεταβλητές περιβάλλοντος AWS, Azure και GCP
  • Διαπιστευτήρια λογαριασμού Kubernetes και διαπιστευτήρια λογαριασμού υπηρεσίας
  • Μυστικά GitHub Actions, συμπεριλαμβανομένων μυστικών χρόνου εκτέλεσης που εξάγονται απευθείας από τη του δρομέα

Τα κλεμμένα δεδομένα κρυπτογραφούνται και διεκπεραιώνονται μέσω δημόσιων αποθετηρίων GitHub που ελέγχονται από τους εισβολείς, ακολουθώντας το ίδιο μοτίβο διείσδυσης που καθορίστηκε από την αρχική καμπάνια Shai-Hulud.

Το κακόβουλο λογισμικό περιέχει επίσης λογική διάδοσης: χρησιμοποιώντας τυχόν κλεμμένα διακριτικά npm, εντοπίζει άλλα πακέτα στον λογαριασμό του παραβιασμένου συντηρητή, εισάγει κακόβουλο κώδικα και τα αναδημοσιεύει, επιτρέποντας εκθετική, αυτοματοποιημένη εξάπλωση σε όλο το οικοσύστημα npm χωρίς παρέμβαση ηθοποιών.

Κατά την προετοιμασία, το κακόβουλο λογισμικό εκτελεί έναν στοχευμένο έλεγχο γεωγραφικής περίφραξης — επιθεωρώντας τις ρυθμίσεις τοπικής ρύθμισης ημερομηνίας/ώρας του συστήματος και τις μεταβλητές γλώσσας περιβάλλοντος για τιμές που ξεκινούν με 'ru'.

Εάν το σύστημα έχει ρυθμιστεί για τη ρωσική γλώσσα, το κακόβουλο λογισμικό τερματίζεται αμέσως, διασφαλίζοντας ότι δεν γίνεται εξαγωγή δεδομένων από ρωσόφωνα περιβάλλοντα. Αυτή η σκόπιμη εξαίρεση είναι ένα επαναλαμβανόμενο δακτυλικό αποτύπωμα σε όλες τις καμπάνιες TeamPCP.

Οι ερευνητές αποδίδουν αυτήν την καμπάνια στο TeamPCP με μεγάλη σιγουριά, σημειώνοντας πολλαπλές επικαλυπτόμενες τεχνικές υπογραφές με προηγουμένως τεκμηριωμένες λειτουργίες TeamPCP που στοχεύουν πακέτα όπως το Trivy, το LiteLLM και το Checkmarx KICS. Οι βασικοί δείκτες απόδοσης περιλαμβάνουν:

  • Το ίδιο __decodeScrambled κρυπτογράφηση που χρησιμοποιείται για την κωδικοποίηση μυστικών πριν από την ανάρτηση σε αποθετήρια εκχύλισης
  • Πανομοιότυπη ρωσόφωνη λογική πρόωρης εξόδου
  • Κοινό σταγονόμετρο (setup.mjs — SHA256: 4066781fa830224c8bbcc3aa005a396657f9c8f9016f9a64ad44a9d7f5f45e34) υπάρχει και στα τέσσερα πακέτα
  • Συνεπή μοτίβα κατάχρησης υποδομής: εκτέλεση χρόνου εγκατάστασης, διήθηση εκτός κεντρικού υπολογιστή και αυτοδιάδοση με υποστήριξη κάνιστρου.

Πακέτα και ΔΟΕ που επηρεάζονται

Πακέτο Εκδοχή Tarball SHA256
@cap-js/postgres 2.2.2 1d9e4ece8e13c8eaf94cb858470d1bd8f81bb58f62583552303774fa1579edee
@cap-js/db-service 2.10.1 258257560fe2f1c2cc3924eae40718c829085b52ae3436b4e46d2565f6996271
@cap-js/sqlite 2.2.2 a1da198bb4e883d077a0e13351bf2c3acdea10497152292e873d79d4f7420211
mbt 1.2.48 86282ebcd3bebf50f087f2c6b00c62caa667cdcb53558033d85acd39e3d88b41

Το κοινό σταγονόμετρο setup.mjs (SHA1: 307d0fa7407d40e67d14e9d5a4c61ac5b4f20431) υπάρχει και στις τέσσερις συσκευασίες.

Ο execution.js ωφέλιμο φορτίο για @cap-js/postgres και @cap-js/db-service είναι πανομοιότυπο (SHA256: eb6eb4154b03ec73218727dc643d26f4e14dfda2438112926bb5daf37ae8bcdb).

Οι οργανισμοί που χρησιμοποιούν εργαλεία SAP CAP θα πρέπει να ελέγχουν αμέσως τις εξαρτήσεις αγωγών CI/CD, να εναλλάσσουν τυχόν μυστικά που υπάρχουν σε επηρεαζόμενα περιβάλλοντα και να αποκλείουν τις συγκεκριμένες παραβιασμένες εκδόσεις που αναφέρονται παραπάνω.

Τα Defenders θα πρέπει επίσης να παρακολουθούν για μη αναμενόμενες λήψεις χρόνου εκτέλεσης Bun κατά τη διάρκεια npm install λειτουργίες, καθώς αυτή η συμπεριφορά είναι ένας νέος δείκτης ειδικά για αυτήν την καμπάνια. Έχει γίνει υπεύθυνη αποκάλυψη στους συντηρητές όλων των επηρεαζόμενων πακέτων.



VIA: cybersecuritynews.com

Dimitris Marizas
Dimitris Marizashttps://techbit.gr
Μεταφράζω bits και bytes σε απλά ελληνικά. Λατρεύω την τεχνολογία που λύνει προβλήματα και αναζητώ πάντα το επόμενο "big thing" πριν γίνει mainstream.

Related Articles

ΑΦΗΣΤΕ ΜΙΑ ΑΠΑΝΤΗΣΗ

εισάγετε το σχόλιό σας!
παρακαλώ εισάγετε το όνομά σας εδώ

- Advertisement -

Stay Connected

0ΥποστηρικτέςΚάντε Like
0ΑκόλουθοιΑκολουθήστε
- Advertisement -

Most Popular 48hrs

- Advertisement -

Latest Articles