Udostępnij za pośrednictwem


Sysmon v15.2

Według Mark Russinovich i Thomas Garnier

Opublikowano: 26 marca 2026 r.

Pobierz 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.
  • W każdym zdarzeniu znajduje się identyfikator GUID sesji, aby umożliwić korelację zdarzeń w jednej sesji logowania.
  • Rejestruje ładowanie sterowników lub bibliotek DLL przy użyciu ich podpisów i skrótów.
  • Dzienniki umożliwiają surowy dostęp 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 znaczników czasowych tworzenia pliku jest techniką często używaną przez złośliwe oprogramowanie do ukrycia swoich ś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

EventViewer

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:

Zainstaluj: 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 (jest to również wykonywane niejawnie podczas instalacji usługi).
-s Drukuj definicję schematu konfiguracji.
-u Odinstaluj usługę i sterownik. Użycie -u force powoduje kontynuację deinstalacji, nawet jeśli 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

Na systemach Vista i nowszych zdarzenia są przechowywane w Applications and Services Logs/Microsoft/Windows/Sysmon/Operational, 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 zastosowaniem algorytmów w polu HashType.

Identyfikator zdarzenia 2: Proces zmienił czas tworzenia pliku

Zdarzenie zmiany czasu tworzenia pliku 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 utworzenia pliku tylnego wejścia, aby wyglądało to tak, jakby został zainstalowany wraz z systemem 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 pól ProcessId 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 elementy UtcTime, ProcessGuid i ProcessId procesu.

Identyfikator zdarzenia 6: sterownik został załadowany

Zdarzenia związane z ładowaniem sterownika zawierają informacje o sterowniku ładowanym do systemu. Skonfigurowane skróty są udostępniane, a także informacje o podpisach. 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

Zdarzenie załadowania obrazu rejestruje, kiedy moduł jest załadowany 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 pola StartModule i StartFunction są wnioskowane, mogą być puste, jeśli adres początkowy znajduje się poza załadowanymi modułami lub znanymi wyeksportowanymi funkcjami.

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: TworzeniePliku

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)

Operacje tworzenia i usuwania klucza oraz wartości rejestru mapują się na ten typ zdarzenia, co może być przydatne do monitorowania zmian w lokalizacjach automatycznego uruchamiania rejestru lub konkretnych modyfikacji rejestru dokonanych przez złośliwe oprogramowanie.

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: FileCreateStreamHash

To zdarzenie rejestruje, gdy jest tworzony nazwany strumień pliku, i generuje zdarzenia, które rejestrują skrót zawartości pliku, do którego jest przypisany strumień (strumienia bez nazwy), a także zawartość nazwanego strumienia. Istnieją warianty złośliwego oprogramowania, które dokonują zrzutu swoich plików wykonywalnych lub ustawień konfiguracyjnych poprzez pobieranie przez przeglądarkę, a to zdarzenie ma na celu wykrycie tego w oparciu o dołączanie przez przeglądarkę strumienia "Zone.Identifier znacznik sieci Web".

Identyfikator zdarzenia 16: ZmianaKonfiguracjiUsługi

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 nawiązanie połączenia nazwanego potoku między klientem a serwerem.

Identyfikator zdarzenia 19: Wykryto działanie WmiEvent (WmiEventFilter)

Po zarejestrowaniu filtru zdarzeń WMI, co jest metodą wykorzystywaną przez złośliwe oprogramowanie do wykonywania złośliwych działań, rejestrowane są przestrzeń nazw WMI, nazwa filtru oraz wyrażenie filtru.

Identyfikator zdarzenia 20: Wykryto działanie WmiEvent (wykryto działanie WmiEventConsumer)

To zdarzenie loguje rejestrację konsumentów usługi WMI, zapisując nazwę konsumenta, dziennik i miejsce docelowe.

Identyfikator zdarzenia 21: Wykryto działanie WmiEvent (WmiEventConsumerToFilter)

Gdy konsument wiąże się z filtrem, to zdarzenie rejestruje nazwę konsumenta i ścieżkę filtra.

Identyfikator zdarzenia 22: DNSEvent (zapytanie DNS)

To zdarzenie jest generowane, gdy proces wykonuje zapytanie DNS, niezależnie od tego, czy wynik się powiódł, czy zakończył niepowodzeniem, oraz czy jest ono przechowywane w pamięci podręcznej. 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: UsunięciePliku (Usunięcie pliku archiwalnego)

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 "hollow" 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.

Pliki konfiguracji

Pliki konfiguracji można określić po przełącznikach -i (konfiguracja) lub -c (konfiguracja). 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 logiczny Steruje sprawdzaniem odwołania podpisów. Domyślnie: True
CopyOnDeletePE logiczny 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.
CopyOnDeleteExtensions Ciągi Rozszerzenia plików, które są zachowywane podczas usuwania.
KopiujPrzyUsunięciuProcesy Ciągi Nazwy procesów, dla których pliki zostaną usunięte, zostaną zachowane.
DnsLookup logiczny 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 wynikach 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ą znacznika 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 zdarzeń 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>  

Elementy 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:

identyfikator Tag Zdarzenie
1 Tworzenie procesu Utwórz proces
2 CzasUtworzeniaPliku Czas tworzenia pliku
3 NetworkConnect 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 CreateRemoteThread
9 RawAccessRead Wykryto nieprzetworzone dane RawAccessRead
10 ProcessAccess Dostęp do procesu
11 TworzeniePliku Utworzony plik
12 RegistryEvent Dodano lub usunięto obiekt rejestru
13 RegistryEvent Ustawienie wartości rejestru
14 RegistryEvent Zmieniono nazwę obiektu rejestru
15 FileCreateStreamHash Utworzony strumień plików
16 nie dotyczy Zmiana konfiguracji Sysmon (niepodlegająca filtrowaniu)
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 UsuńPlik Usunięcie pliku zarchiwizowane
24 SchowekZmień Nowa zawartość w schowku
25 Przetwarzanie manipulacyjne Przetwarzanie zmiany wizerunku
26 WykrytoUsunięciePliku Zarejestrowano usunięcie pliku
27 FileBlockExecutable Wykonywalny blok plików
28 FileBlockShredding Rozdrabnianie bloku plików
29 Wykryto plik wykonywalny Wykryto plik wykonywalny

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 wartość na "exclude", zdarzenie zostanie uwzględnione, z wyjątkiem sytuacji, gdy reguła pasuje. Można określić zarówno zestaw filtrów dołączania, jak i zestaw filtrów wykluczania dla każdego identyfikatora zdarzenia, przy czym filtry wykluczania mają pierwszeństwo.

Każdy filtr może zawierać zero lub więcej reguł. Każdy tag pochodzący z tagu filtru jest nazwą pola z wydarzenia. 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
jest Domyślnie, 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 jedną z wartości rozdzielonych za pomocą ;
zawiera wszystkie Pole zawiera wszystkie wartości oddzielone ;
Wyklucza Pole nie zawiera tej wartości
wyklucza wszystkie Pole nie zawiera jednej lub więcej wartości rozdzielonych za pomocą ;.
wyklucza wszystkie Pole nie zawiera żadnych wartości ograniczonych separatorami ;.
rozpocznij od Pole zaczyna się od tej wartości
zakonczyć 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 Sysmon raportował, która z reguł spowodowała 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łączenia, jak i wykluczenia, aby przechwycić ruch na portach 80 i 443 przez wszystkie procesy, z wyjątkiem tych, których nazwa zawiera iexplore.exe.

Istnieje również możliwość zastąpienia sposobu, w jaki reguły są łączone, przy użyciu grupy reguł, która pozwala jawnie ustawić typ łączenia reguły na AND lub OR dla jednego lub więcej zdarzeń.

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 wiersza polecenia 100, ale zdarzenie zakończenia procesu zostanie wygenerowane dla zakończenia 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 Pobierz plik Sysmon(4,6 MB)

Działa w:

  • Klient: Windows 10 lub nowszy.
  • Serwer: System Windows Server 2016 lub nowszy.