Αυτό το άρθρο είναι το πρώτο μέρος μιας σειράς για την ανάλυση απειλών Sysmon. Όλα τα άλλα μέρη της σειράς:
Μέρος 1: Εισαγωγή στην ανάλυση καταγραφής Sysmon (είμαστε εδώ)
Μέρος 2: Χρήση δεδομένων συμβάντων Sysmon για τον εντοπισμό απειλών
Μέρος 3. Σε βάθος ανάλυση των απειλών Sysmon με χρήση γραφημάτων
Εάν εργάζεστε στον τομέα της ασφάλειας πληροφοριών, πιθανότατα πρέπει συχνά να κατανοείτε τις συνεχιζόμενες επιθέσεις. Εάν έχετε ήδη εκπαιδευμένο μάτι, μπορείτε να αναζητήσετε μη τυπική δραστηριότητα στα "ακατέργαστα" μη επεξεργασμένα αρχεία καταγραφής - ας πούμε, εκτελείται ένα σενάριο PowerShell
Θέλετε να κατανοήσετε τις βασικές ιδέες πίσω από τις απειλές που εμφανίζονται στο αρχείο καταγραφής του Sysmon; Κατεβάστε τον οδηγό μας
Στο πρώτο μέρος της σειράς μας, θα δούμε τι μπορείτε να κάνετε με βασικές πληροφορίες από το Sysmon. Στο Μέρος XNUMX, θα εκμεταλλευτούμε πλήρως τις πληροφορίες γονικής διαδικασίας για να δημιουργήσουμε πιο σύνθετες δομές συμμόρφωσης γνωστές ως γραφήματα απειλών. Στο τρίτο μέρος, θα δούμε έναν απλό αλγόριθμο που σαρώνει ένα γράφημα απειλής για να αναζητήσει ασυνήθιστη δραστηριότητα αναλύοντας το «βάρος» του γραφήματος. Και στο τέλος, θα ανταμειφθείτε με μια τακτοποιημένη (και κατανοητή) πιθανολογική μέθοδο ανίχνευσης απειλών.
Μέρος 1: Εισαγωγή στην ανάλυση καταγραφής Sysmon
Τι μπορεί να σας βοηθήσει να κατανοήσετε την πολυπλοκότητα του αρχείου καταγραφής συμβάντων; Τελικά - SIEM. Ομαλοποιεί τα γεγονότα και απλοποιεί την επακόλουθη ανάλυσή τους. Αλλά δεν χρειάζεται να πάμε τόσο μακριά, τουλάχιστον όχι στην αρχή. Στην αρχή, για να κατανοήσετε τις αρχές της SIEM, θα αρκεί να δοκιμάσετε το υπέροχο δωρεάν βοηθητικό πρόγραμμα Sysmon. Και είναι εκπληκτικά εύκολο να δουλέψεις μαζί της. Συνέχισε έτσι, Microsoft!
Τι χαρακτηριστικά έχει το Sysmon;
Εν συντομία - χρήσιμες και ευανάγνωστες πληροφορίες για τις διαδικασίες (δείτε τις παρακάτω εικόνες). Θα βρείτε ένα σωρό χρήσιμες λεπτομέρειες που δεν βρίσκονται στο αρχείο καταγραφής συμβάντων των Windows, αλλά οι πιο σημαντικές είναι τα ακόλουθα πεδία:
- Αναγνωριστικό διαδικασίας (σε δεκαδικό, όχι εξάγωνο!)
- Αναγνωριστικό γονικής διαδικασίας
- Γραμμή εντολών διαδικασίας
- Γραμμή εντολών της γονικής διαδικασίας
- Κατακερματισμός εικόνας αρχείου
- Ονόματα εικόνων αρχείων
Το Sysmon εγκαθίσταται τόσο ως πρόγραμμα οδήγησης συσκευής όσο και ως υπηρεσία - περισσότερες λεπτομέρειες
Η Sysmon κάνει ένα μεγάλο άλμα προς τα εμπρός παρέχοντας χρήσιμες (ή όπως θέλουν να πουν οι πωλητές, πρακτικές) πληροφορίες για να βοηθήσουν στην κατανόηση των υποκείμενων διαδικασιών. Για παράδειγμα, ξεκίνησα μια μυστική συνεδρία
Το αρχείο καταγραφής των Windows εμφανίζει ορισμένες πληροφορίες σχετικά με τη διαδικασία, αλλά είναι ελάχιστα χρήσιμο. Συν αναγνωριστικά διαδικασίας σε δεκαεξαδικό???
Για έναν επαγγελματία επαγγελματία πληροφορικής με κατανόηση των βασικών στοιχείων του hacking, η γραμμή εντολών θα πρέπει να είναι ύποπτη. Η χρήση του cmd.exe για να εκτελέσετε στη συνέχεια μια άλλη εντολή και να ανακατευθύνετε την έξοδο σε ένα αρχείο με παράξενο όνομα είναι σαφώς παρόμοια με τις ενέργειες του λογισμικού παρακολούθησης και ελέγχου
Τώρα ας ρίξουμε μια ματιά στο ισοδύναμο εισόδου Sysmon, σημειώνοντας πόσες πρόσθετες πληροφορίες μας δίνει:
Το Sysmon διαθέτει ένα στιγμιότυπο οθόνης: λεπτομερείς πληροφορίες σχετικά με τη διαδικασία σε αναγνώσιμη μορφή
Δεν βλέπετε μόνο τη γραμμή εντολών, αλλά και το όνομα του αρχείου, τη διαδρομή προς την εκτελέσιμη εφαρμογή, τι γνωρίζουν τα Windows για αυτήν ("Windows Command Processor"), το αναγνωριστικό γονικός διαδικασία, γραμμή εντολών μητρική εταιρεία, το οποίο ξεκίνησε το κέλυφος cmd, καθώς και το πραγματικό όνομα αρχείου της γονικής διαδικασίας. Όλα σε ένα μέρος, επιτέλους!
Από το αρχείο καταγραφής Sysmon μπορούμε να συμπεράνουμε ότι με μεγάλη πιθανότητα αυτή η ύποπτη γραμμή εντολών που είδαμε στα "ακατέργαστα" αρχεία καταγραφής δεν είναι το αποτέλεσμα της κανονικής εργασίας του υπαλλήλου. Αντίθετα, δημιουργήθηκε από μια διαδικασία παρόμοια με το C2 - wmiexec, όπως ανέφερα προηγουμένως - και δημιουργήθηκε απευθείας από τη διαδικασία υπηρεσίας WMI (WmiPrvSe). Τώρα έχουμε μια ένδειξη ότι ένας απομακρυσμένος εισβολέας ή ένας μυστικός χρήστης δοκιμάζει την εταιρική υποδομή.
Παρουσιάζοντας τα Get-Sysmonlogs
Φυσικά είναι υπέροχο όταν ο Sysmon βάζει τα αρχεία καταγραφής σε ένα μέρος. Αλλά πιθανότατα θα ήταν ακόμη καλύτερο εάν μπορούσαμε να έχουμε πρόσβαση σε μεμονωμένα πεδία καταγραφής μέσω προγραμματισμού - για παράδειγμα, μέσω εντολών PowerShell. Σε αυτήν την περίπτωση, θα μπορούσατε να γράψετε ένα μικρό σενάριο PowerShell που θα αυτοματοποιούσε την αναζήτηση πιθανών απειλών!
Δεν ήμουν ο πρώτος που είχα μια τέτοια ιδέα. Και είναι καλό που σε ορισμένες αναρτήσεις στο φόρουμ και στο GitHub
Το πρώτο σημαντικό σημείο είναι η ικανότητα της ομάδας
$events = Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" | where { $_.id -eq 1 -or $_.id -eq 11}
Εάν θέλετε να δοκιμάσετε μόνοι σας την εντολή, εμφανίζοντας το περιεχόμενο στο πρώτο στοιχείο του πίνακα $events, $events[0]. Μήνυμα, η έξοδος μπορεί να είναι μια σειρά από συμβολοσειρές κειμένου με μια πολύ απλή μορφή: το όνομα του Πεδίο Sysmon, άνω και κάτω τελεία και, στη συνέχεια, η ίδια η τιμή.
Ζήτω! Έξοδος σύνδεσης Sysmon σε μορφή JSON-ready
Σκέφτεσαι το ίδιο πράγμα με εμένα; Με λίγη περισσότερη προσπάθεια, μπορείτε να μετατρέψετε την έξοδο σε μια συμβολοσειρά με μορφοποίηση JSON και στη συνέχεια να τη φορτώσετε απευθείας σε ένα αντικείμενο PS χρησιμοποιώντας μια ισχυρή εντολή
Θα δείξω τον κώδικα PowerShell για τη μετατροπή - είναι πολύ απλή - στο επόμενο μέρος. Προς το παρόν, ας δούμε τι μπορεί να κάνει η νέα μου εντολή που ονομάζεται get-sysmonlogs, την οποία εγκατέστησα ως μονάδα PS.
Αντί να βουτάμε βαθιά στην ανάλυση αρχείων καταγραφής Sysmon μέσω μιας άβολης διεπαφής καταγραφής συμβάντων, μπορούμε αβίαστα να αναζητήσουμε αυξητική δραστηριότητα απευθείας από μια περίοδο λειτουργίας PowerShell, καθώς και να χρησιμοποιήσουμε την εντολή PS
Λίστα με κελύφη cmd που εκτοξεύτηκαν μέσω WMI. Ανάλυση απειλών φθηνά με τη δική μας ομάδα Get-Sysmonlogs
Θαυμάσιος! Δημιούργησα ένα εργαλείο για τη δημοσκόπηση του αρχείου καταγραφής του Sysmon σαν να ήταν μια βάση δεδομένων. Στο άρθρο μας για
Ανάλυση Sysmon και γραφήματος
Ας κάνουμε ένα βήμα πίσω και ας σκεφτούμε αυτό που μόλις δημιουργήσαμε. Ουσιαστικά, έχουμε τώρα μια βάση δεδομένων συμβάντων των Windows προσβάσιμη μέσω του PowerShell. Όπως σημείωσα νωρίτερα, υπάρχουν συνδέσεις ή σχέσεις μεταξύ των εγγραφών - μέσω του ParentProcessId - έτσι ώστε να μπορεί να επιτευχθεί μια πλήρης ιεραρχία διεργασιών.
Αν έχετε διαβάσει τη σειρά
Αλλά με την εντολή Get-Sysmonlogs μου και μια πρόσθετη δομή δεδομένων που θα εξετάσουμε αργότερα στο κείμενο (ένα γράφημα, φυσικά), έχουμε έναν πρακτικό τρόπο για να ανιχνεύσουμε απειλές - που απαιτεί απλώς να κάνουμε τη σωστή αναζήτηση κορυφής.
Όπως πάντα με τα έργα μας στο blog DYI, όσο περισσότερο εργάζεστε για την ανάλυση των λεπτομερειών των απειλών σε μικρή κλίμακα, τόσο περισσότερο θα συνειδητοποιείτε πόσο περίπλοκος είναι ο εντοπισμός απειλών σε επίπεδο επιχείρησης. Και αυτή η συνειδητοποίηση είναι εξαιρετικά σημαντικό σημείο.
Θα συναντήσουμε τις πρώτες ενδιαφέρουσες επιπλοκές στο δεύτερο μέρος του άρθρου, όπου θα αρχίσουμε να συνδέουμε τα συμβάντα Sysmon μεταξύ τους σε πολύ πιο σύνθετες δομές.
Πηγή: www.habr.com