We wtorek Microsoft wypuścił kolejną wersję programu Sysmon (15.0). Oferuje ona dwie nowe funkcje – utwardzanie programu poprzez przekształcenie go w chroniony proces oraz możliwość wykrywania, kiedy w monitorowanym systemie tworzone są pliki wykonywalne. Poniżej opisujemy obie nowości i wyniki naszych testów, a także pokazujemy zastosowanie drugiej z nowych funkcji w Threat Huntingu.
Do czego służy darmowa aplikacja Microsoft Sysmon, nie musimy tłumaczyć, bo z pewnością każdy, kto czyta Kapitana, wie. Dla niezaznajomionych czytelników zamieszczamy link do naszych artykułów na ten temat.
Warto wiedzieć, że domyślnie Sysmon monitoruje podstawowe zdarzenia, takie jak tworzenie nowych procesów i kończenie procesów. Jednak jego prawdziwa moc tkwi w zaawansowanych ustawieniach definiowanych za pomocą plików konfiguracyjnych, które pozwalają na skonfigurowanie i tym samym monitorowanie różnych aktywności takich jak usuwanie plików, monitorowanie zapytań DNS, zmian w schowku Windows oraz wykrywanie i blokowanie kasowania plików.
Event ID 29 – FileExecutableDetected
FileExecutableDetected opiera się na sterownikach minifiltra do wykrywania nowych plików zapisywanych na dysku. Zasadniczo jest zbliżony w działaniu do odpowiednika EventId 27 FileBlockExecutable. Podobnie jak EventId 23 (FileDelete) i 26 (FileDeleteDetected). Wraz z nowym wydaniem Sysmon został zaktualizowany jego schemat konfiguracyjny do wersji 4.90. Otrzymał on definicję nowego typu zdarzenia „FileExecutableDetected”, zaś jego wygenerowany wpis w logu dostał identyfikator o numerze ID 29.
Zadaniem definicji reguły „FileExecutableDetected” w pliku konfiguracyjnym jest wykrywanie tworzenia plików wykonywalnych na monitorowanym urządzeniu. Ktoś mógłby w tym momencie skomentować: „Ale przecież Sysmon może wykrywać tworzenie plików w zdarzeniu FileCreated (ID 11). Po co tworzyć nowy typ zdarzenia?”.
Różnica pomiędzy tymi dwoma typami zdarzeń jest diametralna. Przede wszystkim zdarzenie „FileCreated” stanowi mniejszą wartość dla wykrywania plików wykonywalnych, ponieważ brakuje mu na przykład skrótów (sum kontrolnych), które zapewniają szerszy kontekst. W zdarzeniu „FileExecutableDetected” program potrafi rozróżniać zawartość pliku i sprawdza, czy jest to faktycznie plik wykonywalny. W Threat Huntingu to zdecydowanie duża korzyść.
Jak skonfigurować monitorowanie „FileExecutableDetected” w Sysmon 15?
W celu skorzystania z nowej funkcjonalności należy zaktualizować szablon konfiguracyjny Sysmon o poniższe wpisy oraz zbudować filtry na katalogi, które chcemy monitorować.
Na przykład jeśli chcielibyśmy monitorować tworzenie wszystkich plików wykonywalnych w katalogu „C:\Temp”, musielibyśmy skonfigurować taki oto szablon:
<Sysmon schemaversion="4.90">
<!-- Capture all hashes -->
<HashAlgorithms>MD5,SHA256</HashAlgorithms>
<EventFiltering>
<!-- Log executable file creations -->
<FileExecutableDetected onmatch="include">
<TargetFilename condition="begin with">C:\Temp\</TargetFilename>
</FileExecutableDetected>
</EventFiltering>
</Sysmon>
Tak utworzony plik możemy zapisać pod nazwą „sysmon_KapitanHack.conf”.
Aktualizację konfiguracji Sysmon (oczywiście po jego uprzednim zainstalowaniu) wykonamy poleceniem:
sysmon -i sysmon_KapitanHack.conf
Jeśli wszystko pomyślnie się zaktualizuje, możemy przeprowadzić test utworzenia pliku wykonywalnego „Kapitanhack.exe” w katalogu „C:\Temp”.
Poniżej prezentujemy zdarzenie wygenerowane w logu Sysmon (w dzienniku zdarzeń Applications and Services Logs/Microsoft/Windows/Sysmon/Operational):
Zastosowanie nowego Sysmon w Threat Huntingu
W większości przypadków cyberprzestępcy nie pobierają plików wykonywalnych za pomocą przeglądarki, ale jeśli już tak się stanie i będą one zapisywane na dysku, wówczas zostaną zarejestrowane przez Sysmon. Przykładem zastosowania może być monitorowanie podatnych wersji sterowników, które atakujący będą chcieli podmienić na komputerze.
Innym doskonałym przykładem zastosowania tego zdarzenia jest monitorowanie lokalizacji, w których użytkownik ma uprawnienia do zapisu. Ponieważ w systemie Windows istnieje wystarczająca liczba tych ścieżek, nowe zdarzenie sysmon zapewni dużą wartość, w zależności od konfiguracji i obsługi Twojej organizacji.
W tym przypadku interesować nas może zapisywanie przez użytkownika plików pod kątem potencjalnych ładunków pobieranych przez malware, przemycanych w formacie HTML lub w inny sposób upuszczanych i zapisywanych na dysku.
Ochrona procesu Sysmon przed złośliwym działaniem z zewnątrz
Druga nowość to przekształcenie przez Microsoft pliku wykonywalnego Sysmon.exe w chroniony proces, aby zapobiec wstrzykiwaniu złośliwego kodu. Jest to dobra zmiana producenta, ponieważ program powszechnie używany jest do wykrywania złośliwych zachowań, manipulowania oprogramowaniem, a jego wyłączanie leży w najlepszym interesie cyberprzestępców.
Po uruchomieniu usługi jako chronionej, system Windows używa integralności kodu, aby umożliwić ładowanie tylko zaufanego kodu. System chroni również ten proces przed wstrzyknięciem kodu i innymi atakami ze strony procesów administracyjnych. Ochronę procesu Sysmon możemy sprawdzić, uruchamiając eksplorator procesów (Process Explorer) na Windows:
Sysmon działa teraz jako PPL (Protected Process Lite), co znacznie utrudnia manipulowanie nim.
Podsumowanie
Oprócz nowego wydania Sysmon pojawiły się także nowe wersje narzędzi Autoruns (v14.1) oraz Process Monitor (v3.95).
Cieszymy się, że Microsoft stale rozwija oprogramowanie Sysmon. Stanowi ono z pewnością ciekawy element i daje możliwość budowania coraz bardziej zaawansowanych systemów monitorowania dla firm, które chcą lepiej chronić systemy operacyjne Windows, lecz nie są w stanie ponosić dużych kosztów utrzymania takiego środowiska. Należy pamiętać, że wdrażając w organizacji to oprogramowanie, musimy mieć świadomość, iż nie jest to zaawansowany system EDR/XDR, lecz jedynie wzbogacenie audytu Microsoft. Dla Threat Hunterów może stanowić miejsce do budowania podstawowego wykrywania oraz szukania wszelkich anomalii.