Open Source
Η αποκάλυψη της πολύπλοκης επίθεσης npm από τη Veracode
Η Veracode αποκάλυψε μια περίπλοκη επίθεση npm με 12 στρώματα κρυπτογράφησης, καταλήγοντας σε κακόβουλο RAT.
Η ανακάλυψη του μυστηρίου
Οι ερευνητές ασφαλείας της Veracode, κατά τη διάρκεια της τακτικής παρακολούθησης του κόσμου του open-source, ανακάλυψαν δύο φαινομενικά αθώα πακέτα λογισμικού στο δημοφιλές αποθετήριο npm. Όταν όμως κοίταξαν πιο προσεκτικά, δεν βρήκαν απλό κώδικα, αλλά μια πληθώρα από Unicode χαρακτήρες, κυρίως σε Ιαπωνικά Κατακάνα και Χιραγκάνα.
Η ομάδα της Veracode εξήγησε ότι αυτό που ξεκίνησε ως μια έρευνα για μια ενδιαφέρουσα τεχνική απόκρυψης με Unicode, μετατράπηκε σε μία από τις πιο βαθιές και περίπλοκες αλυσίδες επιθέσεων που έχουν δει ποτέ.
Η αρχή της επίθεσης
Η αφετηρία της επίθεσης ήταν ένα τυπικό script postinstall, το οποίο ενεργοποιούσε την παγίδα τη στιγμή που ένας προγραμματιστής θα πληκτρολογούσε αθώα npm install. Οι παράξενοι Ιαπωνικοί χαρακτήρες δεν ήταν τυχαίοι. Χρησιμοποιήθηκαν ως ονόματα μεταβλητών σε ένα script σχεδιασμένο να δημιουργεί άλλα, πιο λειτουργικά κομμάτια κώδικα από το μηδέν.
Η αποκάλυψη των στρωμάτων
Αυτό το πρώτο script είχε ως μοναδικό σκοπό να δημιουργήσει ένα δεύτερο, ελαφρώς πιο συμβατικό αλλά ακόμα κρυμμένο script, και να το εκτελέσει. Μόλις η Veracode αποκρυπτογράφησε αυτό το πρώτο κομμάτι της επίθεσης, βρήκε το επόμενο. Το δεύτερο script εκτελούσε μια σύντομη εντολή που συνδεόταν με έναν απομακρυσμένο server, το firewall[.]tel, για να κατεβάσει το επόμενο κομμάτι της επίθεσης.
Η πορεία προς το άγνωστο
Αυτό που επέστρεψε από τον server ήταν ένα ακόμα κρυπτογραφημένο script, αυτή τη φορά χρησιμοποιώντας δυαδικές συμβολοσειρές που έπρεπε να μετατραπούν πίσω σε αναγνώσιμο κείμενο. Όταν αποκωδικοποιήθηκε, αποκαλύφθηκε ένα άλλο script που χρησιμοποιούσε διαφορετική τεχνική κωδικοποίησης, το Base64.
Αυτό το τέταρτο script ήταν σαμποτέρ. Προσπάθησε να πει στο λογισμικό ασφαλείας του υπολογιστή, το Windows Defender, να αγνοήσει τις δικές του αρχεία προσθέτοντάς τα σε μια λίστα εξαιρέσεων. Στη συνέχεια, κατέβασε ένα batch file.
Η πολύπλοκη δομή του batch file
Το batch file ήταν ένας λαβύρινθος σύγχυσης. Χρησιμοποιούσε εκατοντάδες τυχαία ονόματα μεταβλητών για να κρατήσει μικρά κομμάτια ενός μεγαλύτερου παζλ. Σε μια συγκεκριμένη ακολουθία, συνέθετε αυτά τα κομμάτια για να δημιουργήσει το πραγματικό του φορτίο: μια βιβλιοθήκη λογισμικού .NET (DLL) που ήταν κρυπτογραφημένη, συμπιεσμένη και κωδικοποιημένη για να περάσει απαρατήρητη. Αυτή η βιβλιοθήκη φορτώθηκε απευθείας στη μνήμη του υπολογιστή, μια τεχνική για να αποφευχθεί η καταγραφή στον σκληρό δίσκο.
Η χρήση της στεγανογραφίας
Αλλά η τρύπα του κουνελιού πήγαινε ακόμα πιο βαθιά. Η Veracode ανακάλυψε ότι αυτή η DLL δεν ήταν το τελικό όπλο. Ήταν προγραμματισμένη να κατεβάσει μια φαινομενικά αβλαβή εικόνα PNG από το διαδίκτυο. Η ίδια η εικόνα ήταν απλώς ψηφιακός θόρυβος, σαν μια μη συντονισμένη τηλεοπτική οθόνη. Για τους ερευνητές, αυτό ήταν μια κραυγή στεγανογραφίας—η τέχνη της απόκρυψης μυστικών σε κοινή θέα.
Και είχαν δίκιο. Οι επιτιθέμενοι είχαν κρύψει το τελικό τους φορτίο μέσα στα ίδια τα pixels της εικόνας. Η DLL εξήγαγε αυτά τα κρυμμένα δεδομένα και τα χρησιμοποίησε για να δημιουργήσει μια δεύτερη, τελική βιβλιοθήκη λογισμικού στη μνήμη του υπολογιστή.
Η τελική αποκάλυψη
Μετά την αποκάλυψη δώδεκα στρωμάτων απίστευτης πολυπλοκότητας, ο τελικός στόχος των επιτιθέμενων αποκαλύφθηκε: ένα πρόγραμμα που ονομάζεται Pulsar, ένα εργαλείο απομακρυσμένης διαχείρισης, ή RAT. Ενώ το Pulsar μπορεί να είναι ένα νόμιμο εργαλείο, σε αυτό το πλαίσιο είναι ένα κακόβουλο trojan, δίνοντας στους επιτιθέμενους πλήρη και απόλυτο έλεγχο πάνω στον υπολογιστή του θύματος.
Η Veracode αναφέρει ότι τα κακόβουλα πακέτα έχουν αναφερθεί στην ομάδα ασφαλείας του npm.