Οδηγός ανάλυσης απειλών Sysmon, Μέρος 1

Οδηγός ανάλυσης απειλών Sysmon, Μέρος 1

Αυτό το άρθρο είναι το πρώτο μέρος μιας σειράς για την ανάλυση απειλών Sysmon. Όλα τα άλλα μέρη της σειράς:

Μέρος 1: Εισαγωγή στην ανάλυση καταγραφής Sysmon (είμαστε εδώ)
Μέρος 2: Χρήση δεδομένων συμβάντων Sysmon για τον εντοπισμό απειλών
Μέρος 3. Σε βάθος ανάλυση των απειλών Sysmon με χρήση γραφημάτων

Εάν εργάζεστε στον τομέα της ασφάλειας πληροφοριών, πιθανότατα πρέπει συχνά να κατανοείτε τις συνεχιζόμενες επιθέσεις. Εάν έχετε ήδη εκπαιδευμένο μάτι, μπορείτε να αναζητήσετε μη τυπική δραστηριότητα στα "ακατέργαστα" μη επεξεργασμένα αρχεία καταγραφής - ας πούμε, εκτελείται ένα σενάριο PowerShell με την εντολή DownloadString ή μια δέσμη ενεργειών VBS που προσποιείται ότι είναι αρχείο Word - απλώς μετακινηθείτε στην πιο πρόσφατη δραστηριότητα στο αρχείο καταγραφής συμβάντων των Windows. Αλλά αυτός είναι ένας πραγματικά μεγάλος πονοκέφαλος. Ευτυχώς, η Microsoft δημιούργησε το Sysmon, το οποίο κάνει την ανάλυση επίθεσης πολύ πιο εύκολη.

Θέλετε να κατανοήσετε τις βασικές ιδέες πίσω από τις απειλές που εμφανίζονται στο αρχείο καταγραφής του Sysmon; Κατεβάστε τον οδηγό μας Τα συμβάντα WMI ως μέσο κατασκοπείας και συνειδητοποιείς πώς οι μυημένοι μπορούν να παρατηρούν κρυφά άλλους υπαλλήλους. Το κύριο πρόβλημα με την εργασία με το αρχείο καταγραφής συμβάντων των Windows είναι η έλλειψη πληροφοριών σχετικά με τις γονικές διαδικασίες, π.χ. είναι αδύνατο να κατανοήσουμε την ιεραρχία των διαδικασιών από αυτό. Οι εγγραφές αρχείου καταγραφής Sysmon, από την άλλη πλευρά, περιέχουν το αναγνωριστικό γονικής διαδικασίας, το όνομά του και τη γραμμή εντολών που πρόκειται να ξεκινήσει. Ευχαριστώ, Microsoft.

Στο πρώτο μέρος της σειράς μας, θα δούμε τι μπορείτε να κάνετε με βασικές πληροφορίες από το Sysmon. Στο Μέρος XNUMX, θα εκμεταλλευτούμε πλήρως τις πληροφορίες γονικής διαδικασίας για να δημιουργήσουμε πιο σύνθετες δομές συμμόρφωσης γνωστές ως γραφήματα απειλών. Στο τρίτο μέρος, θα δούμε έναν απλό αλγόριθμο που σαρώνει ένα γράφημα απειλής για να αναζητήσει ασυνήθιστη δραστηριότητα αναλύοντας το «βάρος» του γραφήματος. Και στο τέλος, θα ανταμειφθείτε με μια τακτοποιημένη (και κατανοητή) πιθανολογική μέθοδο ανίχνευσης απειλών.

Μέρος 1: Εισαγωγή στην ανάλυση καταγραφής Sysmon

Τι μπορεί να σας βοηθήσει να κατανοήσετε την πολυπλοκότητα του αρχείου καταγραφής συμβάντων; Τελικά - SIEM. Ομαλοποιεί τα γεγονότα και απλοποιεί την επακόλουθη ανάλυσή τους. Αλλά δεν χρειάζεται να πάμε τόσο μακριά, τουλάχιστον όχι στην αρχή. Στην αρχή, για να κατανοήσετε τις αρχές της SIEM, θα αρκεί να δοκιμάσετε το υπέροχο δωρεάν βοηθητικό πρόγραμμα Sysmon. Και είναι εκπληκτικά εύκολο να δουλέψεις μαζί της. Συνέχισε έτσι, Microsoft!

Τι χαρακτηριστικά έχει το Sysmon;

Εν συντομία - χρήσιμες και ευανάγνωστες πληροφορίες για τις διαδικασίες (δείτε τις παρακάτω εικόνες). Θα βρείτε ένα σωρό χρήσιμες λεπτομέρειες που δεν βρίσκονται στο αρχείο καταγραφής συμβάντων των Windows, αλλά οι πιο σημαντικές είναι τα ακόλουθα πεδία:

  • Αναγνωριστικό διαδικασίας (σε δεκαδικό, όχι εξάγωνο!)
  • Αναγνωριστικό γονικής διαδικασίας
  • Γραμμή εντολών διαδικασίας
  • Γραμμή εντολών της γονικής διαδικασίας
  • Κατακερματισμός εικόνας αρχείου
  • Ονόματα εικόνων αρχείων

Το Sysmon εγκαθίσταται τόσο ως πρόγραμμα οδήγησης συσκευής όσο και ως υπηρεσία - περισσότερες λεπτομέρειες εδώ. Το βασικό του πλεονέκτημα είναι η ικανότητα ανάλυσης αρχείων καταγραφής από πολλά πηγές, συσχέτιση πληροφοριών και έξοδος των τιμών που προκύπτουν σε έναν φάκελο καταγραφής συμβάντων που βρίσκεται κατά μήκος της διαδρομής Microsoft -> Windows -> Sysmon -> Λειτουργικό. Στις δικές μου συγκλονιστικές έρευνες για τα αρχεία καταγραφής των Windows, βρήκα τον εαυτό μου να πρέπει να αλλάζω συνεχώς μεταξύ, για παράδειγμα, του φακέλου αρχείων καταγραφής του PowerShell και του φακέλου Security, ξεφυλλίζοντας τα αρχεία καταγραφής συμβάντων σε μια γενναία προσπάθεια να συσχετίσω με κάποιο τρόπο τις τιμές μεταξύ των δύο . Αυτό δεν είναι ποτέ εύκολο έργο, και όπως συνειδητοποίησα αργότερα, ήταν καλύτερα να εφοδιαστείτε αμέσως με ασπιρίνη.

Η Sysmon κάνει ένα μεγάλο άλμα προς τα εμπρός παρέχοντας χρήσιμες (ή όπως θέλουν να πουν οι πωλητές, πρακτικές) πληροφορίες για να βοηθήσουν στην κατανόηση των υποκείμενων διαδικασιών. Για παράδειγμα, ξεκίνησα μια μυστική συνεδρία wmiexec, προσομοίωση της κίνησης ενός έξυπνου χρήστη μέσα στο δίκτυο. Αυτό θα δείτε στο αρχείο καταγραφής συμβάντων των Windows:

Οδηγός ανάλυσης απειλών Sysmon, Μέρος 1

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

Για έναν επαγγελματία επαγγελματία πληροφορικής με κατανόηση των βασικών στοιχείων του hacking, η γραμμή εντολών θα πρέπει να είναι ύποπτη. Η χρήση του cmd.exe για να εκτελέσετε στη συνέχεια μια άλλη εντολή και να ανακατευθύνετε την έξοδο σε ένα αρχείο με παράξενο όνομα είναι σαφώς παρόμοια με τις ενέργειες του λογισμικού παρακολούθησης και ελέγχου εντολή και έλεγχος (C2): Με αυτόν τον τρόπο δημιουργείται ένα ψευδο-κέλυφος χρησιμοποιώντας υπηρεσίες WMI.
Τώρα ας ρίξουμε μια ματιά στο ισοδύναμο εισόδου Sysmon, σημειώνοντας πόσες πρόσθετες πληροφορίες μας δίνει:

Οδηγός ανάλυσης απειλών Sysmon, Μέρος 1

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

Δεν βλέπετε μόνο τη γραμμή εντολών, αλλά και το όνομα του αρχείου, τη διαδρομή προς την εκτελέσιμη εφαρμογή, τι γνωρίζουν τα Windows για αυτήν ("Windows Command Processor"), το αναγνωριστικό γονικός διαδικασία, γραμμή εντολών μητρική εταιρεία, το οποίο ξεκίνησε το κέλυφος cmd, καθώς και το πραγματικό όνομα αρχείου της γονικής διαδικασίας. Όλα σε ένα μέρος, επιτέλους!
Από το αρχείο καταγραφής Sysmon μπορούμε να συμπεράνουμε ότι με μεγάλη πιθανότητα αυτή η ύποπτη γραμμή εντολών που είδαμε στα "ακατέργαστα" αρχεία καταγραφής δεν είναι το αποτέλεσμα της κανονικής εργασίας του υπαλλήλου. Αντίθετα, δημιουργήθηκε από μια διαδικασία παρόμοια με το C2 - wmiexec, όπως ανέφερα προηγουμένως - και δημιουργήθηκε απευθείας από τη διαδικασία υπηρεσίας WMI (WmiPrvSe). Τώρα έχουμε μια ένδειξη ότι ένας απομακρυσμένος εισβολέας ή ένας μυστικός χρήστης δοκιμάζει την εταιρική υποδομή.

Παρουσιάζοντας τα Get-Sysmonlogs

Φυσικά είναι υπέροχο όταν ο Sysmon βάζει τα αρχεία καταγραφής σε ένα μέρος. Αλλά πιθανότατα θα ήταν ακόμη καλύτερο εάν μπορούσαμε να έχουμε πρόσβαση σε μεμονωμένα πεδία καταγραφής μέσω προγραμματισμού - για παράδειγμα, μέσω εντολών PowerShell. Σε αυτήν την περίπτωση, θα μπορούσατε να γράψετε ένα μικρό σενάριο PowerShell που θα αυτοματοποιούσε την αναζήτηση πιθανών απειλών!
Δεν ήμουν ο πρώτος που είχα μια τέτοια ιδέα. Και είναι καλό που σε ορισμένες αναρτήσεις στο φόρουμ και στο GitHub έργα Έχει ήδη εξηγηθεί πώς να χρησιμοποιήσετε το PowerShell για την ανάλυση του αρχείου καταγραφής Sysmon. Στην περίπτωσή μου, ήθελα να αποφύγω την ανάγκη να γράψω ξεχωριστές γραμμές σεναρίου ανάλυσης για κάθε πεδίο Sysmon. Χρησιμοποίησα λοιπόν την αρχή του τεμπέλης και νομίζω ότι κατέληξα σε κάτι ενδιαφέρον.
Το πρώτο σημαντικό σημείο είναι η ικανότητα της ομάδας Λήψη-WinEvent διαβάστε τα αρχεία καταγραφής Sysmon, φιλτράρετε τα απαραίτητα συμβάντα και εξάγετε το αποτέλεσμα στη μεταβλητή PS, όπως εδώ:

$events = Get-WinEvent  -LogName "Microsoft-Windows-Sysmon/Operational" | where { $_.id -eq 1 -or $_.id -eq 11}

Εάν θέλετε να δοκιμάσετε μόνοι σας την εντολή, εμφανίζοντας το περιεχόμενο στο πρώτο στοιχείο του πίνακα $events, $events[0]. Μήνυμα, η έξοδος μπορεί να είναι μια σειρά από συμβολοσειρές κειμένου με μια πολύ απλή μορφή: το όνομα του Πεδίο Sysmon, άνω και κάτω τελεία και, στη συνέχεια, η ίδια η τιμή.

Οδηγός ανάλυσης απειλών Sysmon, Μέρος 1

Ζήτω! Έξοδος σύνδεσης Sysmon σε μορφή JSON-ready

Σκέφτεσαι το ίδιο πράγμα με εμένα; Με λίγη περισσότερη προσπάθεια, μπορείτε να μετατρέψετε την έξοδο σε μια συμβολοσειρά με μορφοποίηση JSON και στη συνέχεια να τη φορτώσετε απευθείας σε ένα αντικείμενο PS χρησιμοποιώντας μια ισχυρή εντολή ConvertFrom-Json .
Θα δείξω τον κώδικα PowerShell για τη μετατροπή - είναι πολύ απλή - στο επόμενο μέρος. Προς το παρόν, ας δούμε τι μπορεί να κάνει η νέα μου εντολή που ονομάζεται get-sysmonlogs, την οποία εγκατέστησα ως μονάδα PS.
Αντί να βουτάμε βαθιά στην ανάλυση αρχείων καταγραφής Sysmon μέσω μιας άβολης διεπαφής καταγραφής συμβάντων, μπορούμε αβίαστα να αναζητήσουμε αυξητική δραστηριότητα απευθείας από μια περίοδο λειτουργίας PowerShell, καθώς και να χρησιμοποιήσουμε την εντολή PS όπου (ψευδώνυμο – “?”) για να συντομεύσετε τα αποτελέσματα αναζήτησης:

Οδηγός ανάλυσης απειλών Sysmon, Μέρος 1

Λίστα με κελύφη cmd που εκτοξεύτηκαν μέσω WMI. Ανάλυση απειλών φθηνά με τη δική μας ομάδα Get-Sysmonlogs

Θαυμάσιος! Δημιούργησα ένα εργαλείο για τη δημοσκόπηση του αρχείου καταγραφής του Sysmon σαν να ήταν μια βάση δεδομένων. Στο άρθρο μας για EQL Σημειώθηκε ότι αυτή η λειτουργία θα εκτελεστεί από το δροσερό βοηθητικό πρόγραμμα που περιγράφεται σε αυτό, αν και τυπικά ακόμα μέσω μιας πραγματικής διεπαφής που μοιάζει με SQL. Ναι, EQL κομψός, αλλά θα το θίξουμε στο τρίτο μέρος.

Ανάλυση Sysmon και γραφήματος

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

Αν έχετε διαβάσει τη σειρά "The Adventures of the Elusive Malware" ξέρετε ότι οι χάκερ λατρεύουν να δημιουργούν πολύπλοκες επιθέσεις πολλαπλών σταδίων, στις οποίες κάθε διαδικασία παίζει τον δικό της μικρό ρόλο και προετοιμάζει ένα εφαλτήριο για το επόμενο βήμα. Είναι εξαιρετικά δύσκολο να πιάσεις τέτοια πράγματα απλά από το «ακατέργαστο» κούτσουρο.
Αλλά με την εντολή Get-Sysmonlogs μου και μια πρόσθετη δομή δεδομένων που θα εξετάσουμε αργότερα στο κείμενο (ένα γράφημα, φυσικά), έχουμε έναν πρακτικό τρόπο για να ανιχνεύσουμε απειλές - που απαιτεί απλώς να κάνουμε τη σωστή αναζήτηση κορυφής.
Όπως πάντα με τα έργα μας στο blog DYI, όσο περισσότερο εργάζεστε για την ανάλυση των λεπτομερειών των απειλών σε μικρή κλίμακα, τόσο περισσότερο θα συνειδητοποιείτε πόσο περίπλοκος είναι ο εντοπισμός απειλών σε επίπεδο επιχείρησης. Και αυτή η συνειδητοποίηση είναι εξαιρετικά σημαντικό σημείο.

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

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο