Udostępnij za pośrednictwem


Sysmon v15.15

Według Mark Russinovich i Thomas Garnier

Opublikowano: 23 lipca 2024 r.

PobierzPobierz 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

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:

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/Operationalsystemie , 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 UtcTimei 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 100wiersza 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>

PobierzPobierz plik Sysmon (4,6 MB)

Działa w:

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