Menu dostępności

Zabójca logów Microsoft – Phant0m

O sposobach ominięcia zabezpieczeń systemów Microsoft Windows, pisaliśmy wielokrotnie. W tym o możliwością wyłączenia zapisywania aktywności w Dzienniku Zdarzeń. Na przykład modyfikując jeden wpis w rejestrze możemy wyłączyć dostęp do logów generowanych przez system w Dzienniku Zdarzeń (ang. Microsoft Event Log). Tym razem opiszemy narzędzie o nazwie Phant0m umożliwiające blokadę tworzenia takich logów w systemie.


Phant0m

Phant0m to narzędzie/biblioteka dll stworzona przez Halil Dalabasmaz’a. Celuje w usługę Dziennika zdarzeń (ang. Event Log). Po uruchomieniu znajduje proces odpowiedzialny za działanie usługi, wykrywa i „zabija” w systemie wszystkie jego wątki. W konsekwencji Dziennik zdarzeń wydaje się działać (ponieważ Phant0m nie ubija jego procesu), ale w rzeczywistości nie działa (ponieważ Phant0m ubił jedynie wątki), a system nie gromadzi dzienników zdarzeń. Stanowi to zagrożenie dla bezpieczeństwa, ponieważ z logów generowanych przez system Windows korzysta do analizy i monitorowania wiele rozwiązań do bezpieczeństwa informatycznego w tym rozwiązania klasy SIEM.


Jak to działa?

Przed opisaniem narzędzia Phant0m warto wspomnieć kilka słów o procesie Svchost. Svchost w systemie Windows jest niezbędny przy wdrażaniu tak zwanych procesów usług wspólnych, w których wiele serwisów może współdzielić proces w celu zmniejszenia zużycia zasobów. Grupowanie wielu usług w jeden proces oszczędza zasoby obliczeniowe, a ta uwaga była szczególnie ważna dla projektantów NT, ponieważ tworzenie procesów Windows zajmuje więcej czasu i zużywa więcej pamięci niż w innych systemach operacyjnych, m.in. w rodzinie Unix’ów. Oznacza to w skrócie, że w systemach operacyjnych Windows, svchost.exe zarządza usługami, a usługi faktycznie działają pod svchost.exe jako wątki.

Phant0m używa dwóch różnych opcji do wykrywania identyfikatora procesu usługi dziennika zdarzeń. Pierwszym jest wykrywanie za pomocą SCM (Service Control Manager), a drugim jest wykrywanie za pośrednictwem WMI (Windows Management Instrumentation).

Zasadza działania narzędzia lub biblioteki Phant0m

To, za pomocą, której metody Phant0m ma wykrywać identyfikator procesu usługi Dziennik zdarzeń, zależy od ustawień, które skonfigurujemy przed kompilacją narzędzia w następujących wierszach pliku main.cpp.

// Sekcja konfiguracji technik detekcji PID.

#define PID_FROM_SCM 1 // Jeśli ustawisz go na 1, PID usługi Dziennika zdarzeń jest uzyskiwany z Menedżera usług.

#define PID_FROM_WMI 0 // Jeśli ustawisz go na 1, PID usługi Dziennika zdarzeń jest uzyskiwany z WMI.

Na przykład, jeśli chcemy, aby identyfikator procesu był wykrywany przez SCM, powinniśmy go edytować w następujący sposób. (Nie ustawiaj wszystkich wartości jednocześnie, ustaw tylko jedną technikę, którą chcesz.)

// Sekcja wykrywania TID i konfiguracji technik zabijania.

#define KILL_WITH_T1 1 //Jeśli ustawisz ją na 1, zostanie użyta Technika-1.

#define KILL_WITH_T2 0 // Jeśli ustawisz ją na 1, zostanie użyta Technika-2.


Opis pierwszej techniki detekcji PID

Gdy każda usługa jest zarejestrowana na komputerze z systemem Windows Vista lub nowszym, Menedżer sterowania usługami (SCM) przypisuje do usługi unikalny znacznik numeryczny (w kolejności rosnącej). Następnie, w czasie tworzenia usługi, tag jest przypisywany do TEB głównego wątku usługi. Ten znacznik będzie następnie propagowany do każdego wątku utworzonego przez główny wątek usługi. Na przykład, jeśli wątek usługi Foo tworzy wątek roboczy RPC (uwaga: wątki robocze RPC nie używają mechanizmu puli wątków więcej w innych artykułach), ten wątek będzie miał znacznik serwisowy usługi Foo.

Tak więc w tej technice Phant0m wykryje wątki usługi Event Log za pomocą interfejsu API NtQueryInformationThread, aby uzyskać adres TEB wątku i odczytać SubProcessTag z TEB. Następnie zabija wątki związane z usługą Dziennika zdarzeń.


Opis drugiej techniki detekcji PID

W tej technice Phant0m wykrywa nazwy bibliotek DLL powiązanych z wątkami. Usługa dziennika zdarzeń systemu Windows używa pliku wevtsvc.dll. Pełna ścieżka to %WinDir%\System32\wevtsvc.dll. Jeśli wątek używa tej biblioteki DLL, jest to wątek usługi dziennika zdarzeń systemu Windows, a następnie Phant0m zabija wątek.


Uruchomienie Phant0m

Phant0m występuje jako samodzielny program EXE oraz jako bibloteka (Reflective DLL). Źródła dostępne są Visual C++. UWAGA: Projekt obsługuje tylko architekturę x64.

W celu kompilacji narzędzia należy użyć Microsoft Visual Studio i zmienić w ustawieniach pliku „main.cpp” technikę wykrywania i zabijania procesów. Następnie kompilujemy narzędzie do EXE lub DLL

Popularne

Alarm dla administratorów i działów bezpieczeństwa – krytyczna luka CVE-2025-59287 w Windows Server Update Services wykorzystywana przez cyberprzestępców! Zabezpiecz się, zanim Twoja infrastruktura padnie ofiarą ataku

Alarm dla administratorów i działów bezpieczeństwa – krytyczna luka CVE-2025-59287 w Windows Server Update Services wykorzystywana przez cyberprzestępców! Zabezpiecz się, zanim Twoja infrastruktura padnie ofiarą ataku

Pojawiła się groźna luka, oznaczona jako CVE-2025-59287, pozwalająca atakującym na zdalne wykonanie kodu w systemach z rolą Windows Server Update Services („WSUS”). Co gorsza, został już udostępniony publiczny ex...
Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jeśli masz odrobinę szczęścia lub „odpowiednie umiejętności” i potrafisz zdobyć lokalne uprawnienia administracyjne na Twoim komputerze w firmie lub zaliczasz się do grona tych szczęściarzy, którzy pracuj...
Nowo odkryte podatności w ChatGPT pozwalają przekonać chatbota do ujawnienia wrażliwych danych

Nowo odkryte podatności w ChatGPT pozwalają przekonać chatbota do ujawnienia wrażliwych danych

Najnowsze badania firmy Tenable ujawniają zestaw co najmniej siedmiu poważnych podatności w modelach AI GPT‑4o i GPT‑5, wykorzystywanych przez ChatGPT, które umożliwiają złośliwym podmiotom przejęcie k...
Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...
Manipulacja polityką audytu w Windows jako pierwszy krok ataku

Manipulacja polityką audytu w Windows jako pierwszy krok ataku

W systemach Windows narzędzie Auditpol.exe służy do wyświetlania i konfigurowania polityki audytu – czyli kontroli, które akcje, takie jak logowanie, użycie uprawnień, dostęp do obiektów czy zmiany pol...