Ένας από τους πιο συνηθισμένους τύπους επιθέσεων είναι η αναπαραγωγή μιας κακόβουλης διαδικασίας σε ένα δέντρο κάτω από εντελώς αξιοσέβαστες διαδικασίες. Η διαδρομή προς το εκτελέσιμο αρχείο μπορεί να είναι ύποπτη: κακόβουλο λογισμικό χρησιμοποιεί συχνά τους φακέλους AppData ή Temp και αυτό δεν είναι τυπικό για νόμιμα προγράμματα. Για να είμαστε δίκαιοι, αξίζει να πούμε ότι ορισμένα βοηθητικά προγράμματα αυτόματης ενημέρωσης εκτελούνται στο AppData, επομένως μόνο ο έλεγχος της τοποθεσίας εκκίνησης δεν αρκεί για να επιβεβαιώσετε ότι το πρόγραμμα είναι κακόβουλο.
Ένας επιπλέον παράγοντας νομιμότητας είναι η κρυπτογραφική υπογραφή: πολλά πρωτότυπα προγράμματα υπογράφονται από τον πωλητή. Μπορείτε να χρησιμοποιήσετε το γεγονός ότι δεν υπάρχει υπογραφή ως μέθοδος για τον εντοπισμό ύποπτων στοιχείων εκκίνησης. Αλλά και πάλι υπάρχει κακόβουλο λογισμικό που χρησιμοποιεί ένα κλεμμένο πιστοποιητικό για να υπογράψει τον εαυτό του.
Μπορείτε επίσης να ελέγξετε την τιμή των κρυπτογραφικών κατακερματισμών MD5 ή SHA256, τα οποία μπορεί να αντιστοιχούν σε κάποιο κακόβουλο λογισμικό που είχε εντοπιστεί προηγουμένως. Μπορείτε να εκτελέσετε στατική ανάλυση κοιτάζοντας τις υπογραφές στο πρόγραμμα (χρησιμοποιώντας κανόνες Yara ή προϊόντα προστασίας από ιούς). Υπάρχει επίσης δυναμική ανάλυση (εκτέλεση προγράμματος σε κάποιο ασφαλές περιβάλλον και παρακολούθηση των ενεργειών του) και αντίστροφη μηχανική.
Μπορεί να υπάρχουν πολλά σημάδια μιας κακόβουλης διαδικασίας. Σε αυτό το άρθρο θα σας πούμε πώς να ενεργοποιήσετε τον έλεγχο των σχετικών συμβάντων στα Windows, θα αναλύσουμε τα σημάδια στα οποία βασίζεται ο ενσωματωμένος κανόνας
Όταν εκκινείται το πρόγραμμα, φορτώνεται στη μνήμη του υπολογιστή. Το εκτελέσιμο αρχείο περιέχει οδηγίες υπολογιστή και υποστηρικτικές βιβλιοθήκες (για παράδειγμα, *.dll). Όταν μια διεργασία εκτελείται ήδη, μπορεί να δημιουργήσει επιπλέον νήματα. Τα νήματα επιτρέπουν σε μια διεργασία να εκτελεί διαφορετικά σύνολα εντολών ταυτόχρονα. Υπάρχουν πολλοί τρόποι για να διεισδύσει στη μνήμη και να εκτελεστεί κακόβουλος κώδικας, ας δούμε μερικούς από αυτούς.
Ο ευκολότερος τρόπος εκκίνησης μιας κακόβουλης διαδικασίας είναι να αναγκάσετε τον χρήστη να την εκκινήσει απευθείας (για παράδειγμα, από ένα συνημμένο email) και στη συνέχεια να χρησιμοποιήσετε το κλειδί RunOnce για να την εκκινήσετε κάθε φορά που ενεργοποιείτε τον υπολογιστή. Αυτό περιλαμβάνει επίσης κακόβουλο λογισμικό "χωρίς αρχείο" που αποθηκεύει σενάρια PowerShell σε κλειδιά μητρώου που εκτελούνται με βάση έναν κανόνα. Σε αυτήν την περίπτωση, το σενάριο PowerShell είναι κακόβουλος κώδικας.
Το πρόβλημα με το ρητά εκτελούμενο κακόβουλο λογισμικό είναι ότι είναι μια γνωστή προσέγγιση που εντοπίζεται εύκολα. Κάποιο κακόβουλο λογισμικό κάνει πιο έξυπνα πράγματα, όπως η χρήση άλλης διαδικασίας για να ξεκινήσει η εκτέλεση στη μνήμη. Επομένως, μια διεργασία μπορεί να δημιουργήσει μια άλλη διεργασία εκτελώντας μια συγκεκριμένη εντολή υπολογιστή και προσδιορίζοντας ένα εκτελέσιμο αρχείο (.exe) για εκτέλεση.
Το αρχείο μπορεί να καθοριστεί χρησιμοποιώντας μια πλήρη διαδρομή (για παράδειγμα, C:Windowssystem32cmd.exe) ή μια μερική διαδρομή (για παράδειγμα, cmd.exe). Εάν η αρχική διαδικασία δεν είναι ασφαλής, θα επιτρέψει την εκτέλεση μη νόμιμων προγραμμάτων. Μια επίθεση μπορεί να μοιάζει με αυτό: μια διεργασία εκκινεί το cmd.exe χωρίς να προσδιορίζει την πλήρη διαδρομή, ο εισβολέας τοποθετεί το cmd.exe του σε ένα μέρος έτσι ώστε η διαδικασία να το εκκινεί πριν από το νόμιμο. Μόλις εκτελεστεί το κακόβουλο λογισμικό, μπορεί με τη σειρά του να εκκινήσει ένα νόμιμο πρόγραμμα (όπως το C:Windowssystem32cmd.exe), ώστε το αρχικό πρόγραμμα να συνεχίσει να λειτουργεί σωστά.
Μια παραλλαγή της προηγούμενης επίθεσης είναι η έγχυση DLL σε μια νόμιμη διαδικασία. Όταν ξεκινά μια διαδικασία, βρίσκει και φορτώνει βιβλιοθήκες που επεκτείνουν τη λειτουργικότητά της. Χρησιμοποιώντας την έγχυση DLL, ένας εισβολέας δημιουργεί μια κακόβουλη βιβλιοθήκη με το ίδιο όνομα και API ως νόμιμη. Το πρόγραμμα φορτώνει μια κακόβουλη βιβλιοθήκη και αυτή, με τη σειρά της, φορτώνει μια νόμιμη βιβλιοθήκη και, όπως χρειάζεται, την καλεί για να εκτελέσει λειτουργίες. Η κακόβουλη βιβλιοθήκη αρχίζει να λειτουργεί ως πληρεξούσιος για την καλή βιβλιοθήκη.
Ένας άλλος τρόπος για να τοποθετήσετε κακόβουλο κώδικα στη μνήμη είναι να τον εισαγάγετε σε μια μη ασφαλή διαδικασία που εκτελείται ήδη. Οι διεργασίες λαμβάνουν δεδομένα από διάφορες πηγές - ανάγνωση από το δίκτυο ή αρχεία. Συνήθως εκτελούν έναν έλεγχο για να διασφαλίσουν ότι η εισαγωγή είναι νόμιμη. Αλλά ορισμένες διεργασίες δεν έχουν την κατάλληλη προστασία κατά την εκτέλεση εντολών. Σε αυτήν την επίθεση, δεν υπάρχει βιβλιοθήκη στο δίσκο ή εκτελέσιμο αρχείο που να περιέχει κακόβουλο κώδικα. Όλα αποθηκεύονται στη μνήμη μαζί με τη διαδικασία που εκμεταλλεύεται.
Τώρα ας δούμε τη μεθοδολογία για την ενεργοποίηση της συλλογής τέτοιων συμβάντων στα Windows και τον κανόνα στο InTrust που εφαρμόζει προστασία από τέτοιες απειλές. Αρχικά, ας το ενεργοποιήσουμε μέσω της κονσόλας διαχείρισης InTrust.
Ο κανόνας χρησιμοποιεί τις δυνατότητες παρακολούθησης διεργασιών του λειτουργικού συστήματος Windows. Δυστυχώς, η ενεργοποίηση της συλλογής τέτοιων συμβάντων δεν είναι καθόλου προφανής. Υπάρχουν 3 διαφορετικές ρυθμίσεις πολιτικής ομάδας που πρέπει να αλλάξετε:
Διαμόρφωση υπολογιστή > Πολιτικές > Ρυθμίσεις Windows > Ρυθμίσεις ασφαλείας > Τοπικές πολιτικές > Πολιτική ελέγχου > Παρακολούθηση διαδικασίας ελέγχου
Διαμόρφωση υπολογιστή > Πολιτικές > Ρυθμίσεις Windows > Ρυθμίσεις ασφαλείας > Προηγμένη ρύθμιση παραμέτρων πολιτικής ελέγχου > Πολιτικές ελέγχου > Λεπτομερής παρακολούθηση > Δημιουργία διαδικασίας ελέγχου
Διαμόρφωση υπολογιστή > Πολιτικές > Πρότυπα διαχείρισης > Σύστημα > Δημιουργία διαδικασίας ελέγχου > Συμπερίληψη γραμμής εντολών στα συμβάντα δημιουργίας διεργασιών
Αφού ενεργοποιηθούν, οι κανόνες InTrust σάς επιτρέπουν να εντοπίζετε προηγουμένως άγνωστες απειλές που παρουσιάζουν ύποπτη συμπεριφορά. Για παράδειγμα, μπορείτε να αναγνωρίσετε
Στην αλυσίδα ενεργειών του, το Dridex χρησιμοποιεί το schtasks.exe για να δημιουργήσει μια προγραμματισμένη εργασία. Η χρήση αυτού του συγκεκριμένου βοηθητικού προγράμματος από τη γραμμή εντολών θεωρείται πολύ ύποπτη συμπεριφορά. Η εκκίνηση του svchost.exe με παραμέτρους που παραπέμπουν σε φακέλους χρήστη ή με παραμέτρους παρόμοιες με τις εντολές "net view" ή "whoami" μοιάζει παρόμοια. Εδώ είναι ένα απόσπασμα του αντίστοιχου
detection:
selection1:
CommandLine: '*svchost.exe C:Users\*Desktop\*'
selection2:
ParentImage: '*svchost.exe*'
CommandLine:
- '*whoami.exe /all'
- '*net.exe view'
condition: 1 of them
Στο InTrust, κάθε ύποπτη συμπεριφορά περιλαμβάνεται σε έναν κανόνα, επειδή οι περισσότερες από αυτές τις ενέργειες δεν είναι συγκεκριμένες για μια συγκεκριμένη απειλή, αλλά είναι ύποπτες σε ένα σύνθετο και στο 99% των περιπτώσεων χρησιμοποιούνται για όχι εντελώς ευγενείς σκοπούς. Αυτή η λίστα ενεργειών περιλαμβάνει, αλλά δεν περιορίζεται σε:
- Διεργασίες που εκτελούνται από ασυνήθιστες τοποθεσίες, όπως προσωρινούς φακέλους χρήστη.
- Γνωστή διεργασία συστήματος με ύποπτη κληρονομικότητα - ορισμένες απειλές ενδέχεται να προσπαθήσουν να χρησιμοποιήσουν το όνομα των διεργασιών του συστήματος για να παραμείνουν μη εντοπισμένες.
- Ύποπτες εκτελέσεις διαχειριστικών εργαλείων όπως το cmd ή το PsExec όταν χρησιμοποιούν διαπιστευτήρια τοπικού συστήματος ή ύποπτη κληρονομιά.
- Οι ύποπτες λειτουργίες σκιώδους αντιγραφής είναι μια συνηθισμένη συμπεριφορά των ιών ransomware πριν από την κρυπτογράφηση ενός συστήματος· σκοτώνουν τα αντίγραφα ασφαλείας:
— Μέσω vssadmin.exe.
- Μέσω WMI. - Καταχωρίστε χωματερές ολόκληρων κυψελών μητρώου.
- Οριζόντια μετακίνηση κακόβουλου κώδικα όταν μια διαδικασία εκκινείται εξ αποστάσεως χρησιμοποιώντας εντολές όπως το at.exe.
- Ύποπτες λειτουργίες τοπικής ομάδας και λειτουργίες τομέα με χρήση net.exe.
- Ύποπτη δραστηριότητα τείχους προστασίας χρησιμοποιώντας το netsh.exe.
- Ύποπτη χειραγώγηση του ACL.
- Χρήση BITS για εξαγωγή δεδομένων.
- Ύποπτοι χειρισμοί με WMI.
- Ύποπτες εντολές σεναρίου.
- Προσπάθειες απόρριψης ασφαλών αρχείων συστήματος.
Ο συνδυασμένος κανόνας λειτουργεί πολύ καλά για τον εντοπισμό απειλών όπως το RUYK, το LockerGoga και άλλα κιτ εργαλείων ransomware, κακόβουλου λογισμικού και εγκλήματος στον κυβερνοχώρο. Ο κανόνας έχει δοκιμαστεί από τον πωλητή σε περιβάλλοντα παραγωγής για να ελαχιστοποιηθούν τα ψευδώς θετικά. Και χάρη στο έργο SIGMA, οι περισσότεροι από αυτούς τους δείκτες παράγουν έναν ελάχιστο αριθμό γεγονότων θορύβου.
Επειδή Στο InTrust αυτός είναι ένας κανόνας παρακολούθησης, μπορείτε να εκτελέσετε ένα σενάριο απάντησης ως αντίδραση σε μια απειλή. Μπορείτε να χρησιμοποιήσετε ένα από τα ενσωματωμένα σενάρια ή να δημιουργήσετε το δικό σας και το InTrust θα το διανείμει αυτόματα.
Επιπλέον, μπορείτε να επιθεωρήσετε όλη την τηλεμετρία που σχετίζεται με συμβάντα: σενάρια PowerShell, εκτέλεση διεργασιών, προγραμματισμένους χειρισμούς εργασιών, διοικητική δραστηριότητα WMI και να τα χρησιμοποιήσετε για νεκροτομές κατά τη διάρκεια συμβάντων ασφαλείας.
Το InTrust έχει εκατοντάδες άλλους κανόνες, μερικούς από αυτούς:
- Ο εντοπισμός μιας επίθεσης υποβάθμισης του PowerShell είναι όταν κάποιος χρησιμοποιεί σκόπιμα μια παλαιότερη έκδοση του PowerShell επειδή... στην παλαιότερη έκδοση δεν υπήρχε τρόπος ελέγχου του τι συνέβαινε.
- Ο εντοπισμός σύνδεσης υψηλού προνομίου είναι όταν λογαριασμοί που είναι μέλη μιας συγκεκριμένης προνομιακής ομάδας (όπως οι διαχειριστές τομέα) συνδέονται σε σταθμούς εργασίας κατά λάθος ή λόγω συμβάντων ασφαλείας.
Το InTrust σάς επιτρέπει να χρησιμοποιείτε βέλτιστες πρακτικές ασφαλείας με τη μορφή προκαθορισμένων κανόνων ανίχνευσης και αντίδρασης. Και αν πιστεύετε ότι κάτι πρέπει να λειτουργεί διαφορετικά, μπορείτε να δημιουργήσετε το δικό σας αντίγραφο του κανόνα και να το διαμορφώσετε όπως απαιτείται. Μπορείτε να υποβάλετε αίτηση για διεξαγωγή πιλοτικού ή απόκτησης κιτ διανομής με προσωρινές άδειες μέσω
Εγγραφείτε στο δικό μας
Διαβάστε τα άλλα άρθρα μας σχετικά με την ασφάλεια πληροφοριών:
Πηγή: www.habr.com