Czym jest RootkitRevealer: jak działa, jak go używać i jakie są oznaki rootkitów

Ostatnia aktualizacja: 22 Wrzesień 2025
  • RootkitRevealer wykrywa rozbieżności między interfejsami API systemu Windows a surowymi danymi, umożliwiając wykrycie ukrytych problemów.
  • Interpretuje wyniki: typy rozbieżności metadanych NTFS, rejestru i systemu plików.
  • Użyj opcji -a -c -m -r i zdalnego wykonywania z PsExec. Zapewni to minimalną liczbę fałszywych alarmów, gdy system jest bezczynny.
  • Zapobieganie i reagowanie: Bezpieczny rozruch/TPM, skanowanie offline, narzędzia anty-rootkit i kontrolowane przywracanie.

Detektor rootkitów w systemie Windows

RootkitRevealer to jedno z tych legendarnych narzędzi, które powinien znać każdy profesjonalista korzystający z systemu Windows. Stworzył je zespół Sysinternals pod kierownictwem Marka Russinovicha i chociaż powstało wiele lat temu, nadal stanowi punkt odniesienia dla osób, które chcą zrozumieć, w jaki sposób wykrywane są rootkity. rozbieżności spowodowane przez rootkity pomiędzy tym, co wyświetla system, a tym, co faktycznie znajduje się na dysku.

W przeciwieństwie do innych skanerów, nie szuka on sygnatur ani wzorców: porównuje ogólny widok interfejsu API systemu Windows z surowym, niskopoziomowym odczytem dysku i rejestru. Ten pozornie prosty pomysł ujawnia potencjał złośliwego oprogramowania do prób wykorzystania luk w zabezpieczeniach systemu. ukryj pliki, klucze lub wartości oszukiwanie na ścieżce wywołań systemowych.

Czym jest RootkitRevealer i na jakich systemach działa?

Jest to zaawansowane narzędzie do wykrywania śladów rootkitów zarówno w tryb użytkownika jak w trybie jądraZostał stworzony dla systemów Windows XP i Windows Server 2003 (32-bit) i jest powszechnie określany jako darmowy, w języku angielskim i o rozmiarze około 231 KB; wiele ofert wskazywało również, że w tamtym czasie był zgodny z systemami Windows NT/2000/XP/Vista.

Jego czysto wiersz poleceń został ostatecznie usunięty, ponieważ niektórzy twórcy złośliwego oprogramowania zaczęli monitorować nazwę pliku wykonywalnego. Aby temu zapobiec, program uruchamia się jako usługa z losowo nazwanej kopii samego siebie, co utrudnia wykrycie go po nazwie i utrudnia zapewnienie 100% interfejs konsoli.

Czym jest rootkit? Kluczowe pojęcia

Termin „rootkit” odnosi się do technik i mechanizmów, które umożliwiają infekcjom złośliwym oprogramowaniem (wirusami, trojanami, programami szpiegującymi itp.) ukryj przed użytkownikiem i narzędziami bezpieczeństwaIstnieje kilka rodzin: tryby trwałe (przetrwające ponowne uruchomienie), rezydentne w pamięci (znikające po ponownym uruchomieniu), tryb użytkownika i tryb jądra, a także inne współczesne warianty.

Rootkit w trybie użytkownika może przechwytywać funkcje takie jak FindFirstFile/FindNextFile lub natywne moduły wyliczeniowe systemu, aby uzyskać wpisy, które mogłyby ujawnić pliki, procesy lub zmodyfikowane klucze rejestru. Dlatego Eksplorator, Wiersz poleceń i Edytory rejestru nie widzą, co się tam właściwie znajduje.

Rootkity działające w trybie jądra idą dalej: oprócz przechwytywania natywnego interfejsu API mogą bezpośrednio manipulować strukturami jądra, na przykład usuwając swój proces z listy aktywnych procesów, aby nie pojawia się w Menedżerze zadań ani Eksploratorze procesów nawet jeśli działa.

Istnieją bootkity hybrydowe (częściowo oparte na użytkowniku, a częściowo na jądrze), firmware'owe (BIOS/UEFI i inne komponenty), bootkity (MBR/UEFI), wirtualne (umieszczające prawdziwy system operacyjny wewnątrz maszyny wirtualnej) oraz bootkity pamięciowe (nietrwałe). Te ostatnie bywają szczególnie trudne do uchwycenia, podczas gdy firmware'owe i bootkity są zachowywane nawet po ponownej instalacji systemu operacyjnego. system operacyjny od podstaw.

Jak działa RootkitRevealer

RKR zestawia ze sobą dwie migawki: widok API systemu Windows (wysoki poziom) oraz surowy odczyt woluminu i gałęzi rejestru na niskim poziomie. Jeśli rootkit manipuluje wywołaniami wysokiego poziomu, aby coś ukryć, manipulacja ta zostaje ujawniona, ponieważ to, co znajduje się na dysku i w rejestrze, nie zgadza się z tym, co wskazuje API, generując diagnozowalne rozbieżności.

Teoretycznie rootkit mógłby również próbować ukryć się przed RootkitRevealer, przechwytując jego surowe odczyty i przepisując dane „w locie”. Aby to zrobić, potrzebowałby dogłębnej znajomości formatów NTFS, FAT i rejestru oraz możliwości modyfikacji struktur bez powodowania niespójności lub oczywistych skutków ubocznych. duża złożoność techniczna co rzadko obserwowano. Mimo to nie ma niezawodnego „uniwersalnego detektora”: nawet rozruch z zewnętrznego środowiska (na przykład przy użyciu najlepsze dystrybucje Linuksa) może zostać sabotowany przez specjalnie zaprojektowane urządzenia wyrafinowany i wytrwałyW praktyce najskuteczniejszym podejściem jest połączenie analizy online z weryfikacją offline w zaufanych środowiskach.

  Bezpieczeństwo kwantowe: wyzwanie bezpieczeństwa w erze komputerów kwantowych

Wymagania, dobre praktyki i realizacja

Aby uruchomić, konto wymaga uprawnień „Tworzenie kopii zapasowych plików i katalogów”, „Ładowanie sterowników” i „Konserwacja woluminów” (w systemie Windows XP i nowszych administratorzy mają je domyślnie). Aby zminimalizować liczbę fałszywych alarmów, zaleca się uruchomienie skanowania z system w trybie gotowości bez otwartych aplikacji.

Aby uruchomić skanowanie ręcznie, wystarczy nacisnąć przycisk skanowania. Podczas procesu program raportuje postęp i wyświetla wszelkie rozbieżności. Dostępne są dwie istotne opcje: „Ukryj pliki przed metadanymi NTFS” (domyślnie aktywna, aby nie wyświetlać standardowych metadanych ukrytych przez NTFS) oraz „Dziennik skanowania” (domyślnie aktywna; odznaczenie tej opcji powoduje pominięcie skanowania). Rejestr systemu Windows).

W celu automatyzacji obsługuje parametry umożliwiające uruchamianie, logowanie i wychodzenie bez interwencji: rootkitrevealer outputfile]. Opcja -a rozpoczyna się i kończy automatycznie; -c wyświetl wynik w formacie CSV; -m wyświetla metadane NTFS; i -r wyłącza skanowanie rejestru. Plik wyjściowy musi znajdować się w dostępny wolumin lokalny.

Zdalne wykonywanie jest możliwe dzięki PsExec. Na przykład: psexec \\remote -c rootkitrevealer.exe -a c:\windows\system32\rootkit.log. Z -cpostęp nie jest wyświetlany, a rozbieżności są drukowane w pliku CSV, co ułatwia importowanie w bazach danych lub skryptach.

Interpretacja wyników i typowe rozbieżności

Rozbieżności typu „ukryte przed API systemu Windows” występują najczęściej, gdy rootkit ukrywa wpisy. Jeśli nie włączono przeglądania metadanych NTFS, rozbieżności będą widoczne, ponieważ NTFS ukrywa swoje pliki wewnętrzne przed API. $MFT lub $SecureNiektóre programy antywirusowe zapisują dane w strumieniach alternatywnych i ukrywają je, co powoduje podobne błędy.

Poniżej przedstawiono niektóre standardowe metadane zdefiniowane w systemie NTFS (Windows Server 2003): $AttrDef, $BadClus, $BadClus:$Bad, $BitMap, $Boot, $LogFile, $Mft, $MftMirr, $Secure, $UpCase, $Volume, $Extend, $Extend\$Reparse, $Extend\$ObjId, $Extend\$UsnJrnl, $Extend\$UsnJrnl:$Max, $Extend\$Quota.

RKR koreluje trzy źródła w systemie plików: API systemu Windows, główną tabelę plików (MFT) oraz indeksy katalogów na dysku. Mogą pojawić się kombinacje takie jak „Widoczne w API, ale nie w indeksie ani MFT”, „Widoczne w MFT, ale nie w API” itd., zwłaszcza jeśli plik zostanie utworzony lub usunięty podczas skanowania i wygeneruje okno niespójności czasowej.

Przykład tworzenia podczas skanowania: C:\newfile.txt, o rozmiarze 8 bajtów, z komunikatem „Widoczne w API, ale nie w indeksie ani MFT”. Te przypadki niekoniecznie wskazują na rootkity, ale na zmiany współbieżne podczas badania.

Jeśli widzisz komunikat „Dostęp zabroniony”, coś jest nie tak: RootkitRevealer używa mechanizmów umożliwiających dostęp do dowolnego pliku, katalogu lub klucza, więc ten komunikat nie powinien pojawić się w normalnych warunkach. normalne wykonanie.

W Rejestrze występuje kilka interesujących rozbieżności: „Długość interfejsu API systemu Windows jest niezgodna z surowymi danymi” (możliwa próba ukrycia rzeczywistej zawartości), „Niezgodność typu” (np. reklamowany jest typ REG_SZ, ale jest to REG_BINARY), „Nazwa klucza zawiera osadzone wartości NULL” (znana technika wykorzystująca różnicę między ciągami zakończonymi znakiem NULL a ciągami z liczbą). W tym ostatnim przypadku narzędzie RegDelNull z Sysinternals pomaga czyścić klucze z osadzonymi wartościami NULL.

„Niezgodność danych” może wystąpić, jeśli wartość ulegnie zmianie podczas skanowania (np. w przypadku problemów z dostępnością serwera SQL Server, takich jak HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\RECOVERYMANAGER\MSSQLServer\uptime_time_utc). Musisz sprawdzić, czy wartość należy do legalne komponenty które aktualizują dane w czasie rzeczywistym.

Przykładem ilustrującym ten problem jest rootkit HackerDefender: jego usługi i sterowniki były niewidoczne dla interfejsu API systemu Windows, ale były obecne w surowym odczycie gałęzi rejestru; to samo dotyczyło jego plików, które nie były bezpośrednio skanowane przez system plików. tak, wykryto na dysku.

Typowe błędy i problemy z rootkitrevealer.exe w środowiskach kryminalistycznych

Niektóre zestawy do analizy kryminalistycznej (np. WinTaylor) zawierają listę typowych błędów związanych z rootkitrevealer.exe, takie jak: „nieprawidłowa aplikacja Win32”, „nie znaleziono”, „błąd aplikacji” lub „problem z uruchomieniem”. Komunikaty te pojawiają się zazwyczaj podczas instalacji, uruchamiania lub zamykania systemu albo z powodu konfliktów z innymi aplikacjami. aplikacje rezydentów.

Najczęstsze przyczyny to brakujące lub uszkodzone pliki, nieprawidłowe wpisy w rejestrze, infekcje złośliwym oprogramowaniem, niekompletne odinstalowania lub konflikty z innym oprogramowaniem. Źródłem może być uszkodzony wpis w rejestrze, przypadkowe usunięcie przez inne narzędzie, nieudane pobieranie lub… poprzednia infekcja co zmienia kod binarny.

  Kompletny przewodnik po aktywacji licencji systemu Windows 11 i używaniu kluczy uniwersalnych

Jako ciekawostkę dotyczącą inwentaryzacji, niektóre listy dokumentują plik wykonywalny o przybliżonym rozmiarze 334 720 bajtów i skróty takie jak SHA‑1 i MD5 (np. SHA‑1 d39e8a3fe92adc7d7fbc5293edf8a7b965484a59, MD5 ee738fe9bcdd605821002cec8c7206db) i CRC32 98b1af0b; odnoszą się również do wersja 2.1 w aplikacji kontenerowej oraz w kategorii „Narzędzia kryminalistyczne/System operacyjny”.

Metody wykrywania i reagowania na rootkity

Wykrycie rootkita nie zawsze jest trywialne. Oprócz konkretnych narzędzi, w celu identyfikacji rootkita stosuje się również techniki takie jak analiza sygnatur znanych zagrożeń, zimne porównywanie struktur, przeszukiwanie pamięci pod kątem haków i modyfikacji oraz przeglądanie zrzutów pamięci po awariach. podejrzane modułyCzęsto zdarza się również polegać na systemy prewencyjne (IPS) w celu ochrony sieci i ograniczenia wektorów infekcji.

Wśród specjalistycznych narzędzi znajdują się GMER (ukryte procesy i modyfikacje jądra), Kaspersky TDSSKiller (szczególnie bootkity i rootkity jądra), Malwarebytes Anti-Rootkit, Microsoft Defender Offline (skanowanie przed uruchomieniem systemu Windows) oraz RogueKiller. Można je uruchomić z dysku flash USB. niezawodny but lub w trybie awaryjnym zmniejsza powierzchnię unikania.

W przypadku zagrożeń rozruchu lub oprogramowania sprzętowego zaleca się użycie nośnika ratunkowego, takiego jak Kaspersky Rescue Disk, i przywrócenie MBR za pomocą bootrec /fixmbr w razie potrzeby i w poważnych przypadkach zaktualizuj/przeprogramuj BIOS/UEFI do czystej wersji od producenta, aby wyeliminować trwałość niskiego poziomu.

Monitorowanie za pomocą Sysinternals to złoto: Monitor procesów (ProcMon) do sprawdzania aktywności procesów i plików, Autoruns do sprawdzania, co ładuje się podczas uruchamiania i RootkitRevealer w przypadku rozbieżności wysokiego/niskiego poziomu. Platformy SIEM, takie jak Wazuh a telemetria w środowiskach korporacyjnych może wykryć nieoczekiwane zachowania sieci lub zmiany integralności.

Jeśli infekcja zostanie potwierdzona, rozsądna kolejność działań jest następująca: odłącz komputer od sieci, przeskanuj środowisko zewnętrzne, oceń integralność rozruchu/oprogramowania sprzętowego, a jeśli nie ma gwarancji, utwórz kopię zapasową danych, całkowicie wyczyść dysk (narzędziami takimi jak DBAN) i zainstaluj ponownie ze zweryfikowanego nośnika, umożliwiając później podjęcie środków, takich jak Bezpieczny rozruch i TPM.

Zapobieganie: rozsądna ochrona przed rootkitami

Zapobieganie jest kluczowe. Aktualizuj system, instaluj poprawki oprogramowania innych firm, unikaj plików wykonywalnych z wątpliwych źródeł i nie używaj cracków ani keygenów: to ulubione narzędzie do dystrybucji pakietowej. kroplomierze i ładowarki rootkitów.

Wyłącza automatyczne uruchamianie USB, skanuje dyski zewnętrzne przed ich otwarciem, a w środowiskach biznesowych ogranicza lub blokuje porty i wymusza Zapory kiedy ma to sens. Działa z kontami użytkowników bez uprawnień, stosuje zasadę najmniejszych uprawnień i wymaga uprawnień administratora do wprowadzania krytycznych zmian, zmniejszając prawdopodobieństwo ciche wspinaczki.

W przypadku zgodnego sprzętu włącz Bezpieczne Boot i TPM z UEFI do ochrony łańcucha rozruchowego i zabezpieczenia klucza. Regularnie twórz kopie zapasowe offline lub niezmienne i korzystaj z migawek/punktów przywracania, aby skrócić czas odzyskiwania w razie awarii. udaje mu się wślizgnąć.

Jak instaluje się rootkity: droppery, loadery i wektory

Atakujący często rozpowszechniają rootkity jako zagrożenia hybrydowe: „dropper”, który dostarcza pakiet, i „loader”, który wykorzystuje luki w zabezpieczeniach (takie jak przepełnienia bufora), aby umieścić implant w niewłaściwym miejscu. Jest to zamaskowane jako e-mail phishingowy, fałszywe instalatory lub oszukańcze aktualizacje.

Do klasycznych wektorów ataku zalicza się przejmowanie kontroli nad klientami komunikatorów w celu rozprzestrzeniania złośliwych linków, instalowanie oprogramowania trojańskiego na portalach pobierania, wykorzystywanie innego złośliwego oprogramowania jako nośnika oraz osadzanie w dokumentach o bogatej zawartości (np. niektórych plikach PDF), których otwarcie powoduje uruchomienie ataku. kroplomierz automatycznie.

Oznaki ataku i wskazówki dotyczące wykrycia

Celem rootkita jest uczynienie go „niezauważalnym”. Można jednak zaobserwować zmiany konfiguracji bez ingerencji użytkownika, nietypowe przerwy w sieci spowodowane ukrytym ruchem, nieznane procesy, usługi, których nie można wyłączyć, oraz narzędzia bezpieczeństwa. wyłączony bez wyjaśnienia.

Kolejną wskazówką są sprzeczne informacje między narzędziami, które wyświetlają pliki, procesy lub klucze rejestru według różnych ścieżek (API kontra odczyt surowych danych). To właśnie tutaj sprawdzają się podejścia takie jak RootkitRevealer: ten sam obiekt, który „jest” na dysku, ale „nie jest” dla API. wskazuje na manipulację.

  TrickMo: bankowe złośliwe oprogramowanie zagrażające bezpieczeństwu Twoich danych mobilnych

Główne typy rootkitów

Tryb użytkownika: Działają na poziomie procesów i bibliotek. Są bardziej stabilne i stosunkowo łatwiejsze do wykrycia, choć mogą ukrywać pliki, procesy i klucze. Klasyczny przykład historyczny: HackerDefender.

Tryb jądra: Żyją w rdzeniu, mając całkowitą kontrolę i doskonałą zdolność do ukrywania się; trudno je wykorzenić i mają tendencję do powodowania niestabilności, jeśli są źle zaprojektowane. Przykłady rodzin: TDL/Alureon w jego ewolucji.

Hybrydy: Łączą one komponenty użytkownika i jądra, aby zapewnić równowagę między ukryciem a stabilnością, co czyni je popularnymi wśród atakujących ze względu na ich praktyczna wszechstronność.

Oprogramowanie układowe/Bootkity: Infekują BIOS/UEFI lub sektor rozruchowy (MBR/UEFI), aby załadować się przed systemem operacyjnym. Technologie takie jak Secure Boot sprawiły, że wiele klasycznych bootkitów stało się przestarzałych, ale pojawiły się nowe. Implanty UEFI nowoczesny.

Wirtualne i pamięć: VMBR ładują hiperwizor pod systemem operacyjnym i wirtualizują go; hiperwizory pamięci znajdują się tylko w pamięci RAM i znikają po ponownym uruchomieniu, co jest bardzo przydatne operacje efemeryczne.

Przykłady i wyróżniona chronologia

W latach 90. XX wieku opracowano pierwsze rootkity dla systemu SunOS; w 1999 roku Greg Hoglund opisał NTRootkit (Windows, tryb jądra), a w 2003 roku HackerDefender (Windows 2000/XP, tryb użytkownika), co wywołało rywalizację z narzędziami takimi jak RootkitRevealer.

W 2004 roku w ramach tzw. „greckiego Watergate” wykorzystano rootkita do włamania się do ponad 100 telefonów w sieci GSM; w 2005 roku odkryto, że sony bmg do niektórych płyt CD dołączono rootkit zabezpieczający przed piractwem, co wywołało ogromne kontrowersje dotyczące bezpieczeństwa.

Od 2008 r. ewoluowały bootkity, takie jak TDL (od TDL-1 do TDL-4); w 2009 r. „Machiavelli” wykazał, że macOS (wówczas Mac OS X) również nie był odporny; w 2010 r. stuxnet wykorzystał komponenty rootkita do sabotażu irańskich systemów przemysłowych.

W 2012 roku pojawił się Płomień, ogromne modułowe złośliwe oprogramowanie; w 2018 r. LoJax Stał się pierwszym wykrytym na wolności rootkitem UEFI; w 2019 r. SCRAN połączone kradzieże danych uwierzytelniających i generowanie ukrytych przychodów za pomocą farm kliknięć opartych na przeglądarce zaangażowanych masowo.

Zasoby i polecane lektury

Badania Marka Russinovicha dotyczące sprawy Sony i jego artykuł „Unearthing Rootkits” w Windows IT Pro pomagają zrozumieć zjawisko i technikę stojącą za RKR; książka „Rootkits: Subverting the Windows Kernel” autorstwa Grega Hoglunda i Jamiego Butlera jest najbardziej kompletnym opracowaniem na ten temat. głębiej w temat.

Archiwum Phrack, „Sztuka badań i obrony przed wirusami komputerowymi” Petera Szora, „Malware: Fighting Malicious Code” Eda Skoudisa i Lenny’ego Zeltsera oraz seria Windows Internals (od czwartego wydania) to niezbędne materiały dla każdego, kto chce głębiej zagłębić się w architekturę i poważne środki zaradcze.

RootkitRevealer w ekosystemie Sysinternals

RKR współistnieje z innymi narzędziami Sysinternals przydatnymi do przeprowadzania dochodzeń: AccessChk i AccessEnum (uprawnienia efektywne), Autoruns (wszystko, co zaczyna się od systemu), Process Explorer (kto co otworzył i za pomocą jakiej biblioteki DLL), PsExec/PsTools (zdalne wykonywanie i administrowanie), PsLogList i PsLoggedOn (zdarzenia i sesje), Sigcheck (podpisy cyfrowe), SDelete (bezpieczne usuwanie), ShareEnum (zasoby współdzielone) i Sysmon (zaawansowana telemetria w dzienniku zdarzeń).

W historycznych repozytoriach często można znaleźć odniesienia do „Pobierz 1.71” oraz do „Uruchom teraz” w Sysinternals Live. Chociaż projekt jest stary, jego model mentalny – porównywanie wysokich i niskich wartości – pozostaje aktualny. klucz do polowania na rootkity.

RootkitRevealer jest przede wszystkim lekcją inżynierii defensywnej: jeśli coś manipuluje danymi zwracanymi przez API, należy zajrzeć pod spód i porównać to z tym, co faktycznie znajduje się na dysku i w rejestrze. Dzięki dobrym praktykom, odpowiednim narzędziom i weryfikacji offline (w stosownych przypadkach) możliwe jest odkrycie, co próbuje się ukryć tam, gdzie naszym zdaniem się znajduje. nikt nie będzie patrzył.

najlepsze dystrybucje Linuksa pod kątem bezpieczeństwa
Podobne artykuły:
Najlepsze dystrybucje Linuksa chroniące Twoje bezpieczeństwo i prywatność