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

DarkSword – cichy zabójca iPhone’ów. Nowy exploit, który przejmuje kontrolę nad urządzeniem w kilka sekund

DarkSword – cichy zabójca iPhone’ów. Nowy exploit, który przejmuje kontrolę nad urządzeniem w kilka sekund

Powstał nowy, zaawansowany zestaw exploitów wymierzony w użytkowników iPhone’ów. Narzędzie o nazwie DarkSword pokazuje, że nawet platformy uznawane za jedne z najbezpieczniejszych mogą stać się celem...
Uwaga! Nowa aktualizacja Chrome usuwa aż osiem poważnych podatności!

Uwaga! Nowa aktualizacja Chrome usuwa aż osiem poważnych podatności!

W poniedziałek Google ogłosiło nową aktualizację Chrome 146, usuwającą osiem poważnych podatności związanych z bezpieczeństwem pamięci. Na pierwszym miejscu znalazł się CVE-2026-4673 – błąd typu h...
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...
Czym jest passphrase i dlaczego to lepsze rozwiązanie niż tradycyjne hasło

Czym jest passphrase i dlaczego to lepsze rozwiązanie niż tradycyjne hasło

Passphrase to sekwencja słów, zwykle dłuższa niż tradycyjne hasło, używana do uwierzytelniania lub zabezpieczania dostępu do systemu komputerowego, konta internetowego czy innego zasobu cyfrowego. Najczę...
Hakerska kronika policyjna

Hakerska kronika policyjna

W poniedziałek postanowiliśmy nie męczyć Cię, Drogi Czytelniku, kolejną porcją opowieści o podatnościach. Zamiast tego poświęcimy dzisiejszy post swego rodzaju hakerskiej kronice policyjnej. Sprzyjają...