W tym artykule kontynuujemy analizę zdarzeń zbieranych przez narzędzie Sysmon. Ten wątek rozpoczęliśmy w poprzednim artykule, pt. Co to jest Microsoft Sentinel i jaką pełni rolę w monitorowaniu środowiska Windows.
Operacje tworzenia plików
Narzędzie Sysmon rejestruje operacje tworzenia plików po utworzeniu lub zastąpieniu istniejącego pliku. To zdarzenie jest przydatne w przypadku monitorowania lokalizacji automatycznego uruchamiania aplikacji wraz ze startem systemu, a także katalogi tymczasowe i katalog pobierania, które są typowymi miejscami, w których złośliwe oprogramowanie trafia podczas początkowego etapu infekcji. W filtrach można zaznaczyć dodatkowe lokalizacje – typowe dla konkretnych ataków. Ilość notowanych aktywności bez precyzyjnych filtrów może być znaczna.
![Operacje tworzenia plików Operacje tworzenia plików](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/001.png)
Zbieranie informacji o zmianach w rejestrze
RegistryEvent dotyczy tworzenia, modyfikowania i usuwania kluczy w rejestrze. Zbieranie informacji o zmianach w rejestrze może być przydatne do monitorowania kluczy rejestru zawierających informacje o lokalizacjach automatycznego uruchamiania lub określonych modyfikacji rejestru ze strony złośliwego oprogramowania. Podobnie jak w przypadku monitorowania zmian dotyczących plików sekcja ta może gromadzić bardzo wiele informacji, dlatego warto skupić się na ustawieniu precyzyjnych filtrów.
![RegistryEvent Rysunek 2 Przykład wpisu w logu Sysmon informujący o zmianie dokonanej w rejestrze systemowym](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/002.png)
RegistryEvent (zestaw wartości) identyfikuje utworzenie wartości wpisów rejestru. Zdarzenie rejestruje wartość zapisaną dla wartości rejestru typu DWORD i QWORD czy String.
![RegistryEvent (zestaw wartości) Rysunek 3 Zestawienie wpisu w event logu ze zmianą polegającą na dokonaniu wpisu nowej wartości do rejestru](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/003.png)
Sysmon mapuje operacje zmiany nazwy klucza rejestru i wartości, rejestrując nową nazwę klucza lub wartości, która została zmieniona.
![RegistryEvent (zmiana nazwy klucza i wartości) Rysunek 4 Zestawienie wpisu w event logu z przykładową zmianą nazwy klucza rejestru](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/004.png)
Skanowanie w celu poszukiwania nietypowych ADSów
Utworzenie alternatywnego ciągu danych (Alternative Data String) a także sumy kontrolnej takiego strumienia, który jest cechą systemu plików NTFS. Istnieją warianty złośliwego oprogramowania, które ukrywają w alternatywnych ciągach danych złośliwy kod. Współcześnie ADSy wykorzystuje się w postaci Zone.Identifier, tzw. “znacznika sieci Web”. Oznacza to, że w przypadku plików pobranych ze źródeł zdalnych przeglądarka umieszcza informacje, skąd zostały pobrane. Funkcja systemu operacyjnego SmartScreen blokuje przed uruchomieniem pliki pobrane z lokalizacji o wątpliwej reputacji. Skanowanie w poszukiwaniu nietypowych ADSów jest standardową procedurą w procesie analizy powłamaniowej. Natomiast Sysmon pozwala wykryć pojawienie się tego typu obiektów w systemie dyskowym od razu po ich utworzeniu.
![Skanowanie w celu poszukiwania nietypowych ADS Rysunek 5 Odnotowanie faktu dopisania ADS w systemie pliku wraz z sumą kontrolną oraz zawartością ADSu w zestawieniu ze zdarzeniem odnotowanym przy pobraniu faktury w formacie pliku PDF za pomocą przeglądarki Edge do katalogu Downloads w profilu użytkownika](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/006.png)
Rejestracja zmian w konfiguracji Sysmon
ServiceConfigurationChange to zdarzenie niekonfigurowalne. Rejestruje ono zmiany w konfiguracji Sysmon — na przykład podczas aktualizowania reguł filtrowania z podaniem ścieżki oraz sumy kontrolnej pliku z konfiguracją.
![ServiceConfigurationChange Rysunek 6 Rejestracja zmian w konfiguracji Sysmon](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/007.png)
Monitoring PipeEvents
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.
![Monitoring PipeEvents Rysunek 7 Informacji o utworzeniu nazwanego potoku](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/008.png)
PipeEvent (połaczenie z nazwanym potokiem) to zdarzenie rejestruje, gdy zostanie nawiązane połączenie do nazwanego potoku pomiędzy klientem a serwerem.
![PipeEvent (połaczenie z nazwanym potokiem) Rysunek 8 Odnotowane połączenie do nazwanego potoku](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/009.png)
Zastosowanie Sysmon w rejestrowaniu filtrów WMI
Po zarejestrowaniu filtru zdarzeń usługi WMI, czyli metody używanej przez złośliwe oprogramowanie do wykonania, to zdarzenie rejestruje wykorzystaną przestrzeń nazw usługi WMI, nazwę filtru i wyrażenie filtru. Atakujący – co prawda – opracowali szczególnie wyrafinowany sposób na utrwalanie złośliwego oprogramowania, podnosząc uprawnienia za pomocą filtrów zdarzeń WMI i użytkowników, aczkolwiek we współczesnych systemach Windows technika ta jest blokowana i trudno ją zasymulować.
Wykryto działanie WmiEvent (WmiEventConsumer) to zdarzenie rejestruje rejestrację użytkowników usługi WMI, rejestrowanie nazwy klienta, dziennika i miejsca docelowego. Jak w przypadku zdarzenia o ID 19 – współcześnie trudne do zasymulowania.
Działanie WmiEvent (WmiEventConsumerToFilter) zostaje wykryte, gdy użytkownik powiąże z filtrem, to zdarzenie w obszarze WMI rejestruje nazwę użytkownika i ścieżkę filtru.
Monitoring zapytań DNS
To zdarzenie generuje się, gdy proces wykonuje zapytanie DNS, niezależnie od tego, czy wynik zakończył się pomyślnie, czy nazwę bądź adres IP rozwiązano czy nie. Można wykryć w ten sposób aktywność złośliwego oprogramowania względem zapytań o rozwiązywanie nazwy stron o słabej reputacji – oczywiście po wcześniejszym uwzględnieniu listy takich stron w filtrach. Ten rodzaj rejestrowania daje też potencjał wykrywania ataków polegających na spoofowaniu niepodpisanych odpowiedzi DNS.
![22.DNSEvent zapytanie DNS Rysunek 10 Odnotowanie zdarzenia polegającego na odpytaniu o rozwiązanie nazwy usługi DNS](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/010.png)
Monitoring usuniętych plików
Zdarzenie FileDelete (plik usunięty zarchiwizowany) sygnalizuje, że plik ze śledzonej ścieżki usunięto. Ponadto w celu rejestrowania zdarzenia usunięty plik również zapisuje się w konfigurowanym katalogu Archiwum. Jeśli atakujący usunie pliki złośliwego oprogramowania, administratorzy nadal będą mieli do nich dostęp. W normalnych warunkach operacyjnych ten katalog może wzrosnąć do dużych rozmiarów, dlatego ważne jest jednak, aby odpowiednio skonfigurować reguły tego zdarzenia. Nie doprowadzi to do zapełnienia pamięci.
![FileDelete (plik usunięty zarchiwizowany) Rysunek 11 Ślad po usunięciu pliku z przeniesieniem do archiwum](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/011.png)
Rejestr nowych zawartości w schowku
Zdarzenie ClipboardChange generuje się po zmianie zawartości schowka systemowego. Tak jak w przypadku usuniętych plików, informacje o zmianach w schowku także zostają skopiowane do określonego katalogu archiwizacji. Monitorowanie danych przechowywanych w schowku może dostarczyć przydatnych informacji o tym, jak prowadzony był atak.
![ClipboardChange (nowa zawartość w schowku) Rysunek 12 Informacja o zmianie zawartości schowka systemowego wraz z programem, który dokonał zmiany, zawartością,](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/012.png)
Monitoring zmian obrazu procesu
Zdarzenie ProcessTampering (Zmiana obrazu procesu) generuje się podczas wykrywania technik ukrywania procesów poprzez podmianę ich obrazów. Obejmuje manipulowanie początkowym obrazem/procesem, aby był czymś innym niż proces, z którym go uruchomiono. To działanie dostosowane do ataków takich jak, m.in. opróżnianie procesów (process hollowing). Tak jak w przypadku poprzednich zdarzeń, ProcessTampering również jest zapisywane w archiwum i należy pamiętać, aby do przechowywania zdarzeń podchodzić racjonalnie, aby nie przeciążyć pamięci.
![ProcessTampering (Zmiana obrazu procesu) Rysunek 13 Zdarzenie dotyczące próby podmiany obrazu procesu cmd.exe](https://www.netcomplex.pl/blog/wp-content/uploads/2024/05/013.png)
Rejestracja operacji na plikach
- FileDeleteDetected (zarejestrowane usuwanie pliku) – To podobne zdarzenie jak w przypadku zdarzenia ID23, ale bez zapisywania usuniętych plików. Plik usunięto bez przenoszenia do archiwum.
- FileBlockExecutable – zdarzenie generowane, gdy system Sysmon wykrywa i blokuje tworzenie plików wykonywalnych.
- FileBlockShredding – Tzdarzenie generowane, gdy program Sysmon wykrywa i blokuje usuwanie plików z użyciem narzędzi, takich jak SDelete.
- FileExecutableDetected – To zdarzenie generowane, gdy program Sysmon wykryje utworzenie nowego pliku wykonywalnego (format PE).
Błąd programu Sysmon
To ostatnie zdarzenie z dostępnej puli – generowane tylko, gdy wystąpił błąd w Sysmonie. Może wystąpić, gdy system operacyjny jest w znacznym stopniu obciążony, przez co sam Sysmon może nie nadążyć z bieżącym zapisywaniem logów. Również gdy istnieje usterka w funkcjonowaniu rozwiązania (także zamierzona podczas ataku, choć Sysmon w ostatnich aktualizacjach uzbrojono w mechanizmy przeciwdziałające atakom), a nawet jeśli niektóre warunki integralności nie zostaną spełnione. Warto wychwytywać tego typu zdarzenia w systemach, bowiem również może to być wskaźnik ataku.
Podsumowanie najważniejszych cech Sysmon
Sysmon to niewątpliwie zaawansowane i kompleksowe narzędzie monitorujące i rejestrujące aktywności systemu. Dostarcza szczegółowych informacji o procesach, sieciach, sterownikach i innych kluczowych aspektach systemu operacyjnego. Do kluczowych cech należą:
- Elastyczność względem nowych/uaktualnianych także zdalnie konfiguracji: Sysmon automatycznie przeładowuje konfigurację, jeśli zmieniono ją w rejestrze. Taka zmiana odnotowuje się w logu Sysmona.
- Filtrowanie reguł: Sysmon umożliwia dynamiczne dołączanie lub wykluczanie określonych zdarzeń, a filtry zapisano przejrzyście w formacie xml. Dostosowanie filtrów pozwala na wyeliminowanie informacji bezużytecznych, a dodawanie takich, które stanowią wskaźnik na znane techniki i taktyki ataku zwłaszcza w korelacji między poszczególnym ciągiem odnotowanych zdarzeń.
- Generowanie zdarzeń od wczesnej fazy rozruchu: Sysmon generuje zdarzenia już od wczesnej fazy rozruchu. Pozwala to na przechwytywanie aktywności nawet zaawansowanego złośliwego oprogramowania działającego na poziomie jądra systemu operacyjnego.
Warto zauważyć, że Sysmon nie dostarcza analizy czy interpretacji wygenerowanych przez niego zdarzeń. To zadanie należy do zintegrowanego z nim systemu SIEM. Sysmon nie próbuje ukryć się przed atakującymi – jego obecność jest łatwo wykrywalna podczas fazy aktywnego rekonesansu.
![Zrzut ekranu 2024 03 25 o 12.44.44 (2)](https://www.netcomplex.pl/blog/wp-content/uploads/2024/03/Zrzut-ekranu-2024-03-25-o-12.44.44-2.png)
Redaktorka Net Complex Blog