Το τελευταίο διάστημα, η Check Point Research (CPR) μελετά τη χρήση compiled V8 JavaScript από δημιουργούς malware. Το Compiled V8 JavaScript είναι μια δυνατότητα του V8, του JavaScript engine της Google, που επιτρέπει τη “μεταγλώττιση” JavaScript σε low-level bytecode. Οι hackers έχουν αρχίσει να εκμεταλλεύονται αυτή τη δυνατότητα καθώς τους βοηθά να αποφύγουν τις στατικές ανιχνεύσεις και να κρύβουν τον source code.
![compiled V8 JavaScript malware Check Point](https://cdn.secnews.gr/wp-content/uploads/2024/07/09141730/compiled-V8-JavaScript-1800-x-1200-px-1024x683.png)
Για τη στατική ανάλυση compiled JavaScript αρχείων, οι ερευνητές χρησιμοποίησαν ένα custom εργαλείο με το όνομα “View8“, το οποίο κάνει decompiling του V8 bytecode σε high-level readable language. Οι ερευνητές χρησιμοποίησαν αυτό το εργαλείο για decompiling χιλιάδων compiled V8 applications, που καλύπτουν διάφορους τύπους κακόβουλου λογισμικού (π.χ. RATs, info-stealers, cryptominers και ransomware).
Ας δούμε πιο αναλυτικά τι είναι το compiled V8 JavaScript και πώς χρησιμοποιείται από τους hackers και τους δημιουργούς malware.
V8 engine
Το V8 είναι ένα JavaScript engine ανοιχτού κώδικα που αναπτύχθηκε από την Google. Είναι γραμμένο σε C++ και χρησιμοποιείται στο πρόγραμμα περιήγησης Google Chrome, καθώς και σε πολλά άλλα δημόσια projects (π.χ. Node.js). Όπως εξηγεί η Check Point, το V8 (Ignition) bytecode χρησιμεύει ως ενδιάμεσο βήμα στη διαδικασία βελτιστοποίησης του κώδικα JavaScript. Επιτρέπει στο V8 engine να εκτελεί αποτελεσματικά JavaScript.
Δείτε επίσης: Turla Hackers: Χρησιμοποιούν αρχεία LNK για μεταφορά malware
Το V8 υποστηρίζει, επίσης, τη δυνατότητα προσωρινής αποθήκευσης serialized bytecode για μεταγενέστερη εκτέλεση από τον interpreter. Αυτή η δυνατότητα αξιοποιείται από δημιουργούς malware, για την απόκρυψη του source code της εφαρμογής.
V8 Compilation
Για τη χρήση αυτής της δυνατότητας και τη “μεταγλώττιση” απλού JavaScript σε σειριακό V8 bytecode, οι ερευνητές παρατήρησαν ότι μπορούσαν να χρησιμοποιήσουν την ενσωματωμένη μονάδα vm στην πλατφόρμα Node.js. Η μέθοδος vm.Script χρησιμοποιεί δύο παραμέτρους: η πρώτη είναι ο κώδικας JavaScript και η δεύτερη είναι ένα dictionary of options.
Μπορείτε να δείτε περισσότερα σχετικά με τη διαδικασία “μεταγλώττισης” εδώ.
Εκτέλεση V8
Καθώς το compiled V8 bytecode συνδέεται με τη συγκεκριμένη έκδοση για την οποία έχει μεταγλωττιστεί, οι εισβολείς πρέπει να διασφαλίσουν τη συμβατότητα μεταξύ του bytecode και του V8 engine, ώστε η εκτέλεση να είναι επιτυχής (λεπτομέρειες για το πώς γίνεται αυτό μπορείτε να βρείτε εδώ).
Εργαλείο View8
Το View8 είναι ένα νέο εργαλείο στατικής ανάλυσης για decompiling v8 bytecode σε high-level readable code. Αυτό το εργαλείο αναπτύχθηκε από μέλος της Check Point Research. Το View8 παίρνει ένα compiled file ως argument και παράγει μια textual decompiled version σε γλώσσα παρόμοια με την JavaScript.
Όπως προείπαμε, οι ερευνητές χρησιμοποίησαν το View8 και έκαναν decompiling σε χιλιάδες κακόβουλα μεταγλωττισμένα αρχεία V8. Η έρευνα ανακάλυψε διάφορα malware, συμπεριλαμβανομένων stealers, loaders, RATS, wipers και ransomware. Τα περισσότερα από αυτά είχαν πολύ χαμηλή βαθμολογία ανίχνευσης στο VirusTotal.
Δείτε επίσης: Dark Web malware εκθέτει 3.300 χρήστες που συνδέονται με site κακοποίησης παιδιών
Επιπλέον, εντοπίστηκαν διάφορα open-source JavaScript malware, όπως το TurkoRat, το Vare-Stealer και το Mirai stealer, που μεταγλωττίστηκαν από τους εισβολείς σε bytecode V8 πριν από τη διανομή.
Χρήση compiled V8 JavaScript από δημιουργούς malware
Μερικά από τα malware που εκμεταλλεύτηκαν το compiled V8 JavaScript είναι:
ChromeLoader
Το ChromeLoader παραβιάζει προγράμματα περιήγησης, κλέβει ευαίσθητες πληροφορίες και εκτελεί πρόσθετα κακόβουλα payloads. Η χρήση του compiled V8 είναι ιδιαίτερα ενδιαφέρουσα, καθώς οι επιτιθέμενοι ενσωμάτωσαν ένα encrypted V8 bytecode payload και το ενεργοποιούν χρησιμοποιώντας ενσωματωμένες μεθόδους NodeJS (vm.Script).
Ransomware και Wiper
Οι ερευνητές εντόπισαν και μερικά στελέχη ransomware. Η δομή ήταν απλή, περιλαμβάνοντας μια ακολουθία λειτουργιών ανάγνωσης, κρυπτογράφησης και εγγραφής. Το κακόβουλο λογισμικό ξεκινά με ορισμένες διαμορφώσεις, συμπεριλαμβανομένων καταλόγων για κρυπτογράφηση, επεκτάσεων αρχείων για στόχευση και ενός Discord webhook που λειτουργεί ως C&C. Στη συνέχεια, το malware επαναλαμβάνεται αναδρομικά σε όλους τους καταλόγους και τους κρυπτογραφεί χρησιμοποιώντας τον αλγόριθμο κρυπτογράφησης AES.
Τέλος, το κακόβουλο λογισμικό στέλνει τις πληροφορίες του θύματος πίσω στον εισβολέα χρησιμοποιώντας το Discord webhook.
Βρέθηκε, επίσης, και ένας τύπος wiper malware.
![](https://cdn.secnews.gr/wp-content/uploads/2024/06/01134629/hacker-min-1024x559.jpg)
Shellcode Loader
Ένα άλλο κακόβουλο λογισμικό που εντοπίστηκε και αναλύθηκε ήταν ένα shellcode loader με τη δυνατότητα λήψης dynamic x64 shellcodes από έναν απομακρυσμένο διακομιστή C&C (+ δυνατότητα εκτέλεσής τους).
Περισσότερες λεπτομέρειες για τα malware που εκμεταλλεύονται τη δυνατότητα compiled V8 JavaScript, μπορείτε να βρείτε στην έκθεση της Check Point Research.
Δείτε επίσης: H KT κατηγορείται για μαζική επίθεση malware σε πελάτες
Οι παραπάνω ανακαλύψεις δείχνουν ότι οι εγκληματίες του κυβερνοχώρου συνεχίζουν να επινοούν νέα κόλπα για να κρύψουν τις επιθέσεις τους. Η εκμετάλλευση του V8 δεν αποτελεί έκπληξη, καθώς αυτή η τεχνολογία χρησιμοποιείται συνήθως για τη δημιουργία λογισμικού, άρα μπορεί εύκολα να χρησιμοποιηθεί και για τη δημιουργία κακόβουλου λογισμικού.
Προστασία από malware
Η χρήση αξιόπιστου και ενημερωμένου λογισμικού antivirus είναι απαραίτητη για την προστασία από malware. Τα antivirus προγράμματα μπορούν να ανιχνεύσουν και να αφαιρέσουν κακόβουλο λογισμικό, καθώς και να παρέχουν συνεχή προστασία σε πραγματικό χρόνο.
Η τακτική ενημέρωση του λειτουργικού συστήματος και του λογισμικού είναι, επίσης, κρίσιμη. Οι ενημερώσεις περιλαμβάνουν διορθώσεις ασφαλείας που κλείνουν τα κενά που θα μπορούσαν να εκμεταλλευτούν οι επιτιθέμενοι.
Ακολουθεί η χρήση ισχυρών και μοναδικών κωδικών πρόσβασης για κάθε λογαριασμό. Οι κωδικοί πρόσβασης πρέπει να περιλαμβάνουν συνδυασμό γραμμάτων, αριθμών και ειδικών χαρακτήρων για να είναι πιο δύσκολο να σπάσουν.
Η ενεργοποίηση της πολυπαραγοντικής ταυτοποίησης (MFA) προσθέτει ένα επιπλέον επίπεδο ασφάλειας. Ακόμα και αν κάποιος αποκτήσει τον κωδικό πρόσβασής σας, θα χρειαστεί και τον δεύτερο παράγοντα για να αποκτήσει πρόσβαση.
Τέλος, πολύ σημαντική είναι και η αποφυγή κλικ σε ύποπτους συνδέσμους και συνημμένα αρχεία σε email και μηνύματα. Οι επιτιθέμενοι συχνά χρησιμοποιούν phishing emails για να εξαπατήσουν τους χρήστες και να εγκαταστήσουν malware στους υπολογιστές τους.
Πηγή: research.checkpoint.com