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.
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 (zestaw wartości) identyfikuje utworzenie wartości wpisów rejestru. Zdarzenie rejestruje wartość zapisaną dla wartości rejestru typu DWORD i QWORD czy String.
Sysmon mapuje operacje zmiany nazwy klucza rejestru i wartości, rejestrując nową nazwę klucza lub wartości, która została zmieniona.
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.
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ą.
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.
PipeEvent (połaczenie z nazwanym potokiem) to zdarzenie rejestruje, gdy zostanie nawiązane połączenie do nazwanego potoku pomiędzy klientem a serwerem.
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.
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.
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.
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.
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.
Redaktorka Net Complex Blog