Sysmon v15.15
Według Mark Russinovich i Thomas Garnier
Opublikowano: 23 lipca 2024 r.
Pobierz plik Sysmon (4,6 MB)
Pobierz program Sysmon dla systemu Linux (GitHub)
Wprowadzenie
System Monitor (Sysmon) to usługa systemu Windows i sterownik urządzenia, który po zainstalowaniu w systemie pozostaje rezydentem w systemach ponownego uruchamiania w celu monitorowania i rejestrowania aktywności systemu Windows w dzienniku zdarzeń. Zawiera szczegółowe informacje o tworzeniu procesów, połączeniach sieciowych i zmianach czasu tworzenia pliku. Zbierając zdarzenia generowane przy użyciu zbierania zdarzeń systemu Windows lub agentów SIEM , a następnie analizując je, można zidentyfikować złośliwe lub nietypowe działania i zrozumieć, w jaki sposób intruzów i złośliwego oprogramowania działają w sieci. Usługa jest uruchamiana jako proces chroniony, co powoduje uniemożliwienie szerokiej gamy interakcji w trybie użytkownika.
Należy pamiętać, że program Sysmon nie zapewnia analizy generowanych przez nią zdarzeń ani nie próbuje ukryć się przed osobami atakującymi.
Omówienie możliwości narzędzia Sysmon
System Sysmon oferuje następujące możliwości:
- Rejestruje tworzenie procesu z pełnym wierszem polecenia dla bieżących i nadrzędnych procesów.
- Rejestruje skrót plików obrazów procesu przy użyciu algorytmu SHA1 (wartość domyślna), MD5, SHA256 lub IMPHASH.
- W tym samym czasie można używać wielu skrótów.
- Zawiera identyfikator GUID procesu w procesie tworzenia zdarzeń, aby umożliwić korelację zdarzeń nawet wtedy, gdy system Windows ponownie używa identyfikatorów procesów.
- Zawiera identyfikator GUID sesji w każdym zdarzeń, aby umożliwić korelację zdarzeń w tej samej sesji logowania.
- Rejestruje ładowanie sterowników lub bibliotek DLL przy użyciu ich podpisów i skrótów.
- Dzienniki są otwierane dla nieprzetworzonego dostępu do odczytu dysków i woluminów.
- Opcjonalnie rejestruje połączenia sieciowe, w tym proces źródłowy każdego połączenia, adresy IP, numery portów, nazwy hostów i nazwy portów.
- Wykrywa zmiany w czasie tworzenia pliku, aby zrozumieć, kiedy plik został naprawdę utworzony. Modyfikacja sygnatur czasowych tworzenia pliku jest techniką często używaną przez złośliwe oprogramowanie do okrycia jego ścieżek.
- Automatycznie załaduj ponownie konfigurację, jeśli zostanie zmieniona w rejestrze.
- Filtrowanie reguł w celu dynamicznego dołączania lub wykluczania niektórych zdarzeń.
- Generuje zdarzenia od początku procesu rozruchu w celu przechwytywania aktywności wykonanej przez nawet zaawansowane złośliwe oprogramowanie w trybie jądra.
Zrzuty ekranu
Użycie
Typowe użycie z prostymi opcjami wiersza polecenia w celu zainstalowania i odinstalowania programu Sysmon, a także sprawdzenia i zmodyfikowania jego konfiguracji:
Instalować: sysmon64 -i [<configfile>]
Konfiguracja aktualizacji: sysmon64 -c [<configfile>]
Zainstaluj manifest zdarzenia: sysmon64 -m
Schemat wydruku: sysmon64 -s
Odinstaluj: sysmon64 -u [force]
Parametr | Opis |
---|---|
-i | Zainstaluj usługę i sterownik. Opcjonalnie możesz pobrać plik konfiguracji. |
-c | Zaktualizuj konfigurację zainstalowanego sterownika Sysmon lub zrzuć bieżącą konfigurację, jeśli nie podano żadnego innego argumentu. Opcjonalnie pobiera plik konfiguracji. |
-m | Zainstaluj manifest zdarzenia (niejawnie wykonywane na instalacji usługi). |
-s | Drukuj definicję schematu konfiguracji. |
-u | Odinstaluj usługę i sterownik. Użycie -u force metody odinstalowywania powoduje kontynuowanie nawet wtedy, gdy niektóre składniki nie są zainstalowane. |
Usługa rejestruje zdarzenia natychmiast, a sterownik jest instalowany jako sterownik rozruchu w celu przechwytywania aktywności od początku rozruchu, które usługa zapisze w dzienniku zdarzeń po uruchomieniu.
W systemie Vista i nowszych zdarzenia są przechowywane w systemie Applications and Services Logs/Microsoft/Windows/Sysmon/Operational
.
W starszych systemach zdarzenia są zapisywane w dzienniku zdarzeń System
.
Jeśli potrzebujesz więcej informacji na temat plików konfiguracji, użyj -? config
polecenia .
Określ -accepteula
, aby automatycznie zaakceptować umowy EULA podczas instalacji. W przeciwnym razie zostanie wyświetlony interakcyjny monit o zaakceptowanie tej umowy.
Ani instalacja, ani odinstalowanie nie wymagają ponownego uruchomienia.
Przykłady
Instalowanie przy użyciu ustawień domyślnych (przetwarzanie obrazów przy użyciu algorytmu SHA1 i brak monitorowania sieci)
sysmon -accepteula -i
Zainstaluj program Sysmon przy użyciu pliku konfiguracji (zgodnie z poniższym opisem)
sysmon -accepteula -i c:\windows\config.xml
Odinstaluj program
sysmon -u
Zrzut bieżącej konfiguracji
sysmon -c
Skonfiguruj ponownie aktywny program Sysmon przy użyciu pliku konfiguracji (zgodnie z poniższym opisem)
sysmon -c c:\windows\config.xml
Zmień konfigurację na ustawienia domyślne
sysmon -c --
Pokaż schemat konfiguracji
sysmon -s
Zdarzenia
W systemie Vista i nowszych zdarzenia są przechowywane w Applications and Services Logs/Microsoft/Windows/Sysmon/Operational
systemie , a w starszych systemach zdarzenia są zapisywane w dzienniku System
zdarzeń.
Znaczniki czasu zdarzenia są w formacie UTC (czas standardowy).
Poniżej przedstawiono przykłady każdego typu zdarzenia generowanego przez program Sysmon.
Identyfikator zdarzenia 1: tworzenie procesu
Zdarzenie tworzenia procesu zawiera rozszerzone informacje o nowo utworzonym procesie. Pełny wiersz polecenia zawiera kontekst wykonywania procesu. Pole ProcessGUID
jest unikatową wartością dla tego procesu w domenie, aby ułatwić korelację zdarzeń. Skrót jest pełnym skrótem pliku z algorytmami w HashType
polu.
Identyfikator zdarzenia 2: Proces zmienił czas tworzenia pliku
Zdarzenie czasu tworzenia pliku zmiany jest rejestrowane, gdy czas tworzenia pliku jest jawnie modyfikowany przez proces. To zdarzenie pomaga śledzić czas tworzenia pliku w czasie rzeczywistym. Osoby atakujące mogą zmienić czas tworzenia pliku zaplecza, aby wyglądało to tak, jakby został zainstalowany w systemie operacyjnym. Należy pamiętać, że wiele procesów legalnie zmienia czas tworzenia pliku; niekoniecznie wskazuje na złośliwe działanie.
Zdarzenie o identyfikatorze 3: Połączenie sieciowe
Zdarzenie połączenia sieciowego rejestruje połączenia TCP/UDP na maszynie. To ustawienie jest domyślnie wyłączone. Każde połączenie jest połączone z procesem za pośrednictwem ProcessId
pól i ProcessGuid
. Zdarzenie zawiera również źródłowe i docelowe nazwy hostów adresy IP, numery portów i stan IPv6.
Identyfikator zdarzenia 4. Zmieniono stan usługi Sysmon
Zdarzenie zmiany stanu usługi zgłasza stan usługi Sysmon (uruchomiono lub zatrzymano).
Identyfikator zdarzenia 5: Proces został zakończony
Proces kończy raportowanie zdarzeń po zakończeniu procesu. Udostępnia element UtcTime
i ProcessGuid
ProcessId
procesu.
Identyfikator zdarzenia 6: załadowany sterownik
Załadowane zdarzenia sterownika zawierają informacje o sterowniku ładowanym do systemu. Skonfigurowane skróty są udostępniane, a także informacje o podpisie. Podpis jest tworzony asynchronicznie ze względu na wydajność i wskazuje, czy plik został usunięty po załadowaniu.
Identyfikator zdarzenia 7: Załadowano obraz
Obraz załadował dzienniki zdarzeń po załadowaniu modułu w określonym procesie. To zdarzenie jest domyślnie wyłączone i należy je skonfigurować przy użyciu opcji "–l
". Wskazuje on proces, w którym moduł jest ładowany, skróty i informacje o podpisie. Podpis jest tworzony asynchronicznie ze względu na wydajność i wskazuje, czy plik został usunięty po załadowaniu. To zdarzenie należy dokładnie skonfigurować, ponieważ monitorowanie wszystkich zdarzeń ładowania obrazów spowoduje wygenerowanie znacznej ilości rejestrowania.
Identyfikator zdarzenia 8: CreateRemoteThread
Zdarzenie CreateRemoteThread
wykrywa, gdy proces tworzy wątek w innym procesie. Ta technika jest używana przez złośliwe oprogramowanie do wstrzykiwania kodu i ukrywania się w innych procesach. Zdarzenie wskazuje proces źródłowy i docelowy. Zawiera on informacje o kodzie, który zostanie uruchomiony w nowym wątku: StartAddress
, StartModule
i StartFunction
. Należy pamiętać, że StartModule
pola i StartFunction
są wnioskowane, mogą być puste, jeśli adres początkowy znajduje się poza załadowanych modułów lub znanych wyeksportowanych funkcji.
Identyfikator zdarzenia 9: RawAccessRead
Zdarzenie RawAccessRead
wykrywa, gdy proces przeprowadza operacje odczytu z dysku przy użyciu \\.\
denotacji. Ta technika jest często używana przez złośliwe oprogramowanie do eksfiltracji danych plików, które są zablokowane do odczytu, a także w celu uniknięcia dostępu do plików narzędzi inspekcji. Zdarzenie wskazuje proces źródłowy i urządzenie docelowe.
Identyfikator zdarzenia 10: ProcessAccess
Proces uzyskiwał dostęp do raportów zdarzeń, gdy proces otwiera inny proces, operację, po której często następują zapytania informacyjne lub odczytywanie i zapisywanie przestrzeni adresowej procesu docelowego. Umożliwia to wykrywanie narzędzi hakerskich, które odczytują zawartość pamięci procesów, takich jak Local Security Authority (Lsass.exe), w celu kradzieży poświadczeń do użycia w atakach typu Pass-the-Hash. Włączenie tej funkcji może generować znaczne ilości rejestrowania, jeśli istnieją narzędzia diagnostyczne aktywne, które wielokrotnie otwierają procesy w celu wykonywania zapytań o ich stan, dlatego zazwyczaj należy to zrobić tylko za pomocą filtrów, które usuwają oczekiwane dostępy.
Identyfikator zdarzenia 11: PlikTworzenie
Operacje tworzenia plików są rejestrowane po utworzeniu lub zastąpieniu pliku. To zdarzenie jest przydatne w przypadku monitorowania lokalizacji automatycznego uruchamiania, takich jak folder Start, a także katalogi tymczasowe i katalogi pobierania, które są typowymi miejscami, w których złośliwe oprogramowanie spada podczas początkowej infekcji.
Identyfikator zdarzenia 12: RegistryEvent (tworzenie i usuwanie obiektu)
Klucz rejestru i wartość tworzą i usuwają operacje mapowania na ten typ zdarzenia, co może być przydatne do monitorowania zmian w lokalizacjach automatycznego uruchamiania rejestru lub określonych modyfikacji rejestru złośliwego oprogramowania.
Systemmon używa skróconych wersji nazw kluczy głównych rejestru z następującymi mapowaniami:
Nazwa klucza | Skrót |
---|---|
HKEY_LOCAL_MACHINE |
HKLM |
HKEY_USERS |
HKU |
HKEY_LOCAL_MACHINE\System\ControlSet00x |
HKLM\System\CurrentControlSet |
HKEY_LOCAL_MACHINE\Classes |
HKCR |
Identyfikator zdarzenia 13: RegistryEvent (zestaw wartości)
Ten typ zdarzenia rejestru identyfikuje modyfikacje wartości rejestru. Zdarzenie rejestruje wartość zapisaną dla wartości rejestru typu DWORD
i QWORD
.
Identyfikator zdarzenia 14: RegistryEvent (zmiana nazwy klucza i wartości)
Operacje zmiany nazwy klucza rejestru i wartości są mapowane na ten typ zdarzenia, rejestrując nową nazwę klucza lub wartości, która została zmieniona.
Identyfikator zdarzenia 15: PlikUtwórzStreamHash
To zdarzenie rejestruje po utworzeniu nazwanego strumienia plików i generuje zdarzenia, które rejestrują skrót zawartości pliku, do którego jest przypisany strumień (bez nazwy strumienia), a także zawartość nazwanego strumienia. Istnieją warianty złośliwego oprogramowania, które usuwają pliki wykonywalne lub ustawienia konfiguracji za pośrednictwem pobierania przeglądarki, a to zdarzenie ma na celu przechwycenie tego zdarzenia na podstawie przeglądarki dołączania Zone.Identifier
strumienia "znacznika sieci Web".
Identyfikator zdarzenia 16: ServiceConfigurationChange
To zdarzenie rejestruje zmiany w konfiguracji sysmon — na przykład podczas aktualizowania reguł filtrowania.
Identyfikator zdarzenia 17: PipeEvent (utworzono potok)
To zdarzenie jest generowane podczas tworzenia nazwanego potoku. Złośliwe oprogramowanie często używa nazwanych potoków do komunikacji międzyprocesowej.
Identyfikator zdarzenia 18: PipeEvent (połączony potok)
To zdarzenie rejestruje, gdy zostanie nawiązane połączenie nazwanego potoku między klientem a serwerem.
Identyfikator zdarzenia 19: Wykryto działanie WmiEvent (WmiEventFilter)
Po zarejestrowaniu filtru zdarzeń usługi WMI, czyli metody używanej przez złośliwe oprogramowanie do wykonania, to zdarzenie rejestruje przestrzeń nazw usługi WMI, nazwę filtru i wyrażenie filtru.
Identyfikator zdarzenia 20: Wykryto działanie WmiEvent (wykryto działanie WmiEventConsumer)
To zdarzenie rejestruje rejestrację użytkowników usługi WMI, rejestrowanie nazwy klienta, dziennika i miejsca docelowego.
Identyfikator zdarzenia 21: Wykryto działanie WmiEvent (WmiEventConsumerToFilter)
Gdy użytkownik powiąże z filtrem, to zdarzenie rejestruje nazwę użytkownika i ścieżkę filtru.
Identyfikator zdarzenia 22: DNSEvent (zapytanie DNS)
To zdarzenie jest generowane, gdy proces wykonuje zapytanie DNS, niezależnie od tego, czy wynik zakończył się pomyślnie, czy kończy się niepowodzeniem, czy nie. Dane telemetryczne dla tego zdarzenia zostały dodane dla systemu Windows 8.1, więc nie są dostępne w systemie Windows 7 i starszych wersjach.
Identyfikator zdarzenia 23: PlikUsuń (plik usunięty zarchiwizowany)
Plik został usunięty. Ponadto w celu rejestrowania zdarzenia usunięty plik jest również zapisywany w ArchiveDirectory
pliku (który jest C:\Sysmon
domyślnie). W normalnych warunkach operacyjnych ten katalog może wzrosnąć do nieuzasadnionego rozmiaru — zobacz identyfikator zdarzenia 26: FileDeleteDetected
w przypadku podobnego zachowania, ale bez zapisywania usuniętych plików.
Identyfikator zdarzenia 24: ClipboardChange (nowa zawartość w schowku)
To zdarzenie jest generowane po zmianie zawartości schowka systemowego.
Identyfikator zdarzenia 25: ProcessTampering (Zmiana obrazu procesu)
To zdarzenie jest generowane podczas wykrywania technik ukrywania procesów, takich jak "puste" lub "herpaderp".
Identyfikator zdarzenia 26: FileDeleteDetected (zarejestrowane usuwanie pliku)
Plik został usunięty.
Identyfikator zdarzenia 27: FileBlockExecutable
To zdarzenie jest generowane, gdy system Sysmon wykrywa i blokuje tworzenie plików wykonywalnych (format PE).
Identyfikator zdarzenia 28: FileBlockShredding
To zdarzenie jest generowane, gdy program Sysmon wykrywa i blokuje niszczanie plików z narzędzi, takich jak SDelete.
Identyfikator zdarzenia 29: FileExecutableDetected
To zdarzenie jest generowane, gdy program Sysmon wykryje utworzenie nowego pliku wykonywalnego (format PE).
Identyfikator zdarzenia 255: błąd
To zdarzenie jest generowane, gdy wystąpił błąd w programie Sysmon. Mogą się one zdarzyć, jeśli system jest obciążony dużym obciążeniem i nie można wykonać niektórych zadań lub w usłudze Sysmon istnieje usterka, a nawet jeśli niektóre warunki zabezpieczeń i integralności nie zostaną spełnione. Możesz zgłosić wszelkie usterki na forum Sysinternals lub za pośrednictwem serwisu Twitter (@markrussinovich).
Pliki konfiguracji
Pliki konfiguracji można określić po przełącznikach konfiguracji -i (instalacja) lub -c (instalacja). Ułatwiają one wdrażanie konfiguracji wstępnie zdefiniowanej i filtrowanie przechwyconych zdarzeń.
Prosty plik XML konfiguracji wygląda następująco:
<Sysmon schemaversion="4.82">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<DriverLoad onmatch="exclude">
<Signature condition="contains">microsoft</Signature>
<Signature condition="contains">windows</Signature>
</DriverLoad>
<!-- Do not log process termination -->
<ProcessTerminate onmatch="include" />
<!-- Log network connection if the destination port equal 443 -->
<!-- or 80, and process isn't InternetExplorer -->
<NetworkConnect onmatch="include">
<DestinationPort>443</DestinationPort>
<DestinationPort>80</DestinationPort>
</NetworkConnect>
<NetworkConnect onmatch="exclude">
<Image condition="end with">iexplore.exe</Image>
</NetworkConnect>
</EventFiltering>
</Sysmon>
Plik konfiguracji zawiera atrybut schemaversion w tagu Sysmon. Ta wersja jest niezależna od wersji binarnej sysmon i umożliwia analizowanie starszych plików konfiguracji. Bieżącą wersję schematu można pobrać przy użyciu wiersza polecenia "-? config
". Wpisy konfiguracji znajdują się bezpośrednio pod tagiem Sysmon
, a filtry znajdują się pod tagiem EventFiltering
.
Wpisy konfiguracji
Wpisy konfiguracji są podobne do przełączników wiersza polecenia i zawierają następujące elementy
Wpisy konfiguracji obejmują następujące elementy:
Wpis | Wartość | Opis |
---|---|---|
ArchiveDirectory | String | Nazwa katalogów w katalogach głównych woluminów, w których są przenoszone pliki kopiowania do usunięcia. Katalog jest chroniony za pomocą listy ACL systemu (można użyć programu PsExec z programu Sysinternals, aby uzyskać dostęp do katalogu przy użyciu polecenia psexec -sid cmd ). Domyślnie: Sysmon |
CheckRevocation | Wartość logiczna | Steruje sprawdzaniem odwołania podpisów. Domyślnie: True |
CopyOnDeletePE | Wartość logiczna | Zachowuje usunięte pliki obrazów wykonywalnych. Domyślnie: False |
CopyOnDeleteSIDs | Ciągi | Rozdzielona przecinkami lista identyfikatorów SID kont, dla których zostaną zachowane usunięcia plików. |
Rozszerzenia CopyOnDeleteExtensions | Ciągi | Rozszerzenia plików, które są zachowywane podczas usuwania. |
CopyOnDeleteProcesses | Ciągi | Nazwy procesów, dla których pliki zostaną usunięte, zostaną zachowane. |
DnsLookup | Wartość logiczna | Steruje wstecznym wyszukiwaniem DNS. Domyślnie: True |
DriverName | String | Używa określonej nazwy dla obrazów sterowników i usług. |
HashAlgorithms | Ciągi | Algorytmy skrótów, które mają być stosowane do tworzenia skrótów. Obsługiwane algorytmy obejmują MD5, SHA1, SHA256, IMPHASH i * (wszystkie). Domyślnie: None |
Przełączniki wiersza polecenia mają swój wpis konfiguracji opisany w danych wyjściowych użycia sysmon. Parametry są opcjonalne na podstawie tagu. Jeśli przełącznik wiersza polecenia włącza również zdarzenie, należy go skonfigurować za pomocą tagu filtru. Można określić przełącznik, -s
aby system Sysmon wydrukował pełny schemat konfiguracji, w tym tagi zdarzeń, a także nazwy pól i typy dla każdego zdarzenia. Oto na przykład schemat typu RawAccessRead
zdarzenia:
<event name="SYSMON_RAWACCESS_READ" value="9" level="Informational "template="RawAccessRead detected" rulename="RawAccessRead" version="2">
<data name="UtcTime" inType="win:UnicodeString" outType="xs:string"/>
<data name="ProcessGuid" inType="win:GUID"/>
<data name="ProcessId" inType="win:UInt32" outType="win:PID"/>
<data name="Image" inType="win:UnicodeString" outType="xs:string"/>
<data name="Device" inType="win:UnicodeString" outType="xs:string"/>
</event>
Wpisy filtrowania zdarzeń
Filtrowanie zdarzeń umożliwia filtrowanie wygenerowanych zdarzeń. W wielu przypadkach zdarzenia mogą być hałaśliwe i zbieranie wszystkiego nie jest możliwe. Na przykład możesz zainteresować się połączeniami sieciowymi tylko w przypadku określonego procesu, ale nie wszystkich z nich. Dane wyjściowe można filtrować na hoście, zmniejszając ilość danych do zebrania.
Każde zdarzenie ma własny tag filtru w węźle EventFiltering w pliku konfiguracji:
ID | Tag | Zdarzenie |
---|---|---|
1 | ProcesTworzenie | Tworzenie procesu |
2 | FileCreateTime | Czas tworzenia pliku |
3 | Połączenie sieciowe | Wykryto połączenie sieciowe |
4 | nie dotyczy | Zmiana stanu usługi Sysmon (nie można jej filtrować) |
5 | ProcessTerminate | Proces został zakończony |
6 | DriverLoad | Załadowany sterownik |
7 | ImageLoad | Załadowany obraz |
8 | CreateRemoteThread | Wykryto pozycję CreateRemoteThread |
9 | RawAccessRead | Wykryto nieprzetworzone dane RawAccessRead |
10 | ProcessAccess | Dostęp do procesu |
11 | PlikTworzenie | Utworzony plik |
12 | RegistryEvent | Dodano lub usunięto obiekt rejestru |
13 | RegistryEvent | Zestaw wartości rejestru |
14 | RegistryEvent | Zmieniono nazwę obiektu rejestru |
15 | FileCreateStreamHash | Utworzony strumień plików |
16 | nie dotyczy | Zmiana konfiguracji sysmon (nie można filtrować) |
17 | PipeEvent | Utworzony nazwany potok |
18 | PipeEvent | Połączony nazwany potok |
19 | WmiEvent | Filtr WMI |
20 | WmiEvent | Użytkownik usługi WMI |
21 | WmiEvent | Filtr użytkownika usługi WMI |
22 | DnsQuery | Zapytanie DNS |
23 | PlikUsuń | Zarchiwizowane usunięcie pliku |
24 | SchowekZmień | Nowa zawartość w schowku |
25 | Przetwarzanietampering | Przetwarzanie zmiany obrazu |
26 | FileDeleteDetected | Zarejestrowane usuwanie pliku |
27 | FileBlockExecutable | Plik wykonywalny bloku plików |
28 | FileBlockShredding | Rozdrabnianie bloku plików |
29 | FileExecutableDetected | Wykryto plik wykonywalny pliku |
Te tagi można również znaleźć w podglądzie zdarzeń w nazwie zadania.
Filtr onmatch
jest stosowany, jeśli zdarzenia są zgodne. Można go zmienić za pomocą atrybutu onmatch
tagu filtru. Jeśli wartość to "include"
, oznacza to, że uwzględniane są tylko dopasowane zdarzenia. Jeśli jest ustawiona na "exclude"
wartość , zdarzenie zostanie uwzględnione, z wyjątkiem sytuacji, gdy reguła jest zgodna. Można określić zarówno zestaw filtrów dołączania, jak i zestaw filtrów wykluczania dla każdego identyfikatora zdarzenia, gdzie pierwszeństwo mają dopasowania wykluczania.
Każdy filtr może zawierać zero lub więcej reguł. Każdy tag w tagu filtru jest nazwą pola ze zdarzenia. Reguły określające warunek dla tej samej nazwy pola zachowują się jako warunki OR, a te, które określają inną nazwę pola zachowują się jako warunki AND. Reguły pól mogą również używać warunków, aby dopasować wartość. Warunki są następujące (wszystkie są bez uwzględniania wielkości liter):
Warunek | Opis |
---|---|
is | Wartość domyślna, wartości są równe |
jest dowolny | Pole jest jedną z ; wartości rozdzielonych |
nie jest | Wartości są różne |
Contains | Pole zawiera tę wartość |
zawiera dowolne | Pole zawiera dowolną ; z rozdzielonych wartości |
zawiera wszystkie | Pole zawiera wszystkie ; rozdzielane wartości |
Wyklucza | Pole nie zawiera tej wartości |
wyklucza wszystkie | Pole nie zawiera co najmniej jednej ; wartości rozdzielanej |
wyklucza wszystkie | Pole nie zawiera żadnych ; wartości rozdzielonych |
rozpocznij od | Pole zaczyna się od tej wartości |
koniec z | Pole kończy się tą wartością |
nie zaczyna się od | Pole nie zaczyna się od tej wartości |
nie kończy się na | Pole nie kończy się tą wartością |
mniejsze niż | Porównanie leksykograficzne jest mniejsze niż zero |
ponad | Porównanie leksykograficzne jest większe niż zero |
obraz | Dopasuj ścieżkę obrazu (pełna ścieżka lub tylko nazwa obrazu). Na przykład: lsass.exe będzie pasuje do c:\windows\system32\lsass.exe |
Możesz użyć innego warunku, określając go jako atrybut. Wyklucza to działanie sieciowe z procesów z iexplore.exe w ich ścieżce:
<NetworkConnect onmatch="exclude">
<Image condition="contains">iexplore.exe</Image>
</NetworkConnect>
Aby raport Sysmon pasował do reguły, spowodowało zarejestrowanie zdarzenia, dodaj nazwy do reguł:
<NetworkConnect onmatch="exclude">
<Image name="network iexplore" condition="contains">iexplore.exe</Image>
</NetworkConnect>
Możesz użyć zarówno reguł dołączania, jak i wykluczania dla tego samego tagu, gdzie reguły wykluczania zastępują reguły dołączania. W ramach reguły warunki filtrowania mają zachowanie OR.
W przedstawionej wcześniej przykładowej konfiguracji filtr sieci używa zarówno reguły dołączania, jak i wykluczania, aby przechwycić działanie na porcie 80 i 443 przez wszystkie procesy, z wyjątkiem tych, które mają iexplore.exe
nazwę.
Istnieje również możliwość zastąpienia sposobu, w jaki reguły są łączone przy użyciu grupy reguł, która umożliwia typ łączenia reguły dla co najmniej jednego zdarzenia, które mają być jawnie ustawione na AND lub OR.
W poniższym przykładzie pokazano to użycie. W pierwszej grupie reguł zdarzenie tworzenia procesu zostanie wygenerowane, gdy timeout.exe
jest wykonywane tylko z argumentem 100
wiersza polecenia , ale zdarzenie zakończenia procesu zostanie wygenerowane dla zakończenia działania ping.exe
i timeout.exe
.
<EventFiltering>
<RuleGroup name="group 1" groupRelation="and">
<ProcessCreate onmatch="include">
<Image condition="contains">timeout.exe</Image>
<CommandLine condition="contains">100</CommandLine>
</ProcessCreate>
</RuleGroup>
<RuleGroup groupRelation="or">
<ProcessTerminate onmatch="include">
<Image condition="contains">timeout.exe</Image>
<Image condition="contains">ping.exe</Image>
</ProcessTerminate>
</RuleGroup>
<ImageLoad onmatch="include"/>
</EventFiltering>
Pobierz plik Sysmon (4,6 MB)
Działa w:
- Klient: Windows 10 lub nowszy.
- Serwer: System Windows Server 2016 lub nowszy.