Επιχείρηση DualScript – Μια πολυβάθμια εκστρατεία κακόβουλου λογισμικού PowerShell που στοχεύει σε κρυπτονομίσματα και χρηματοοικονομική δραστηριότητα
Εισαγωγή
Κατά τη διάρκεια της έρευνάς μας, εντοπίσαμε μια μόλυνση από κακόβουλο λογισμικό πολλαπλών σταδίων που αξιοποιεί την επιμονή προγραμματισμένων εργασιών, τους εκκινητές VBScript και την εκτέλεση που βασίζεται στο PowerShell. Η επίθεση λειτουργεί μέσω δύο παράλληλων αλυσίδων: ενός διαδικτυακού φορτωτή PowerShell που ανακτά απομακρυσμένα ωφέλιμα φορτία και μιας δευτερεύουσας αλυσίδας φορτωτή PowerShell που εκτελεί το εμφύτευμα RetroRAT.
Καταχρώμενοι τα νόμιμα στοιχεία των Windows και εκτελώντας ωφέλιμα φορτία απευθείας στη μνήμη, οι εισβολείς ελαχιστοποιούν τα αντικείμενα του δίσκου και αποφεύγουν τους παραδοσιακούς μηχανισμούς ανίχνευσης.
Αρχικά ευρήματα
Η έρευνα ξεκίνησε μετά τον εντοπισμό ύποπτων προγραμματισμένων εργασιών που εκτελούν αρχεία VBScript από καταλόγους προσβάσιμους από τον χρήστη. Οι εργασίες είχαν ρυθμιστεί ώστε να εκκινούν κρυφές εντολές PowerShell, υποδεικνύοντας πιθανή κατάχρηση εγγενών στοιχείων δέσμης ενεργειών των Windows για διατήρηση.
Περαιτέρω έλεγχος αποκάλυψε πολλά ύποπτα αντικείμενα, όπως:
- Εκκινητές VBScript που καλούν το PowerShell με παράκαμψη πολιτικής εκτέλεσης
- Ένα σενάριο PowerShell (ppamproServiceZuneWAL.ps1) που κατεβάζει και εκτελεί απομακρυσμένο περιεχόμενο από έναν εξωτερικό τομέα
- Πρόσθετα σενάρια PowerShell που χρησιμοποιούνται για την εκτέλεση κακόβουλων φορτίων απευθείας στη μνήμη
Οι εξερχόμενες συνδέσεις σε έναν απομακρυσμένο πόρο ιστού που φιλοξενεί το Wallet.txt επιβεβαίωσαν την ενεργή ανάκτηση εντολών από έναν εξωτερικό διακομιστή, υποδεικνύοντας τη δυνατότητα εκτέλεσης εντολών από απόσταση.
Αυτά τα ευρήματα επιβεβαίωσαν την παρουσία μιας επίμονης πολυσταδιακής παραβίασης που αξιοποιεί τα ωφέλιμα φορτία που παραδίδονται μέσω web και τις τεχνικές εκτέλεσης PowerShell στη μνήμη.
Επισκόπηση της αλυσίδας μόλυνσης
Η παραβίαση περιλαμβάνει δύο παράλληλες αλυσίδες εκτέλεσης που ενεργοποιούνται μέσω της διατήρησης που δημιουργείται μέσω των προγραμματισμένων εργασιών των Windows. Και οι δύο αλυσίδες αξιοποιούν τους εκκινητές VBScript και την εκτέλεση PowerShell για την ανάπτυξη κακόβουλων στοιχείων, ελαχιστοποιώντας παράλληλα τα τεχνουργήματα του δίσκου.
Μία αλυσίδα ανακτά και εκτελεί ένα απομακρυσμένο φορτίο PowerShell που εκτελεί hijacking στο πρόχειρο κρυπτονομισμάτων. Η δεύτερη αλυσίδα χρησιμοποιεί έναν εκκινητή VBScript (PiceVid.vbs) για να εκτελέσει ένα φορτίο που βασίζεται σε PowerShell (PiceVid.ps1) που αναπτύσσει το κακόβουλο λογισμικό RetroRAT για παρακολούθηση συστήματος, παρακολούθηση οικονομικής δραστηριότητας και εκτέλεση εντολών από απόσταση.

Αλυσίδα 1 – Στοιχεία Web Backdoor
Προγραμματισμένη Διατήρηση Εργασίας
Η διατήρηση της μονιμότητας επιτεύχθηκε μέσω των προγραμματισμένων εργασιών των Windows που έχουν ρυθμιστεί για την εκτέλεση αρχείων VBScript από καταλόγους εγγράψιμους από τον χρήστη. Οι εργασίες καλούν το PowerShell σε κρυφή λειτουργία με ενεργοποιημένη την παράκαμψη πολιτικής εκτέλεσης.
Αυτό διασφαλίζει την αξιόπιστη επανεκτέλεση της κακόβουλης αλυσίδας, αποφεύγοντας παράλληλα τους παραδοσιακούς μηχανισμούς εκκίνησης του μητρώου.
Εκκίνηση VBS – ppamproServiceZuneWAL.vbs
Αυτό το σενάριο χρησιμεύει ως ενδιάμεσος εκτέλεσης, εκκινώντας το PowerShell σιωπηλά. Δεν περιέχει το ίδιο το ωφέλιμο φορτίο, αλλά λειτουργεί ως ελεγχόμενο σημείο εισόδου στην αλυσίδα απομακρυσμένης φόρτωσης.
Απομακρυσμένος φορτωτής – ppamproServiceZuneWAL.ps1
Αυτό το σενάριο λειτουργεί ως διαδικτυακή κερκόπορτα και εκτελεί:
- Επικύρωση μίας μόνο παρουσίας μέσω απαρίθμησης διεργασιών WMI
- Ανάκτηση HTTP απομακρυσμένου σεναρίου (Wallet.txt)
- Δυναμική εκτέλεση χρησιμοποιώντας [ScriptBlock]::Create().Invoke()
Το απομακρυσμένο ωφέλιμο φορτίο εκτελείται εξ ολοκλήρου στη μνήμη. Επειδή το περιεχόμενο φιλοξενείται εξωτερικά, μπορεί να ενημερώνεται δυναμικά, επιτρέποντας τον συνεχή έλεγχο από τον εισβολέα.

Το σενάριο ppamproServiceZuneWAL.ps1 λειτουργεί ως απομακρυσμένος φορτωτής και ελεγκτής εκτέλεσης που βασίζεται σε PowerShell . Αρχικά, ανακτά το δικό του όνομα σεναρίου χρησιμοποιώντας το αντικείμενο $MyInvocation και εκτελεί μια συνάρτηση με όνομα CURRENT-instance, η οποία ελέγχει όλες τις εκτελούμενες διεργασίες powershell.exe μέσω WMI για να προσδιορίσει εάν μια άλλη παρουσία του ίδιου σεναρίου είναι ήδη ενεργή. Εάν εντοπιστεί διπλότυπη παρουσία, το σενάριο τερματίζεται για να αποτρέψει πολλαπλές ταυτόχρονες εκτελέσεις. Αφού διασφαλίσει την εκτέλεση μίας παρουσίας, το σενάριο φορτώνει τη βιβλιοθήκη δικτύου .NET System.Net.Http και χρησιμοποιεί το HttpClient για να κατεβάσει απομακρυσμένο περιεχόμενο από το hxxps://anycourse[.]net/wp-content/uploads/2025/04/Wallet[.]txt . Το ανακτημένο αρχείο Wallet.txt περιέχει εντολές PowerShell που ελέγχονται από τον εισβολέα. Αντί να αποθηκεύσει αυτό το περιεχόμενο στο δίσκο, το σενάριο μετατρέπει δυναμικά το ληφθέν κείμενο σε εκτελέσιμο κώδικα PowerShell χρησιμοποιώντας το [ScriptBlock]::Create() και το εκτελεί απευθείας στη μνήμη. Αυτός ο μηχανισμός μετατρέπει αποτελεσματικά το σενάριο σε ένα διαδικτυακό backdoor που επιτρέπει στους εισβολείς να ενημερώνουν και να εκτελούν εντολές από απόσταση στο παραβιασμένο σύστημα, απλώς τροποποιώντας τα περιεχόμενα του Wallet.txt στον διακομιστή.
Φορτίο ιστού – Wallet.txt
Το αρχείο που κατεβάσατε περιέχει οδηγίες PowerShell που παραδίδονται από εξωτερικό διακομιστή.

Αυτό επιτρέπει στον εισβολέα να:
- Εκδώστε εντολές
- Ενημέρωση ή αναδιάταξη στοιχείων
- Εκτελέστε αναγνώριση
- Δεδομένα εξαγωγής
Αυτός ο μηχανισμός μετατρέπει αποτελεσματικά το παραβιασμένο σύστημα σε ένα τηλεχειριζόμενο εμφύτευμα PowerShell.
Το Wallet.txt περιέχει ένα σενάριο παραβίασης του πρόχειρου PowerShell, το οποίο έχει σχεδιαστεί για να κλέβει συναλλαγές κρυπτονομισμάτων. Το σενάριο παρακολουθεί συνεχώς το πρόχειρο του συστήματος για αντιγραμμένο κείμενο και χρησιμοποιεί μοτίβα κανονικών εκφράσεων για την ανίχνευση διευθύνσεων πορτοφολιών κρυπτονομισμάτων, όπως Bitcoin ή άλλες μορφές κρυπτονομισμάτων. Όταν βρεθεί μια αντίστοιχη διεύθυνση, το σενάριο αντικαθιστά την αντιγραμμένη διεύθυνση πορτοφολιού με μια διεύθυνση που ελέγχεται από τον εισβολέα και είναι αποθηκευμένη στο εσωτερικό του λεξικό. Ως αποτέλεσμα, εάν το θύμα αντιγράψει μια νόμιμη διεύθυνση πορτοφολιού για να στείλει κρυπτονομίσματα, το πρόχειρο τροποποιείται σιωπηλά, έτσι ώστε τα χρήματα να ανακατευθύνονται στο πορτοφόλι του εισβολέα. Το σενάριο παρακολουθεί συνεχώς το πρόχειρο σε τακτά χρονικά διαστήματα, επιτρέποντας στον εισβολέα να αναχαιτίζει και να ανακατευθύνει κρυφά τις πληρωμές κρυπτονομισμάτων στο παραβιασμένο σύστημα.
Διευθύνσεις Πορτοφολιών Κρυπτονομισμάτων που Ελέγχονται από Επιτιθέμενους
Το αρχείο Wallet.txt διατηρεί ένα λεξικό με διευθύνσεις πορτοφολιών κρυπτονομισμάτων που ελέγχονται από εισβολείς. Όταν εντοπιστεί μια αντίστοιχη μορφή πορτοφολιού στο πρόχειρο, το κακόβουλο λογισμικό αντικαθιστά τη διεύθυνση του θύματος με το αντίστοιχο πορτοφόλι που ελέγχεται από εισβολείς.
Οι διευθύνσεις αντικατάστασης καλύπτουν πολλά κρυπτονομίσματα, συμπεριλαμβανομένων
Bitcoin (BTC), Litecoin (LTC), Ethereum (ETH), Monero (XMR), XRP, NEO, Bitcoin Cash (BCH), Dogecoin (DOGE), Dash, Stellar (XLM), Binance Coin (BNB), Tezos (XTZ), Tron (TRX), VeChain (VET), DigiBkaDaD (VET), DigiByt (DgiBdoAD) (DOT), Cosmos (ATOM), Lisk, Kava, Algorand (ALGO), Filecoin (FIL), Nano, NEM, Waves, Zcash (ZEC), Terra και THORChain (RUNE).
Αλυσίδα 2 – Στοιχεία Φορτωτή PowerShell
Εκκίνηση VBS – PiceVid.vbs
Αυτό το σενάριο ενεργοποιεί την εκτέλεση του PiceVid.ps1, το οποίο λειτουργεί ως σημείο εισόδου για την τοπική αλυσίδα φορτωτή και εκτελείται μέσω της προγραμματισμένης εργασίας.
PowerShell Loader – PiceVid.PS1
Το σενάριο περιέχει το ωφέλιμο φορτίο RetroRAT και εκτελείται απευθείας στη μνήμη.

Αντί να γράψει το ωφέλιμο φορτίο σε ένα ξεχωριστό εκτελέσιμο αρχείο, το σενάριο διαβάζει τα περιεχόμενά του και το εκτελεί δυναμικά χρησιμοποιώντας το Invoke-Expression (IEx).
Αυτή η προσέγγιση επιτρέπει στον εισβολέα να εκτελέσει το κακόβουλο λογισμικό ελαχιστοποιώντας παράλληλα τα ανιχνεύσιμα αντικείμενα στο δίσκο.
Το ωφέλιμο φορτίο στη μνήμη που εντοπίστηκε κατά την ανάλυση αντιστοιχεί στο RetroRAT , ένα Trojan απομακρυσμένης πρόσβασης που στοχεύει σε χρηματοοικονομική δραστηριότητα που σχετίζεται με τραπεζικά ιδρύματα των ΗΠΑ και πλατφόρμες κρυπτονομισμάτων . Το κακόβουλο λογισμικό παρακολουθεί τη δραστηριότητα των χρηστών, καταγράφει τα πληκτρολογήσεις και παρακολουθεί επιλεκτικά τις αλληλεπιδράσεις με χρηματοοικονομικές υπηρεσίες, προκειμένου να συλλέξει ευαίσθητες πληροφορίες.
Ανάλυση ωφέλιμου φορτίου – RetroRAT
Το αναλυμένο ωφέλιμο φορτίο, που αναφέρεται ως RetroRAT, είναι ένα οικονομικά υποκινούμενο Remote Access Trojan (RAT) που στοχεύει σε δραστηριότητες που σχετίζονται με κρυπτονομίσματα και τραπεζικές δραστηριότητες. Το κακόβουλο λογισμικό εγκαθιστά ένα παγκόσμιο γάντζο πληκτρολογίου και παρακολουθεί συνεχώς τους ενεργούς τίτλους παραθύρων για λέξεις-κλειδιά που σχετίζονται με οικονομικές εφαρμογές και πλατφόρμες τραπεζικών συναλλαγών ή κρυπτονομισμάτων που έχουν συχνά πρόσβαση. Η αρθρωτή αρχιτεκτονική του, σε συνδυασμό με ένα κανάλι επικοινωνίας εντολών και ελέγχου (C2) που βασίζεται σε TCP, επιτρέπει στον εισβολέα να εκτελεί απομακρυσμένες εντολές, να χειρίζεται αρχεία, να έχει πρόσβαση σε δεδομένα προχείρου και να φορτώνει δυναμικά πρόσθετα συγκροτήματα απευθείας στη μνήμη.
Τεχνικές Άμυνας, Αποφυγής και Αντι-Ανάλυσης
Το δείγμα εφαρμόζει πολλαπλές τεχνικές κατά της ανάλυσης και αποφυγής άμυνας για να αποφύγει την ανίχνευση και να περιορίσει την εκτέλεση σε περιβάλλοντα ανάλυσης όπως sandboxes, εικονικές μηχανές και αυτοματοποιημένα συστήματα ανάλυσης κακόβουλου λογισμικού.
– Έλεγχοι αποφυγής sandbox
Το δείγμα περιέχει μια ενσωματωμένη λίστα με κοινά αναγνωριστικά sandbox και περιβάλλοντος ανάλυσης, συμπεριλαμβανομένων γνωστών ονομάτων χρήστη όπως "John Doe", "ιός", "χρήστης δοκιμής", "sandbox" κ.λπ.
Κατά την εκτέλεση, αυτές οι τιμές συγκρίνονται με χαρακτηριστικά συστήματος για την ανίχνευση πιθανών περιβαλλόντων ανάλυσης. Εάν βρεθεί αντιστοιχία, το κακόβουλο λογισμικό αλλάζει τη συμπεριφορά του, πιθανώς ως μηχανισμός αποφυγής.


– Ανίχνευση εικονικής μηχανής
Το κακόβουλο λογισμικό ελέγχει επίσης εάν εκτελείται σε εικονική μηχανή, υποβάλλοντας ερωτήματα σε καταλόγους εικονικής μηχανής, προγράμματα οδήγησης και σχετικές υπηρεσίες. Εάν βρει ίχνη, τερματίζεται από μόνο του.


– Χρήση συσκότισης
Το ωφέλιμο φορτίο κάνει εκτεταμένη χρήση βασικής αλλά αποτελεσματικής συσκότισης. Τα ονόματα μεθόδων και κλάσεων μετονομάζονται επιθετικά και πολλά αναγνωριστικά περιέχουν χαρακτήρες ελέγχου Unicode που τα κάνουν να φαίνονται κατεστραμμένα μέσα στον αποσυμπιλητή. Επιπλέον, οι περισσότερες σημαντικές συμβολοσειρές αποθηκεύονται κωδικοποιημένες και ανακατασκευάζονται κατά τον χρόνο εκτέλεσης. Αυτό αποτρέπει την απλή στατική ανάλυση και αναγκάζει τον αναλυτή να παρατηρεί δυναμικά τις τιμές. Χρησιμοποιώντας το de4dot, καταφέραμε να αποσυσκότισουμε μερικώς τα δυαδικά αρχεία, αποκαθιστώντας τα αναγνώσιμα ονόματα μεθόδων.
Χρήση Mutex
Νωρίς κατά την εκτέλεση, το δυαδικό αρχείο ελέγχει εάν υπάρχει ήδη ένα επώνυμο mutex στο σύστημα. Εάν εντοπιστεί, το κακόβουλο λογισμικό τερματίζει αμέσως την εκτέλεσή του χρησιμοποιώντας το Environment.Exit(0). Η τεχνική χρησιμοποιείται συνήθως από κακόβουλο λογισμικό για να αποφευχθεί η εκ νέου μόλυνση του συστήματος.


Εκτέλεση πολλαπλών νημάτων
Το κακόβουλο λογισμικό δημιουργεί πολλαπλά νήματα εργασίας (worker threads) για την παράλληλη εκτέλεση διαφορετικών στοιχείων της λειτουργικότητάς του. Αυτός ο σχεδιασμός επιτρέπει στο κακόβουλο λογισμικό να διατηρεί συνεχή παρακολούθηση και δραστηριότητα στο παρασκήνιο χωρίς να διακόπτει άλλες λειτουργίες, όπως η επικοινωνία εντολών και ελέγχου ή η επεξεργασία δεδομένων.
– Θέμα 1 – Βρόχος Υποκλοπής Συμβάντων Πληκτρολογίου
- νέο νήμα(νέα έναρξη νήματος(GClass25.smethod_1)).Έναρξη();
Το εμφύτευμα δημιουργεί ένα ξεχωριστό νήμα εκτέλεσης για τον χειρισμό της υποκλοπής πληκτρολογίου χρησιμοποιώντας το SetWindowsHookExA(). Μέσα σε αυτήν τη ρουτίνα, καταχωρείται ένα άγκιστρο χαμηλού επιπέδου (WH_KEYBOARD_LL) που επιτρέπει στο κακόβουλο λογισμικό να παρακολουθεί την είσοδο πληκτρολογίου χαμηλού επιπέδου.

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

Μέσα στην επανάκληση του αγκίστρου, το κακόβουλο λογισμικό ελέγχει εάν το υποκλαπέν μήνυμα αντιστοιχεί σε ένα συμβάν πατήματος πλήκτρων. Η συνθήκη if (int_2 >= 0 && intptr_1 == (IntPtr)256) διασφαλίζει ότι το αγκίστρι επεξεργάζεται μόνο έγκυρα συμβάντα πατήματος πλήκτρων. Η τιμή 256 αντιστοιχεί στο μήνυμα WM_KEYDOWN στα Windows, που σημαίνει ότι ο κώδικας εκτελείται μόνο όταν πατηθεί ένα πλήκτρο.

Στο τέλος αυτού του νήματος, το κακόβουλο λογισμικό καλεί το UnhookWindowsHookEx() για να καταργήσει το προηγουμένως εγκατεστημένο άγκιστρο πληκτρολογίου. Αυτό διασφαλίζει τη συνεχή παρακολούθηση του πατήματος πλήκτρων μέχρι να τερματιστεί το κακόβουλο λογισμικό.
-Θέμα 2 – Παρακολούθηση τραπεζικών υπηρεσιών και υπηρεσιών κρυπτονομισμάτων στις ΗΠΑ βάσει λέξεων-κλειδιών
- νέο νήμα(νέα έναρξη νήματος(GClass11.smethod_0)).Έναρξη();
Εκτός από το Νήμα 1 που αναχαιτίζει συμβάντα πληκτρολογίου, το κακόβουλο λογισμικό εκκινεί αυτό το πρόσθετο νήμα που είναι υπεύθυνο για τον ανεξάρτητο χειρισμό των ελέγχων χρόνου εκτέλεσης που συνδέονται με την οικονομική δραστηριότητα του χρήστη.
Αρχικά, προετοιμάζει και αρχικοποιεί τον κατάλογο και τα ονόματα των αρχείων καταγραφής, τα οποία χρησιμοποιούνται αργότερα για την αποθήκευση των αποτελεσμάτων παρακολούθησης. Εδώ, αρχικοποιούνται δύο ξεχωριστά αρχεία, ένα για δραστηριότητα που σχετίζεται με κρυπτονομίσματα (“crypto_results.txt”) και ένα άλλο για δραστηριότητα που σχετίζεται με τραπεζικές συναλλαγές (“banks_results.txt”). Αυτά τα αρχεία αποθηκεύονται στον κατάλογο %localappdata% του χρήστη.

Στη συνέχεια, το κακόβουλο λογισμικό αρχικοποιεί δύο πίνακες συμβολοσειρών με τα ονόματα "array" και "array2". Οι τιμές αυτών των πινάκων ανακατασκευάζονται δυναμικά κατά τον χρόνο εκτέλεσης μέσω εσωτερικών ρουτινών αποκωδικοποίησης. Αυτή η τεχνική αποκρύπτει λέξεις-κλειδιά με νόημα από τον στατικό έλεγχο, ενώ παράλληλα επιτρέπει στο κακόβουλο λογισμικό να τις χρησιμοποιήσει κατά την εκτέλεση.
Ο πρώτος πίνακας (array) περιέχει 47 (0x2F) λέξεις-κλειδιά που σχετίζονται με κρυπτονομίσματα, συμπεριλαμβανομένων πλατφορμών όπως coinbase, blockchain, bitcoin και άλλες. Ο δεύτερος πίνακας (array2) περιέχει 51 (0x33) λέξεις-κλειδιά που σχετίζονται με χρηματοπιστωτικά ιδρύματα και υπηρεσίες πληρωμών, συμπεριλαμβανομένων των bankofamerica, wellsfargo, chime και paypal.
Μια πιο προσεκτική εξέταση των λέξεων-κλειδιών στο array2 αποκαλύπτει την έντονη εστίαση του δημιουργού του κακόβουλου λογισμικού στο χρηματοπιστωτικό οικοσύστημα των ΗΠΑ, καλύπτοντας μεγάλες εθνικές τράπεζες, περιφερειακούς οργανισμούς, πλατφόρμες ψηφιακής τραπεζικής και ευρέως χρησιμοποιούμενες υπηρεσίες ηλεκτρονικών πληρωμών.


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

Δύο αντικείμενα HashSet δημιουργούνται για αρχεία αποτελεσμάτων που δημιουργήθηκαν προηγουμένως, επιτρέποντας στο κακόβουλο λογισμικό να αποφεύγει την διπλή καταγραφή και να διατηρεί ένα αρχείο με ήδη εντοπισμένες αντιστοιχίσεις.
Μέσα σε έναν άπειρο βρόχο, το κακόβουλο λογισμικό ανακτά επανειλημμένα τον τίτλο του τρέχοντος ενεργού παραθύρου.

Το καταγεγραμμένο κείμενο κανονικοποιείται χρησιμοποιώντας την .ToLower() πριν συγκριθεί με προκαθορισμένες λίστες λέξεων-κλειδιών που περιέχουν πλατφόρμες κρυπτονομισμάτων και τραπεζικές υπηρεσίες. Κάθε φορά που εντοπίζεται μια αντιστοίχιση και δεν έχει καταγραφεί νωρίτερα, η αντίστοιχη λέξη-κλειδί εγγράφεται σε ένα ειδικό αρχείο αποτελεσμάτων χρησιμοποιώντας την File.AppendAllText(). Επιπλέον, το κακόβουλο λογισμικό αρχίζει να καταγράφει και να καταγράφει επακόλουθες πληκτρολογήσεις που σχετίζονται με αυτήν την περίοδο σύνδεσης, επιτρέποντάς του να συλλέγει ενδεχομένως ευαίσθητα δεδομένα χρήστη που σχετίζονται με οικονομική δραστηριότητα.

Αυτή η λογική συνδέει αποτελεσματικά τη δραστηριότητα των χρηστών στο προσκήνιο με στοχευμένες οικονομικές λέξεις-κλειδιά, υποδεικνύοντας ότι το κακόβουλο λογισμικό παρακολουθεί επιλεκτικά περιόδους σύνδεσης που αφορούν τραπεζικές υπηρεσίες, πλατφόρμες πληρωμών ή υπηρεσίες κρυπτονομισμάτων αντί να καταγράφει αδιακρίτως όλη τη δραστηριότητα.
Σύνδεση C2 και εξαγωγή δεδομένων
Η μέθοδος smethod_5() εφαρμόζει την κύρια ρουτίνα επικοινωνίας εντολών και ελέγχου (C2) του κακόβουλου λογισμικού. Προσπαθεί συνεχώς να δημιουργήσει μια σύνδεση δικτύου με προκαθορισμένους απομακρυσμένους διακομιστές και διαχειρίζεται τον κύκλο ζωής του ενεργού καναλιού επικοινωνίας. Μόλις δημιουργηθεί με επιτυχία μια σύνδεση, αυτή η ρουτίνα επιτρέπει την περαιτέρω αλληλεπίδραση με τον απομακρυσμένο διακομιστή, σχηματίζοντας τη βάση για την ανταλλαγή δεδομένων και τον απομακρυσμένο έλεγχο.

Αρχικά, το δυαδικό αρχείο επαναλαμβάνεται μέσω μιας λίστας κωδικοποιημένων τομέων (Class15.string_0) και συσχετισμένων θυρών (Class15.int_0).

Για κάθε συνδυασμό τομέα-θύρας, δημιουργείται ένα αντικείμενο TcpClient. Μόλις δημιουργηθεί μια σύνδεση TCP, εκτελείται μια ρουτίνα επικύρωσης (smethod_6), η οποία λειτουργεί ως έλεγχος χειραψίας για να επιβεβαιώσει ότι ο απομακρυσμένος διακομιστής ανταποκρίνεται με ένα αναμενόμενο αναγνωριστικό.

Το αναγνωριστικό που παρατηρήσαμε στο δείγμα μας είναι η συμβολοσειρά "RETRO-OK-2025". Οι συνδέσεις που δεν επικυρώνονται κλείνουν αμέσως και δοκιμάζεται ο επόμενος υποψήφιος διακομιστής.
Μετά την επιτυχή επικύρωση C2, το κακόβουλο λογισμικό ενεργοποιεί τη λειτουργία RAT που συλλέγει περιοδικά δεδομένα πληκτρολογήσεων που είναι αποθηκευμένα σε τοπικά αρχεία αποτελεσμάτων και τα μεταδίδει στον διακομιστή C2.

Το κακόβουλο λογισμικό διαβάζει τα δεδομένα πληκτρολογήσεων που συλλέχθηκαν από το αρχείο αποτελεσμάτων χρησιμοποιώντας το File.ReadAllText(). Τα κλεμμένα δεδομένα συνδυάζονται με τις πληροφορίες αναγνώρισης του θύματος και συσκευάζονται σε ένα δομημένο μήνυμα χρησιμοποιώντας την εσωτερική ρουτίνα δημιουργίας πακέτων (GClass10). Το μήνυμα στη συνέχεια μεταδίδεται στον διακομιστή C2 μέσω του ενεργού καναλιού επικοινωνίας TCP (GClass12), όπου το ωφέλιμο φορτίο κρυπτογραφείται πριν από τη μετάδοση.
Αυτός ο μηχανισμός επιτρέπει στο κακόβουλο λογισμικό να συλλέγει και να μεταδίδει με αξιοπιστία ευαίσθητα δεδομένα χρήστη στην απομακρυσμένη υποδομή C2, επιτρέποντας στον εισβολέα να συλλέγει οικονομικές πληροφορίες και πληροφορίες που σχετίζονται με διαπιστευτήρια από το παραβιασμένο σύστημα.
Μονάδα RAT
Ως Trojan Απομακρυσμένης Πρόσβασης, το κακόβουλο λογισμικό υποστηρίζει μια σειρά από δυνατότητες απομακρυσμένου ελέγχου. Οι εντολές που λαμβάνονται από τον διακομιστή C2 υποβάλλονται σε επεξεργασία μέσω ενός κεντρικού αποστολέα που υλοποιείται ως εντολή διακόπτη, η οποία αξιολογεί τα αναγνωριστικά εντολών που ορίζονται στην απαρίθμηση GEnum1 και ενεργοποιεί την αντίστοιχη λειτουργικότητα.

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


Αυτή η λειτουργικότητα RAT επιτρέπει στους εισβολείς να παρακολουθούν και να ελέγχουν διαδραστικά το μολυσμένο σύστημα, εκτός από την κλοπή οικονομικών δεδομένων.
Δυνατότητες Διοίκησης RAT
| Ικανότητα | Ενέργειες |
| Απομακρυσμένη παρακολούθηση επιφάνειας εργασίας / οθόνης | Έναρξη/διακοπή λήψης οθόνης και ρύθμιση παραμέτρων ροής απομακρυσμένης επιφάνειας εργασίας |
| Λειτουργίες διαχειριστή αρχείων | Περιηγηθείτε σε καταλόγους, ανεβάστε/λήψτε αρχεία, διαχειριστείτε το σύστημα αρχείων |
| Παρακολούθηση Διαδικασιών / Συστήματος | Απαριθμήστε διεργασίες, συλλέξτε πληροφορίες συστήματος, διαχειριστείτε εργασίες |
| Εκτέλεση εντολών | Εκτέλεση εντολών ή προγραμμάτων στο παραβιασμένο σύστημα |
| Έλεγχος συστήματος | Τερματισμός/επανεκκίνηση συστήματος ή τερματισμός προγράμματος-πελάτη κακόβουλου λογισμικού |
| Μνήμη / Προηγμένες Λειτουργίες | Εκτέλεση εργασιών μνήμης ή χειρισμού διεργασιών |
Στοχευμένες οικονομικές λέξεις-κλειδιά
| CryptoCurrency | |||
| coinbase | metamask | bitflyer | πολτόν |
| blockchain | trustwallet | μπιτλ | πιθανότητα |
| δωρεάν πορτοφόλι | bitpay | πύλη | hitbtc |
| πορτοφόλι | ευχάριστο | coincheck | μερκάτοξ |
| Bitcoin | τοπικές βιταμίνες | χλευασμός | hotbit |
| BTC | κρυπτο | μπιτσο | digifinex |
| Binance | bitfinex | bitmart | bitbank |
| Kraken | bitstamp | exmo | Λούνο |
| eToro | οκχ | bitpanda | Δίδυμοι |
| κοίνγκο | ψηφιόλεξη | υγρό | bitbons |
| coinmarketcap | kucoin | νόμισμα | συνασπιστής |
| tradingview | huobi | bittrex | |
| Χρηματοπιστωτικά Ιδρύματα / Πλατφόρμες Πληρωμών | |||
| η τράπεζα της Αμερικής | πέμπτη τρίτη τράπεζα | πρώτη δημοκρατία | παγωμένη όχθη |
| Γουέλσφαργκο | huntington | Zionsbank | onb |
| κυνηγητό | συγχρονισμός | εμπορική τράπεζα | πρώτοι πολίτες |
| Citibank | keybank | τράπεζα της Δύσης | centurylinkbank |
| usbank | americanexpress | ένα χρηματοοικονομικό | αρθρικό αρθρικό |
| capitalone | ανακαλύπτουν | go2bank | firsthorizon |
| pnc | nbkc | πράσινη κουκκίδα | ebay |
| τράπεζα td | sofi | απλός | paypal |
| πιστός | αρμονική κωδωνοκρουσία | φιλοδοξία | πληρωτή |
| σύμμαχος | varobank | nbkcbank | αμαζόνα |
| bbt | axosbank | αστέρι σημαίας | checkout |
| ηλιακή εμπιστοσύνη | τράπεζα πολιτών | BMO | πληρωμή |
| περιοχές | m&tbank | everbank | |
Συμπέρασμα
Η επιχείρηση DualScript είναι μια καμπάνια κακόβουλου λογισμικού πολλαπλών σταδίων που καταχράται νόμιμα στοιχεία των Windows, όπως οι Προγραμματισμένες Εργασίες, η VBScript και το PowerShell, για να διατηρήσει την ανθεκτικότητα, ελαχιστοποιώντας παράλληλα τα αντικείμενα στο δίσκο. Η επίθεση λειτουργεί μέσω δύο παράλληλων αλυσίδων: ενός διαδικτυακού φορτωτή PowerShell που αναπτύσσει έναν αεροπειρατή clipboard κρυπτονομισμάτων και μιας δευτερεύουσας αλυσίδας φορτωτή PowerShell που εκτελεί το εμφύτευμα RetroRAT απευθείας στη μνήμη.
Συνδυάζοντας την οικονομική κλοπή μέσω χειραγώγησης πορτοφολιού με δυνατότητες απομακρυσμένης πρόσβασης, οι επιτιθέμενοι επιτυγχάνουν τόσο στοχευμένη κλοπή κρυπτονομισμάτων όσο και συνεχή παρακολούθηση του συστήματος. Αυτή η εκστρατεία υπογραμμίζει την αυξανόμενη κατάχρηση αξιόπιστων βοηθητικών προγραμμάτων συστήματος και τεχνικών εκτέλεσης στη μνήμη για την αποφυγή των παραδοσιακών μηχανισμών ανίχνευσης.
Δείκτες συμβιβασμού
Βασισμένο σε αρχεία
| Τεχνούργημα | MD5 Hash | Ανίχνευση |
| Ρετρόαρουραίος | 7546ada1e3144371724db209ba4c5f37 | Trojan.RetroRAT.S3882604 |
| PiceVid.ps1 | 173b27e7541427929da72ebf37c6db8e | Script.RetroRat.50517.GC |
| PiceVid.vbs | 243af69d85550232da45f5a30703a4a3 | Script.RetroRat.50517.GC |
| ppamproServiceZuneWAL.ps1 | 43cac07a501e7a717023e0fa8f6111e0 | Script.Trojan.49593.GC |
| ppamproServiceZuneWAL.vbs | 163c38bd7ff7dd27e88eaef1a7a4819f | Ψ.Τρώας.50374 |
| Wallet.txt | 1dc82fd02a0db3e338128b6f587d7122 | Script.RetroRat.50517.GC |
Βασισμένο σε δίκτυο
| URL / Τομέας | Κατηγορία |
| πληροφορίες[.]1cooldns[.]com | malware |
| floatsdk[.]1cooldns[.]com | malware |
| thewpiratebay[.]st | malware |
Χαρτογράφηση μίτρας
| Τακτική | Τεχνική | Αναγνωριστικό τεχνικής |
| Επιμονή | Προγραμματισμένη Εργασία/Εργασία | T1053.005 |
| Εκτέλεση | Διερμηνέας εντολών και σεναρίων: PowerShell | T1059.001 |
| Εκτέλεση | Διερμηνέας εντολών και σεναρίων: VBScript | T1059.005 |
| Αμυντική υπεκφυγή | Συγκαλυμμένα/συμπιεσμένα αρχεία και πληροφορίες | T1027 |
| Αμυντική υπεκφυγή | Άμυνες κατά της βλάβης: Απενεργοποίηση ή τροποποίηση εργαλείων (Παράκαμψη πολιτικής εκτέλεσης) | T1562.001 |
| Ανακάλυψη | Διαδικασία Ανακάλυψης | T1057 |
| Συλλογή | Καταγραφή εισόδου: Καταγραφή πληκτρολογίου | T1056.001 |
| Συλλογή | Δεδομένα Πρόχειρου | T1115 |
| Συλλογή | Οθόνη συλλαμβάνει | T1113 |
| Πρόσβαση διαπιστευτηρίων | Καταγραφή εισόδου | T1056 |
| Διοίκησης και Ελέγχου | Πρωτόκολλο Επιπέδου Εφαρμογής (Πρωτόκολλα Ιστού) | T1071 |
| εκδιήθησης | Διήθηση πάνω από το κανάλι C2 | T1041 |
Συγγραφείς:
Νιράτζ Μακασάρε
Πράσιλ Μουν
Ραγιαπάτι Λάκσμι Πρασάνα Σάι



