Ποιος κολυμπάει στα νερά της Νότιας Κορέας; Γνωρίστε το Dolphin PlatoBlockchain Data Intelligence της ScarCruft. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Ποιος κολυμπάει στα νερά της Νότιας Κορέας; Γνωρίστε το ScarCruft's Dolphin

Οι ερευνητές της ESET αποκαλύπτουν το Dolphin, μια εξελιγμένη κερκόπορτα που επεκτείνει το οπλοστάσιο της ομάδας ScarCruft APT

Οι ερευνητές της ESET ανέλυσαν μια κερκόπορτα που δεν είχε αναφερθεί προηγουμένως που χρησιμοποιήθηκε από την ομάδα ScarCruft APT. Η κερκόπορτα, την οποία ονομάσαμε Dolphin, έχει ένα ευρύ φάσμα δυνατοτήτων κατασκοπείας, όπως παρακολούθηση μονάδων δίσκου και φορητών συσκευών και εξαγωγή αρχείων ενδιαφέροντος, καταγραφή πληκτρολογίου και λήψη στιγμιότυπων οθόνης και κλοπή διαπιστευτηρίων από προγράμματα περιήγησης. Η λειτουργικότητά του προορίζεται για επιλεγμένους στόχους, στους οποίους αναπτύσσεται η κερκόπορτα μετά από αρχικό συμβιβασμό χρησιμοποιώντας λιγότερο προηγμένο κακόβουλο λογισμικό. Σε συμφωνία με άλλα εργαλεία ScarCruft, το Dolphin καταχράται τις υπηρεσίες αποθήκευσης cloud – ειδικά το Google Drive – για επικοινωνία C&C.

Κατά τη διάρκεια της έρευνάς μας, είδαμε τη συνεχή ανάπτυξη της κερκόπορτας και τις προσπάθειες των δημιουργών κακόβουλου λογισμικού να αποφύγουν τον εντοπισμό. Ένα αξιοσημείωτο χαρακτηριστικό των προηγούμενων εκδόσεων Dolphin που αναλύσαμε είναι η δυνατότητα τροποποίησης των ρυθμίσεων των συνδεδεμένων λογαριασμών Google και Gmail των θυμάτων για μείωση της ασφάλειάς τους, πιθανότατα για τη διατήρηση της πρόσβασης στα εισερχόμενα email των θυμάτων.

Σε αυτό το blogpost, παρέχουμε μια τεχνική ανάλυση της κερκόπορτας Dolphin και εξηγούμε τη σύνδεσή της με προηγουμένως τεκμηριωμένη δραστηριότητα ScarCruft. Θα παρουσιάσουμε τα ευρήματά μας σχετικά με αυτή τη νέα προσθήκη στο σύνολο εργαλείων της ScarCruft στο AVAR 2022 διάσκεψη.

Βασικά σημεία σε αυτό το blogpost:

  • Οι ερευνητές της ESET ανέλυσαν το Dolphin, μια κερκόπορτα που δεν είχε αναφερθεί προηγουμένως που χρησιμοποιήθηκε από την ομάδα ScarCruft APT.
  • Το Dolphin αναπτύσσεται μόνο σε επιλεγμένους στόχους. πραγματοποιεί αναζήτηση στις μονάδες δίσκου των παραβιασμένων συστημάτων για ενδιαφέροντα αρχεία και τα διοχετεύει στο Google Drive.
  • Η κερκόπορτα χρησιμοποιήθηκε ως το τελικό ωφέλιμο φορτίο μιας επίθεσης πολλαπλών σταδίων στις αρχές του 2021, που περιελάμβανε μια επίθεση σε μια διαδικτυακή εφημερίδα της Νότιας Κορέας, μια εκμετάλλευση του Internet Explorer και μια άλλη κερκόπορτα ScarCruft, που ονομάζεται BLUELIGHT.
  • Από την αρχική ανακάλυψη του Dolphin τον Απρίλιο του 2021, οι ερευνητές της ESET παρατήρησαν πολλαπλές εκδόσεις της κερκόπορτας, στις οποίες οι παράγοντες απειλής βελτίωσαν τις δυνατότητες της κερκόπορτας και έκαναν προσπάθειες να αποφύγουν τον εντοπισμό.
  • Ένα αξιοσημείωτο χαρακτηριστικό των προηγούμενων εκδόσεων Dolphin που αναλύσαμε είναι η δυνατότητα τροποποίησης των ρυθμίσεων των συνδεδεμένων λογαριασμών Google και Gmail των θυμάτων για μείωση της ασφάλειάς τους.

Προφίλ ScarCruft

Η ScarCruft, γνωστή και ως APT37 ή Reaper, είναι μια ομάδα κατασκοπείας που δραστηριοποιείται τουλάχιστον από το 2012. Επικεντρώνεται κυρίως στη Νότια Κορέα, αλλά έχουν στοχοποιηθεί και άλλες ασιατικές χώρες. Η ScarCruft φαίνεται να ενδιαφέρεται κυρίως για κυβερνητικούς και στρατιωτικούς οργανισμούς και εταιρείες σε διάφορους κλάδους που συνδέονται με τα συμφέροντα της Βόρειας Κορέας.

Επισκόπηση δελφινιών

Το 2021, η ScarCruft πραγματοποίησε επίθεση σε μια νοτιοκορεατική διαδικτυακή εφημερίδα με επίκεντρο τη Βόρεια Κορέα. Η επίθεση αποτελούνταν από πολλαπλά στοιχεία, συμπεριλαμβανομένου ενός εκμεταλλεύματος του Internet Explorer και ενός κώδικα κελύφους που οδηγούσε σε μια κερκόπορτα με το όνομα BLUELIGHT, που αναφέρθηκε από Βολές και Kaspersky.

Σε αυτές τις αναφορές, η κερκόπορτα BLUELIGHT περιγράφηκε ως το τελικό ωφέλιμο φορτίο της επίθεσης. Ωστόσο, κατά την ανάλυση της επίθεσης, ανακαλύψαμε μέσω της τηλεμετρίας της ESET μια δεύτερη, πιο εξελιγμένη κερκόπορτα, που αναπτύχθηκε σε επιλεγμένα θύματα μέσω του BLUELIGHT. Ονομάσαμε αυτό το backdoor Dolphin με βάση μια διαδρομή PDB που βρέθηκε στο εκτελέσιμο αρχείο.

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

Το σχήμα 1 παρέχει μια επισκόπηση των στοιχείων επίθεσης που οδηγούν στην εκτέλεση της κερκόπορτας Dolphin.

Εικόνα 1. Επισκόπηση των στοιχείων επίθεσης που οδηγούν στην εκτέλεση της κερκόπορτας Dolphin

Ανάλυση δελφινιών

Η ανάλυση των εξαρτημάτων του Dolphin και των δυνατοτήτων τους παρέχεται στην επόμενη ενότητα.

Η ανάλυση βασίζεται στην πρώτη έκδοση του backdoor που βρήκαμε, 1.9 (με βάση μια συμβολοσειρά που βρίσκεται στον κώδικα) με πρόσθετες πληροφορίες σχετικά με αλλαγές σε νεότερες εκδόσεις. Μια συνοπτική περιγραφή των αλλαγών της έκδοσης μπορεί να βρεθεί στο Εξέλιξη των δελφινιών τμήμα.

Εγκαταστάτης Dolphin

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

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

Ο κέλυφος του προγράμματος εγκατάστασης ακολουθεί αυτούς τους κύριους στόχους:

  • Λήψη και ανάπτυξη διερμηνέα Python
  • Δημιουργήστε και αναπτύξτε μια αλυσίδα φόρτωσης με το ωφέλιμο φορτίο της
  • Εξασφαλίστε την ανθεκτικότητα της αλυσίδας φόρτωσης

Το πρόγραμμα εγκατάστασης κατεβάζει ένα αρχείο CAB από το OneDrive, το οποίο περιέχει έναν νόμιμο διερμηνέα Python 2.7. Το CAB είναι αποσυσκευασμένο σε %% APPDATAκαι ανάλογα με την αρχιτεκτονική, ο διερμηνέας καταλήγει σε έναν από τους παρακάτω καταλόγους:

  • %appdata%Python27(32)
  • %appdata%Python27(64)

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

επιλέγεται τυχαία από

  • %ΔΕΔΟΜΕΝΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ%
  • %ΔΗΜΟΣΙΟ%
  • %APPDATA%Microsoft
  • %APPDATA%MicrosoftWindows
  • % LOCALAPPDATA%
  • %LOCALAPPDATA% Microsoft
  • %LOCALAPPDATA%MicrosoftWindows

και επιλέγονται τυχαία από υπάρχοντα ονόματα αρχείων (χωρίς επέκταση). %windir%inf*.inf και %windir%system32*.dll.

Για να δημιουργήσει το Βήμα 1 του Loader, χρησιμοποιεί ένα πρότυπο σεναρίου που είναι γεμάτο με ονόματα που δημιουργούνται τυχαία (μεταβλητές, συνάρτηση). Το πρότυπο με το παραγόμενο παράδειγμα φαίνεται στο Σχήμα 2.

Ποιος κολυμπάει στα νερά της Νότιας Κορέας; Γνωρίστε το Dolphin PlatoBlockchain Data Intelligence της ScarCruft. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Εικόνα 2. Πρότυπο Βήματος 1 και παραγόμενο παράδειγμα

Στη συνέχεια γράφεται το σενάριο .

Το βήμα 2 (ενσωματωμένο στο πρόγραμμα εγκατάστασης) που περιέχει την υπόλοιπη αλυσίδα φόρτωσης, συμπεριλαμβανομένου του ωφέλιμου φορτίου, είναι κρυπτογραφημένο με ένα κλειδί XOR ενός byte που προέρχεται από την τρέχουσα ώρα και γράφεται στο .

Για να συνεχιστεί η έναρξη της αλυσίδας φόρτωσης, το πρόγραμμα εγκατάστασης ορίζει μια τιμή μητρώου Εκτέλεση:

HKCUSoftwareMicrosoftWindowsCurrentVersionRun”%appdata%Python27({32|64})pythonw.exe” “” “”

Η επιλέγεται τυχαία από τα υπάρχοντα ονόματα αρχείων που ταιριάζουν %WINDIR%inf*.inf, απορρίπτοντας το . Inf επέκταση.

Για να ξεκινήσει η αλυσίδα φόρτωσης μετά την εγκατάσταση, δημιουργεί μια προγραμματισμένη εργασία εφάπαξ.

Δελφινοφόρος φορτωτής

Ο φορτωτής Dolphin αποτελείται από ένα σενάριο Python και έναν κώδικα κελύφους.

Βήμα 1, το σενάριο Python, διαβάζει ένα καθορισμένο αρχείο, το XOR αποκρυπτογραφεί τα περιεχόμενά του και εκτελεί τον κώδικα φλοιού που προκύπτει.

Το βήμα 2, shellcode, δημιουργεί μια διεργασία κεντρικού υπολογιστή (τυχαία εκτελέσιμο CLI από %WINDIR%System32*.exe), Το XOR αποκρυπτογραφεί περαιτέρω κώδικες φλοιού που μεταφέρεται μέσα του και τον εγχέει στη δημιουργημένη διαδικασία.

Βήμα 3, ένας άλλος κώδικας κελύφους, ο XOR-αποκρυπτογραφεί ένα ενσωματωμένο αρχείο PE – το Dolphin backdoor – και το φορτώνει και το εκτελεί χρησιμοποιώντας έναν προσαρμοσμένο φορτωτή PE.

Πίσω πόρτα δελφινιών

Το Dolphin είναι ένα backdoor που συλλέγει πληροφορίες και εκτελεί εντολές που εκδίδονται από τους χειριστές του. Το backdoor είναι ένα κανονικό εκτελέσιμο Windows, γραμμένο σε C++. Επικοινωνεί με τον χώρο αποθήκευσης cloud του Google Drive, ο οποίος χρησιμοποιείται ως διακομιστής C&C.

Ονομάσαμε το backdoor Dolphin με βάση μια διαδρομή PDB που βρέθηκε στο εκτελέσιμο:

D:DevelopmentBACKDOORDolphinx64ReleaseDolphin.pdb

Επιμονή

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

HKCUSoftwareMicrosoftWindowsCurrentVersionRun”%appdata%Python27({32|64})pythonw.exe” “” “”

Δυνατότητες

Συλλέγονται οι ακόλουθες βασικές πληροφορίες σχετικά με τον υπολογιστή και την κερκόπορτα:

  • Τρέχουσα διαμόρφωση backdoor
  • Επωνυμία Φαρμακείου
  • το όνομα του υπολογιστή
  • Τοπική και εξωτερική διεύθυνση IP
  • Λίστα εγκατεστημένων προϊόντων ασφαλείας
  • Μέγεθος RAM και χρήση
  • Αποτέλεσμα ελέγχου για εντοπισμό σφαλμάτων και άλλα εργαλεία επιθεώρησης (όπως το Wireshark)
  • Έκδοση λειτουργικού συστήματος
  • Τρέχουσα ώρα
  • Έκδοση κακόβουλου λογισμικού

Το Dolphin κατεβάζει εντολές, που εκδίδονται από τους χειριστές του, από τον χώρο αποθήκευσης του Google Drive και τις εκτελεί. Μετά την εκτέλεση, μεταφορτώνεται η έξοδος των εντολών. Οι περισσότερες από τις δυνατότητες του Dolphin ελέγχονται μέσω εντολών.

Οι πιο σχετικές δυνατότητες περιγράφονται παρακάτω.

Διήθηση αρχείου

Από προεπιλογή, το Dolphin αναζητά όλες τις μη σταθερές μονάδες δίσκου (USB), δημιουργεί λίστες καταλόγων και εξάγει αρχεία κατά επέκταση. Αυτή η αναζήτηση μπορεί να επεκταθεί σε σταθερές μονάδες δίσκου (HDD), μέσω αποκλειστικών εντολών.

Οι ακόλουθες επεκτάσεις αρχείων ενδιαφέροντος, ειδικά για μέσα, έγγραφα, μηνύματα ηλεκτρονικού ταχυδρομείου και πιστοποιητικά, καθορίζονται στην προεπιλεγμένη διαμόρφωση:

jpg, doc, xls, ppt, hwp, url, csv, pdf, εμφάνιση, κελί, eml, odt, rtf, nxl, amr, 3gp, m4a, txt, msg, κλειδί, der, cer, docx, xlsx, pptx, pfx, mp3

Εκτός από αυτήν την αυτόματη αναζήτηση, μπορεί να γίνει εξαγωγή συγκεκριμένων αρχείων.

Στις νεότερες εκδόσεις, η προεπιλεγμένη αναζήτηση επεκτάθηκε σε σταθερές μονάδες δίσκου. Η εντολή λήψης συγκεκριμένων αρχείων βελτιώθηκε, με προσωρινή αποθήκευση/αποθήκευση στη διαμόρφωση μέχρι την ολοκλήρωση.

Φορητές συσκευές

Μεταξύ των συνηθισμένων μονάδων δίσκου, το Dolphin αναζητά επίσης φορητές συσκευές, όπως smartphone, χρησιμοποιώντας το API φορητής συσκευής Windows (WPD). Δημιουργεί λίστες καταλόγων και διεγείρει αρχεία. Αυτή η λειτουργία φάνηκε να είναι υπό ανάπτυξη στην πρώτη έκδοση που βρήκαμε, για διάφορους λόγους:

  • Βασίζεται σε μια διαδρομή με σκληρό κώδικα με όνομα χρήστη που πιθανότατα δεν υπάρχει στον υπολογιστή του θύματος
  • Λείπει αρχικοποίηση μεταβλητής – ορισμένες μεταβλητές θεωρείται ότι έχουν μηδενική εκκίνηση ή αποαναφορά ως δείκτες χωρίς αρχικοποίηση
  • Λείπει το φιλτράρισμα επέκτασης

Ο κώδικας βασίζεται σε μεγάλο βαθμό στο Portable Devices COM API της Microsoft δείγμα κώδικα.

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

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

Καταγραφή πλήκτρων και στιγμιότυπα οθόνης

Το Dolphin καταγράφει πληκτρολογήσεις για παράθυρα με τίτλους που περιέχουν υποσυμβολοσειρές που καθορίζονται στη διαμόρφωσή του. Οι προεπιλογές είναι χρώμιο και εξερευνήστε το διαδίκτυο (ούτω). Αυτό γίνεται μέσω του GetAsyncKeyState API, με πληκτρολογήσεις που καταγράφονται μαζί με το όνομα του παραθύρου και την τρέχουσα ώρα. Τα στιγμιότυπα οθόνης λαμβάνονται επίσης σε ένα ρυθμιζόμενο διάστημα. η προεπιλογή είναι μία φορά κάθε 30 δευτερόλεπτα.

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

Shellcode

Το Dolphin μπορεί να λάβει shellcode για εκτέλεση. Ο shellcode αποθηκεύεται στο μητρώο, κάτω από ένα από τα ακόλουθα κλειδιά:

  • HKCUSoftwareMicrosoftWindowsCurrentVersionThemesClassic
  • HKCUSoftwareMicrosoftOneDriveUpdate
  • HKCUSoftwareMicrosoftWindowsΤρέχουσαΈκδοσηΡυθμίσειςΔιαδικτύουHttpsΛογισμικόMicrosoftInternet ExplorerZone (δύο δευτερεύοντα κλειδιά ως ένα, πιθανότατα σφάλμα κωδικοποίησης)

Μπορεί να εκτελεστεί είτε τοπικά είτε σε μια καθορισμένη ξεχωριστή διαδικασία που δημιουργείται και εγχέεται.

Στις νεότερες εκδόσεις, ο shellcode αποθηκεύεται σε αρχεία αντί για το μητρώο και ο αποθηκευμένος shellcode φορτώνεται και εκτελείται στην εκκίνηση του Dolphin, κάτι που δεν συνέβαινε στην έκδοση 1.9 (η αρχική έκδοση που αναλύσαμε).

Εντολές Shell

Το Dolphin μπορεί να εκτελέσει εντολές φλοιού. αυτό γίνεται μέσω του ανοίξει Το API και η έξοδος τους ανακτάται.

Κλοπή διαπιστευτηρίων

Το Dolphin μπορεί να ανακτήσει διαπιστευτήρια από προγράμματα περιήγησης με τη μορφή αποθηκευμένων κωδικών πρόσβασης και cookies. Υποστηρίζονται τα ακόλουθα προγράμματα περιήγησης:

  • Chrome
  • άκρη
  • Internet Explorer

Στην έκδοση 2.2, αυτή η δυνατότητα αφαιρέθηκε, πιθανώς για να αποφευχθεί ο εντοπισμός. Αργότερα αποκαταστάθηκε στην έκδοση 3.0, αλλά σε διαφορετική μορφή. Τώρα λαμβάνεται δυναμικά από το C&C με τη μορφή shellcode.

Google λογαριασμό

Μια άλλη από τις εντολές του Dolphin τροποποιεί τις ρυθμίσεις του τρέχοντος συνδεδεμένου λογαριασμού Google, μειώνοντας την ασφάλειά του σε σχέση με τις προεπιλεγμένες ρυθμίσεις. Κλέβει το υπάρχον cookie του συνδεδεμένου λογαριασμού από το πρόγραμμα περιήγησης και δημιουργεί αιτήματα που τροποποιούν τις ρυθμίσεις.

Πρώτον, επιτρέπει την πρόσβαση στο Gmail μέσω του πρωτοκόλλου IMAP στέλνοντας ένα αίτημα HTTP POST στη διεύθυνση:

  • https://mail.google.com/mail/u/0/?ik=&at=&view=up&act=prefs

Στη συνέχεια, ενεργοποιεί τη "λιγότερο ασφαλή πρόσβαση σε εφαρμογές" στέλνοντας ένα αίτημα RPC χωρίς έγγραφα μέσω ενός HTTP POST σε:

  • https://myaccount.google.com/_/AccountSettingsUi/data/batchexecute

Αυτές οι τροποποιήσεις αναφέρονται ως "πρόσβαση Thunder" στην κερκόπορτα, πιθανότατα αποτελούν αναφορά στο πρόγραμμα-πελάτη ηλεκτρονικού ταχυδρομείου Thunderbird. Η πρόσβαση στα εισερχόμενα των θυμάτων τους με έναν πελάτη τρίτου μέρους μέσω IMAP πιθανότατα βοηθά τους χειριστές του ScarCruft να διατηρήσουν πρόσβαση στα email των θυμάτων μετά την κλοπή των διαπιστευτηρίων, τα οποία μπορεί να μην είναι αρκετά από μόνα τους, λόγω του εντοπισμού ύποπτων προσπαθειών σύνδεσης από την Google.

Αυτή η δυνατότητα βρέθηκε στις εκδόσεις 1.9 και 2.0 του backdoor. δεν υπάρχει στις εκδόσεις 2.2 ή 3.0.

Σταδιοποίηση δεδομένων

Το Dolphin διοχετεύει δεδομένα στον χώρο αποθήκευσης του Google Drive, τοποθετώντας τα δεδομένα σε κρυπτογραφημένα αρχεία ZIP πριν από τη μεταφόρτωση. Το backdoor διατηρεί επίσης μια λίστα αρχείων με τη μορφή κατακερματισμών MD5, προκειμένου να αποφευχθεί η πολλαπλή μεταφόρτωση του ίδιου αρχείου. Αυτή η λίστα μπορεί να επαναφερθεί μέσω μιας αποκλειστικής εντολής.

διαμόρφωση

Η κερκόπορτα περιέχει μια αρχική προεπιλεγμένη διαμόρφωση που παραμένει στην πρώτη εκτέλεση και φορτώνεται στις επόμενες εκτελέσεις. Αποθηκεύεται στο αρχείο %ProgramData%.inf, Όπου επιλέγεται τυχαία από τα υπάρχοντα ονόματα αρχείων που ταιριάζουν %windir%inf*.inf. Το περιεχόμενο κρυπτογραφείται χρησιμοποιώντας AES CBC με τυχαία κλειδιά 16 byte και IV, τα οποία αποθηκεύονται στην αρχή του αρχείου. Η διαμόρφωση χρησιμοποιεί μορφή JSON, με κλειδιά που μοιάζουν με κατακερματισμό. Ένα παράδειγμα αποκρυπτογραφημένης διαμόρφωσης φαίνεται στο Σχήμα 3.

Ποιος κολυμπάει στα νερά της Νότιας Κορέας; Γνωρίστε το Dolphin PlatoBlockchain Data Intelligence της ScarCruft. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Εικόνα 3. Διαμόρφωση κερκόπορτας Dolphin

Η διαμόρφωση μπορεί να τροποποιηθεί μέσω εντολών. Περιλαμβάνει, μεταξύ άλλων, τα ακόλουθα:

  • Κλειδιά κρυπτογράφησης
  • Διαπιστευτήρια για πρόσβαση στο Google Drive API
  • Τίτλοι παραθύρων στο πληκτρολόγιο
  • Λίστα επεκτάσεων αρχείων προς εξαγωγή

Εξέλιξη των δελφινιών

Από την αρχική ανακάλυψη του Dolphin τον Απρίλιο του 2021, έχουμε παρατηρήσει πολλές εκδόσεις της κερκόπορτας, στις οποίες οι παράγοντες απειλών βελτίωσαν τις δυνατότητες της κερκόπορτας και έκαναν προσπάθειες να αποφύγουν τον εντοπισμό. Το Σχήμα 4 συνοψίζει τις εκδόσεις που είδαμε. Μια πιο λεπτομερής περιγραφή των αλλαγών της έκδοσης παρέχεται παρακάτω.

Ποιος κολυμπάει στα νερά της Νότιας Κορέας; Γνωρίστε το Dolphin PlatoBlockchain Data Intelligence της ScarCruft. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Εικόνα 4. Χρονοδιάγραμμα εξέλιξης δελφινιών

Νοέμβριος 2021 – έκδοση 2.0

Η έκδοση 2.0 εισήγαγε τις ακόλουθες αλλαγές στην έκδοση που βρέθηκε τον Απρίλιο του 2021:

  • Δυναμική επίλυση ύποπτων API αντί για στατικές εισαγωγές (για παράδειγμα GetAsyncKeyState) προστέθηκε
  • Η δυνατότητα Shellcode ολοκληρώθηκε και βελτιώθηκε
    • Συνεχής shellcode αποθηκευμένος σε αρχεία αντί για μητρώο
    • Ο επίμονος κώδικας κελύφους φορτώθηκε και εκτελέστηκε κατά την εκκίνηση του Dolphin (που προηγουμένως έλειπε)
  • Ολοκληρώθηκε και βελτιώθηκε η ικανότητα εξαγωγής αρχείων φορητής συσκευής
    • Προστέθηκε η διήθηση από επεκτάσεις
    • Προστέθηκε αναγνώριση εσωτερικής μνήμης και καρτών SD (από το αναγνωριστικό συσκευής).
    • Εντολή για λήψη αρχείων από φορητές συσκευές αποτελεσματικά NOP
  • Η ανίχνευση συσκευής/μονάδας δίσκου και η εξαγωγή αρχείων βελτιώθηκαν
    • Το Dolphin δημιουργεί πλέον άνευ όρων λίστες καταλόγων και εξάγει αρχεία κατά επέκταση κάθε 30 λεπτά για όλους τους δίσκους και τις συσκευές (σταθερές μονάδες δίσκου, αφαιρούμενες μονάδες δίσκου, φορητές συσκευές). Προηγουμένως, ήταν μόνο για αφαιρούμενες μονάδες δίσκου. Οι σταθερές μονάδες δίσκου ήταν απενεργοποιημένες από προεπιλογή και ο κωδικός που χρησιμοποιήθηκε για την πρόσβαση σε φορητές συσκευές ήταν σφαλμένος και κατεστραμμένος.

Δεκέμβριος 2021 – έκδοση 2.2

Οι αλλαγές που εισήχθησαν στην έκδοση 2.2 επικεντρώθηκαν κυρίως στην αποφυγή εντοπισμού. Η δυνατότητα κλοπής διαπιστευτηρίων και οι εντολές που σχετίζονται με αυτήν – οι εντολές κλοπής διαπιστευτηρίων και λογαριασμού Google – καταργήθηκαν. Οι περισσότερες συμβολοσειρές σε αυτήν την έκδοση είναι κωδικοποιημένες από το base64.

Ιανουάριος 2022 – έκδοση 3.0

Στην έκδοση 3.0, ο κώδικας αναδιοργανώθηκε και οι κλάσεις μετονομάστηκαν, με τις δυνατότητες να παραμένουν αμετάβλητες. Οι συμβολοσειρές με κωδικοποίηση base64 ήταν και πάλι απλό κείμενο σε αυτήν την έκδοση. Παρατηρήσαμε τις ακόλουθες πρόσθετες αλλαγές:

  • Η εντολή για κλοπή διαπιστευτηρίων αποκαταστάθηκε σε διαφορετική μορφή. τώρα εκτελεί κώδικα shell από το C&C
  • Εντολή για πλήρη αφαίρεση αρχείων από φορητές συσκευές
  • Η εντολή λήψης αρχείων από μονάδες δίσκου είναι τώρα αποθηκευμένη στην προσωρινή μνήμη/αποθηκεύεται στη διαμόρφωση μέχρι να ολοκληρωθεί. Εάν διακοπεί (για παράδειγμα από τερματισμό λειτουργίας του υπολογιστή), γίνεται στην επόμενη εκτέλεση. Αυτό είναι επίσης χρήσιμο στην περίπτωση αφαιρούμενων μονάδων δίσκου που ενδέχεται να μην συνδέονται κατά την έκδοση της εντολής.
  • Προστέθηκε έλεγχος σύνδεσης στο Διαδίκτυο (https://www.microsoft.com) δεν εκτελείται κακόβουλος κώδικας εάν είναι εκτός σύνδεσης

Οι διαφορές μεταξύ των εκδόσεων 2.2 και 3.0, ειδικά η ασυμφωνία στην κωδικοποίηση συμβολοσειρών, υποδηλώνουν την πιθανότητα οι εκδόσεις να αναπτύσσονταν παράλληλα από διαφορετικούς ανθρώπους.

Συμπέρασμα

Το Dolphin είναι μια άλλη προσθήκη στο εκτεταμένο οπλοστάσιο των backdoors της ScarCruft που κάνουν κατάχρηση των υπηρεσιών αποθήκευσης cloud. Αφού αναπτυχθεί σε επιλεγμένους στόχους, πραγματοποιεί αναζήτηση στις μονάδες δίσκου των παραβιασμένων συστημάτων για ενδιαφέροντα αρχεία και τα διεγείρει στο Google Drive. Μια ασυνήθιστη δυνατότητα που βρέθηκε σε προηγούμενες εκδόσεις του backdoor είναι η δυνατότητα τροποποίησης των ρυθμίσεων των λογαριασμών Google και Gmail των θυμάτων για να μειωθεί η ασφάλειά τους, πιθανώς προκειμένου να διατηρηθεί η πρόσβαση στον λογαριασμό για τους παράγοντες απειλής. Κατά τη διάρκεια της ανάλυσής μας σε πολλαπλές εκδόσεις της κερκόπορτας Dolphin, είδαμε συνεχή ανάπτυξη και προσπάθειες αποφυγής ανίχνευσης.

Για οποιαδήποτε απορία σχετικά με την έρευνά μας που δημοσιεύτηκε στο WeLiveSecurity, επικοινωνήστε μαζί μας στο απειλητικό@eset.com.

Η ESET Research προσφέρει επίσης ιδιωτικές αναφορές πληροφοριών APT και ροές δεδομένων. Για οποιαδήποτε απορία σχετικά με αυτήν την υπηρεσία, επισκεφθείτε τη διεύθυνση ESET Threat Intelligence .

IoC

SHA-1 Όνομα Όνομα ανίχνευσης ESET Περιγραφή
F9F6C0184CEE9C1E4E15C2A73E56D7B927EA685B N / A Win64/Agent.MS Dolphin backdoor έκδοση 1.9 (x64)
5B70453AB58824A65ED0B6175C903AA022A87D6A N / A Win32/Spy.Agent.QET Dolphin backdoor έκδοση 2.0 (x86)
21CA0287EC5EAEE8FB2F5D0542E378267D6CA0A6 N / A Win64/Agent.MS Dolphin backdoor έκδοση 2.0 (x64)
D9A369E328EA4F1B8304B6E11B50275F798E9D6B N / A Win32/Agent.UYO Dolphin backdoor έκδοση 3.0 (x86)
2C6CC71B7E7E4B28C2C176B504BC5BDB687C4D41 N / A Win64/Agent.MS Dolphin backdoor έκδοση 3.0 (x64)

Τεχνικές MITER ATT & CK

Αυτός ο πίνακας κατασκευάστηκε χρησιμοποιώντας έκδοση 12 του πλαισίου MITER ATT & CK.

Τακτική ID Όνομα Περιγραφή
Αρχική πρόσβαση T1189 Συμβιβασμός οδήγησης Το ScarCruft χρησιμοποιεί επιθέσεις για να θέσει σε κίνδυνο τα θύματα.
Εκτέλεση T1059.006 Διερμηνέας εντολών και σεναρίων: Python Ο φορτωτής Dolphin a χρησιμοποιεί σενάριο Python.
T1059.007 Διερμηνέας εντολών και δέσμης ενεργειών: JavaScript Το ScarCruft χρησιμοποίησε κακόβουλο JavaScript για μια επίθεση από όπλα.
T1203 Εκμετάλλευση για την εκτέλεση πελάτη Το ScarCruft εκμεταλλεύεται το CVE-2020-1380 για να συμβιβάσει τα θύματα.
T1106 Το εγγενές API Το Dolphin χρησιμοποιεί λειτουργίες API των Windows για την εκτέλεση αρχείων και την εισαγωγή διεργασιών.
Επιμονή T1053.005 Προγραμματισμένη εργασία/Εργασία: Προγραμματισμένη εργασία Το Dolphin χρησιμοποιεί μια προσωρινή προγραμματισμένη εργασία για να ξεκινήσει μετά την εγκατάσταση.
T1547.001 Εκκίνηση αυτόματης εκκίνησης ή σύνδεσης: Registry Run Keys / Startup Folder Το Dolphin χρησιμοποιεί τα πλήκτρα Run για την επιμονή του φορτωτή του.
Αμυντική υπεκφυγή T1055.002 Process Injection: Portable Executable Injection Το δελφίνι μπορεί να κάνει ένεση σε άλλες διεργασίες.
T1027 Ασαφή αρχεία ή πληροφορίες Το Dolphin έχει κρυπτογραφημένα στοιχεία.
Πρόσβαση διαπιστευτηρίων T1555.003 Διαπιστευτήρια από καταστήματα κωδικών πρόσβασης: Διαπιστευτήρια από προγράμματα περιήγησης Ιστού Το Dolphin μπορεί να αποκτήσει αποθηκευμένους κωδικούς πρόσβασης από προγράμματα περιήγησης.
T1539 Κλέψτε το Cookie Web Session Το Dolphin μπορεί να αποκτήσει cookies από προγράμματα περιήγησης.
Ανακάλυψη T1010 Ανακάλυψη παραθύρου εφαρμογής Το Dolphin καταγράφει τον τίτλο του ενεργού παραθύρου.
T1083 Ανακάλυψη αρχείων και καταλόγου Το Dolphin μπορεί να αποκτήσει λίστες αρχείων και καταλόγων.
T1518.001 Ανακάλυψη λογισμικού: Ανακάλυψη λογισμικού ασφαλείας Η Dolphin αποκτά μια λίστα με εγκατεστημένο λογισμικό ασφαλείας.
T1082 Ανακάλυψη πληροφοριών συστήματος Το Dolphin λαμβάνει διάφορες πληροφορίες συστήματος, όπως έκδοση λειτουργικού συστήματος, όνομα υπολογιστή και μέγεθος μνήμης RAM.
T1016 Ανακάλυψη διαμόρφωσης δικτύου συστήματος Το Dolphin λαμβάνει την τοπική και εξωτερική διεύθυνση IP της συσκευής.
T1016.001 System Network Configuration Discovery: Ανακάλυψη σύνδεσης στο Internet Το Dolphin ελέγχει τη σύνδεση στο Διαδίκτυο.
T1033 Ανακάλυψη κατόχου/χρήστη συστήματος Το Dolphin αποκτά το όνομα χρήστη του θύματος.
T1124 Ανακάλυψη χρόνου συστήματος Το Dolphin λαμβάνει την τρέχουσα ώρα του θύματος.
Συλλογή T1056.001 Καταγραφή εισόδου: Καταγραφή πληκτρολογίου Το Dolphin μπορεί να καταγράψει τα πλήκτρα.
T1560.002 Αρχειοθέτηση Συλλεγμένων Δεδομένων: Αρχειοθέτηση μέσω Βιβλιοθήκης Χρησιμοποιώντας τη βιβλιοθήκη Zipper, το Dolphin συμπιέζει και κρυπτογραφεί τα δεδομένα που συλλέγονται πριν από την εκχύλιση.
T1119 Αυτοματοποιημένη Συλλογή Το Dolphin συλλέγει περιοδικά αρχεία με συγκεκριμένες επεκτάσεις από μονάδες δίσκου.
T1005 Δεδομένα από το Τοπικό Σύστημα Το Dolphin μπορεί να συλλέξει αρχεία από τοπικές μονάδες δίσκου.
T1025 Δεδομένα από αφαιρούμενα μέσα Το Dolphin μπορεί να συλλέγει αρχεία από αφαιρούμενες μονάδες δίσκου.
T1074.001 Στάδιο δεδομένων: Τοποθέτηση τοπικών δεδομένων Τα στάδια των δελφινιών συνέλεξαν δεδομένα σε έναν κατάλογο πριν από την εκχύλιση.
T1113 Οθόνη συλλαμβάνει Το Dolphin μπορεί να τραβήξει στιγμιότυπα οθόνης.
Διοίκησης και Ελέγχου T1071.001 Πρωτόκολλο επιπέδου εφαρμογής: Πρωτόκολλα Ιστού Το Dolphin χρησιμοποιεί HTTPS για να επικοινωνεί με το Google Drive.
T1102.002 Web Service: Αμφίδρομη επικοινωνία Το Dolphin επικοινωνεί με το Google Drive για λήψη εντολών και εξαγωγή δεδομένων.
εκδιήθησης T1020 Αυτοματοποιημένη Διήθηση Το Dolphin αποβάλλει περιοδικά τα δεδομένα που συλλέγονται.
T1567.002 Exfiltration Over Web Service: Exfiltration σε Cloud Storage Το Dolphin διοχετεύει δεδομένα στο Google Drive.

Ποιος κολυμπάει στα νερά της Νότιας Κορέας; Γνωρίστε το Dolphin PlatoBlockchain Data Intelligence της ScarCruft. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Σφραγίδα ώρας:

Περισσότερα από Ζούμε Ασφάλεια