Η νέα τεχνική έγχυσης διαδικασίας Mockingjay αποφεύγει την ανίχνευση EDR

Μια νέα τεχνική έγχυσης διεργασιών με το όνομα «Mockingjay» θα μπορούσε να επιτρέψει στους παράγοντες απειλών να παρακάμψουν το EDR (Endpoint Detection and Response) και άλλα προϊόντα ασφαλείας για να εκτελούν κρυφά κακόβουλο κώδικα σε παραβιασμένα συστήματα.

Ερευνητές σε εταιρεία κυβερνοασφάλειας

Joes ασφαλείας

ανακάλυψε τη μέθοδο, η οποία χρησιμοποιεί νόμιμα DLL με ενότητες RWX (ανάγνωση, εγγραφή, εκτέλεση) για την αποφυγή των αγκίστρων EDR και την έγχυση κώδικα σε απομακρυσμένες διεργασίες.

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

Παραδείγματα τεχνικών έγχυσης διεργασίας περιλαμβάνουν έγχυση DLL, έγχυση PE (φορητό εκτελέσιμο), έγχυση αντανακλαστικού DLL, πειρατεία εκτέλεσης νήματος, κοίλωμα διαδικασίας, έγχυση χαρτογράφησης, έγχυση APC (ασύγχρονη κλήση διαδικασίας) και άλλα.

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

Ο Security Joes λέει ότι το Mockingjay ξεχωρίζει από άλλες προσεγγίσεις επειδή δεν χρησιμοποιεί κλήσεις API των Windows που συνήθως καταχρώνται, δεν ορίζει ειδικά δικαιώματα, εκτελεί εκχώρηση μνήμης ή ακόμη και ξεκινά ένα νήμα, εξαλείφοντας έτσι πολλές πιθανές ευκαιρίες ανίχνευσης.

Επινοώντας το Mockingjay

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

Στην αναζήτησή τους για ένα κατάλληλο DLL, οι αναλυτές του Security Joes ανακάλυψαν το DLL msys-2.0.dll μέσα στην κοινότητα του Visual Studio 2022, το οποίο είχε μια προεπιλεγμένη ενότητα RWX μεγέθους 16 KB.

«Με τη μόχλευση αυτού του προϋπάρχοντος τμήματος RWX, μπορούμε να εκμεταλλευτούμε τις εγγενείς προστασίες μνήμης που προσφέρει, παρακάμπτοντας ουσιαστικά οποιεσδήποτε λειτουργίες μπορεί να έχουν ήδη δεσμευτεί από τα EDR», αναφέρει η έκθεση.

“Αυτή η προσέγγιση όχι μόνο παρακάμπτει τους περιορισμούς που επιβάλλονται από τα άγκιστρα του χρήστη, αλλά δημιουργεί επίσης ένα ισχυρό και αξιόπιστο περιβάλλον για την τεχνική μας έγχυσης.”

Στη συνέχεια, η ομάδα ανέπτυξε δύο μεθόδους έγχυσης, μία για αυτοέγχυση και μία για έγχυση εξ αποστάσεως.

Στην πρώτη περίπτωση, μια προσαρμοσμένη εφαρμογή (“nightmare.exe”) φορτώνει το ευάλωτο DLL απευθείας στο χώρο της μνήμης του χρησιμοποιώντας δύο κλήσεις API των Windows, παρέχοντάς του άμεση πρόσβαση στην ενότητα RWX χωρίς να πραγματοποιήσει εκχώρηση μνήμης ή να ορίσει τα δικαιώματα.

Εγγραφή κακόβουλου κώδικα στην ενότητα RWX

Εγγραφή κακόβουλου κώδικα στην ενότητα RWX


(Security Joes)

Στη συνέχεια, μια λειτουργική μονάδα καθαρού συστήματος, το NTDLL.DLL, γίνεται κατάχρηση για την εξαγωγή αριθμών syscall που στη συνέχεια χρησιμοποιούνται για να παρακάμψουν τα άγκιστρα EDR χρησιμοποιώντας την τεχνική “Hell’s Gate EDR unhooking”, επιτρέποντας στον εισαγόμενο κώδικα κελύφους να εκτελεστεί χωρίς να εντοπιστεί.

Κώδικας για τη δημιουργία στελέχους κλήσης συστήματος, ώστε να μπορεί να παρακαμφθεί η χρήση του API

Κώδικας για τη δημιουργία στελέχους κλήσης συστήματος, ώστε να μπορεί να παρακαμφθεί η χρήση του API



(Security Joes)

Η δεύτερη μέθοδος περιλαμβάνει την εκμετάλλευση της ενότητας TWX του msys-2.0.dll για την εισαγωγή ενός ωφέλιμου φορτίου σε μια απομακρυσμένη διαδικασία, συγκεκριμένα στη διαδικασία “ssh.exe”.

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

Κωδικός για την έναρξη της νέας διαδικασίας

Κωδικός για την έναρξη της νέας διαδικασίας


(Security Joes)

Τέλος, ο κώδικας φλοιού που έχει εισαχθεί φορτώνει το αρχείο DLL “MyLibrary.dll”, δημιουργώντας ένα αντίστροφο κέλυφος με το μηχάνημα του εισβολέα ως παράδειγμα επίθεσης.

Δημιουργία αντίστροφου κελύφους στο σύστημα που έχει παραβιαστεί

Δημιουργία απομακρυσμένου κελύφους στο σύστημα που έχει παραβιαστεί


(Security Joes)

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

Και οι δύο μέθοδοι που προτείνονται στο Mockingjay χρησιμοποιούν API των Windows όπως «LoadLibraryW», «CreateProcessW» και «GetModuleInformation» για να φορτώσουν ένα DLL που δεν έχει ρυθμιστεί σωστά και να βρει τη διεύθυνση της ενότητας RWX του DLL.

Ωστόσο, τα EDR παρακολουθούν συνήθως API όπως «WriteProcessMemory», «NtWriteVirtualMemory», «CreateRemoteThread» ή «NtCreateThreadEx», τα οποία καλούνται πιο συχνά σε παραδοσιακές επιθέσεις ένεσης διεργασιών. Ως εκ τούτου, το Mockingjay είναι λιγότερο πιθανό να προκαλέσει συναγερμό.

Η ανάπτυξη του «Mockingjay» από την Joes Security είναι μια άλλη ένδειξη του γιατί οι οργανισμοί πρέπει να υιοθετήσουν μια ολιστική προσέγγιση ασφάλειας αντί να βασίζονται αποκλειστικά στις τρέχουσες λύσεις EDR.


bleepingcomputer.com



You might also like


Leave A Reply



Cancel Reply

Your email address will not be published.