Co je RootkitRevealer: Jak funguje, jak se používá a jaké jsou příznaky rootkitů

Poslední aktualizace: 22 září 2025
  • RootkitRevealer detekuje nesrovnalosti mezi rozhraními API systému Windows a nezpracovanými daty, aby odhalil skryté problémy.
  • Interpretuje výsledky: typy nesrovnalostí v metadatech NTFS, registru a souborovém systému.
  • Použijte s PsExec volby -a -c -m -r a vzdálené spuštění; vyžaduje minimální počet falešně pozitivních výsledků, když je systém nečinný.
  • Prevence a reakce: Secure Boot/TPM, offline skenování, nástroje proti rootkitům a řízené obnovení.

Detektor rootkitů ve Windows

RootkitRevealer je jeden z těch legendárních nástrojů, které by měl znát každý profesionál s Windows. Vytvořil ho tým Sysinternals s Markem Russinovichem v čele a ačkoli se objevil před lety, zůstává referenčním materiálem pro pochopení toho, jak detekovat nesrovnalosti způsobené rootkity mezi tím, co systém zobrazuje, a tím, co je skutečně na disku.

Na rozdíl od jiných skenerů nehledá signatury ani vzory: porovnává pohled na rozhraní API systému Windows na vysoké úrovni s nezpracovaným, nízkoúrovňovým čtením disku a registru. Tato zdánlivě jednoduchá myšlenka odhaluje, kdy se malware snaží skrýt soubory, klíče nebo hodnoty manipulací se systémovými voláními.

Co je RootkitRevealer a na jakých systémech funguje?

Jedná se o pokročilý nástroj pro detekci rootkitů v uživatelském i kernelovém režimu . Původně byl vyvinut pro Windows XP a Windows Server 2003 (32bitový) a je běžně uváděn jako bezplatný, v angličtině a o velikosti přibližně 231 KiB; mnoho inzerátů v té době také uvádělo jeho kompatibilitu s Windows NT/2000/XP/Vista.

Postupem času byla jeho čistě příkazově řádková verze odstraněna, protože někteří autoři malwaru začali sledovat název spustitelného souboru; aby se tomu zabránilo, program se spouští jako služba z náhodně pojmenované kopie sebe sama, což ztěžuje detekci podle názvu a komplikuje zajištění 100% konzolového rozhraní.

Co je rootkit? Klíčové pojmy

Termín rootkit označuje techniky a mechanismy, které umožňují malwaru (virům, trojským koním, spyware atd.) skrýt se před uživatelem a bezpečnostními nástroji . Rozlišuje se několik rodin: perzistentní (přežijí restart), rezidentní v paměti (mizí po restartu), uživatelský režim a režim jádra, mimo jiné moderní varianty.

Uživatelský rootkit může zachytit funkce jako FindFirstFile/FindNextFile nebo nativní enumerátory systému a filtrovat položky, které by odhalily jeho upravené soubory, procesy nebo klíče registru . To zabrání Průzkumníkovi, příkazovému řádku nebo editorům registru vidět, co skutečně existuje.

Rootkity v režimu jádra jdou ještě dál: kromě zachycení nativního API mohou přímo manipulovat se strukturami jádra, například odstraněním svého procesu ze seznamu aktivních procesů, aby se nezobrazoval ve Správci úloh nebo Průzkumníku procesů, i když je spuštěný.

Existují hybridní bootloadery (částečně uživatelské a částečně jádrové), firmwarové (BIOS/UEFI a další komponenty), bootovací nebo bootkitové (MBR/UEFI), virtuální (které umisťují skutečný operační systém do virtuálního počítače) a paměťové (neperzistentní). Ty druhé mohou být obzvláště těžko dostupné, zatímco firmware a bootloadery přetrvávají i po čisté reinstalaci operačního systému.

Jak funguje RootkitRevealer

RKR porovnává dva snímky: pohled na rozhraní API systému Windows na vysoké úrovni a nezpracované, nízkoúrovňové čtení souborů svazku a podstromu registru (hives). Pokud rootkit manipuluje s voláními na vysoké úrovni, aby něco skryl, tato změna se odhalí, protože to, co je na disku a v registru, neodpovídá tomu, co uvádí API, což generuje diagnostikovatelné nesrovnalosti.

Teoreticky by se rootkit mohl také pokusit skrýt před RootkitRevealerem tím, že by zachytával jeho nezpracované čtení a přepisoval data za chodu. K dosažení tohoto cíle by potřeboval důkladnou znalost formátů NTFS, FAT a registru a byl by schopen upravovat struktury bez způsobování nekonzistencí nebo zjevných vedlejších účinků – což je velmi složitý technický výkon , který byl pozorován jen zřídka. Přesto neexistuje žádný neomylný „univerzální detektor“: i bootování z externího prostředí (například s použitím nejlepších linuxových distribucí ) by mohlo být sabotováno obzvláště sofistikovanými a přetrvávajícími artefakty . V praxi je nejrobustnějším přístupem kombinace online analýzy s offline ověřováním v důvěryhodných prostředích.

  Jak nainstalovat a používat LM Studio ve Windows a Macu

Požadavky, osvědčené postupy a provedení

Pro spuštění této kontroly potřebuje účet oprávnění „Zálohovat soubory a adresáře“, „Načíst ovladače“ a „Údržba svazků“ (tato oprávnění jsou ve výchozím nastavení udělena správcům v systému Windows XP a novějších). Pro minimalizaci falešně pozitivních výsledků se doporučuje spustit kontrolu s klidovým systémem a bez otevřených aplikací.

Při ručním spuštění jednoduše stiskněte tlačítko skenování. Během procesu bude program poskytovat aktualizace o průběhu a uvádět případné nesrovnalosti. K dispozici jsou dvě relevantní možnosti: „Skrýt soubory metadat NTFS“ (ve výchozím nastavení povoleno, aby se nezobrazovala standardní metadata skrytá systémem NTFS) a „Protokol skenování“ (ve výchozím nastavení povoleno; zrušením zaškrtnutí se skenování registru systému Windows přeskakuje ).

Pro automatizaci podporuje parametry, které umožňují spuštění, přihlášení a ukončení bez zásahu: rootkitrevealer outputfile]. Možnost -a začíná a končí automaticky; -c vypsat výsledek do CSV; -m zobrazuje metadata NTFS a -r zakáže skenování registru. Výstupní soubor musí být ve formátu přístupný lokální svazek.

Vzdálené spuštění je možné pomocí PsExec. Například: psexec \\remote -c rootkitrevealer.exe -a c:\windows\system32\rootkit.log. S -c, průběh se nezobrazuje a nesrovnalosti se tisknou ve formátu CSV, což usnadňuje import v databázích nebo skriptech.

Interpretace výsledků a typické odchylky

Nesrovnalosti typu „Skryté před Windows API“ jsou nejčastější, když rootkit skrývá položky. Pokud jste nepovolili zobrazení metadat NTFS, uvidíte rozdíly, protože NTFS skrývá před API své interní soubory, jako například $MFT nebo $Secure . Některé antivirové programy také ukládají data do alternativních streamů a skrývají je, což vede k podobným chybám.

Toto jsou některá ze standardních metadat definovaných v systému souborů 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 tři zdroje v souborovém systému: Windows API, hlavní souborovou tabulku (MFT) a indexy adresářů na disku. Mohou se objevit kombinace jako „Viditelné v API, ale ne v indexu nebo MFT“, „Viditelné v MFT, ale ne v API“ atd., zejména pokud je soubor vytvořen nebo odstraněn během analýzy a vytváří se okno dočasné nekonzistence.

Příklad vytvoření během skenování: C:\newfile.txt, o velikosti 8 bajtů, se zprávou „Viditelné v API, ale ne v indexu nebo MFT“. Tyto případy nemusí nutně ukazovat na rootkity, ale na souběžné změny během vyšetřování.

Pokud se zobrazí zpráva „Přístup odepřen“, něco je v nepořádku: RootkitRevealer používá mechanismy pro přístup k libovolnému souboru, adresáři nebo klíči, takže by se tato zpráva za normálních provozních podmínek neměla objevit.

V registru je několik zajímavých nesrovnalostí: „Délka rozhraní Windows API je nekonzistentní s nezpracovanými daty“ (možný pokus o skrytí skutečného obsahu), „Neshoda typů“ (např. je inzerováno REG_SZ, ale mělo by být REG_BINARY), „Název klíče obsahuje vložené hodnoty NULL“ (známá technika, která využívá rozdíl mezi řetězci zakončenými hodnotou NULL a řetězci s počty). V tomto posledním případě pomáhá nástroj RegDelNull od společnosti Sysinternals vyčistit klíče s vloženými hodnotami NULL.

„Neshoda dat“ může nastat, pokud se během skenování změní hodnota (např. doba provozuschopnosti SQL Serveru, jako je HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\RECOVERYMANAGER\MSSQLServer\uptime_time_utc). Musíte ověřit, že hodnota patří legitimní komponenty které aktualizují data v reálném čase.

Ilustrativním případem byl rootkit HackerDefender: jeho služby a ovladače byly pro API systému Windows neviditelné, ale byly přítomny v nezpracovaném čtení podregistru; totéž platilo pro jeho soubory, které přímá analýza souborového systému na disku detekovala.

Časté chyby a problémy s rootkitrevealer.exe ve forenzních prostředích

Některé forenzní sady (např. WinTaylor) uvádějí typické chyby související s rootkitrevealer.exe , například: „není platná aplikace Win32“, „nenalezena“, „chyba aplikace“ nebo „problém se spuštěním“. Tyto zprávy se obvykle objevují během instalace, spouštění nebo vypínání systému nebo v důsledku konfliktů s jinými rezidentními aplikacemi.

Mezi nejčastější příčiny patří poškozené nebo chybějící soubory, neplatné položky registru, infekce malwarem, neúplné odinstalace nebo konflikty s jiným softwarem. Zdrojem může být poškozená položka registru, náhodné smazání jiným nástrojem, neúspěšné stahování nebo předchozí infekce , která změnila binární soubor.

  Kompletní průvodce ruční aktualizací systému Windows 11

Pro zajímavost, některé záznamy uvádějí spustitelný soubor s přibližnou velikostí 334 720 bajtů a hashovací algoritmy jako SHA-1 a MD5 (např. SHA‑1 d39e8a3fe92adc7d7fbc5293edf8a7b965484a59, MD5 ee738fe9bcdd605821002cec8c7206db) a CRC32 98b1af0b; odkazují také na verze 2.1 ve své kontejnerové aplikaci a kategorie „Forenzní sada nástrojů/operační systém“.

Metody detekce a reakce na rootkity

Detekce rootkitu není vždy triviální. Kromě specifických nástrojů se k identifikaci podezřelých modulů kombinují techniky, jako je analýza signatur známých hrozeb, porovnávání struktur za studena, vyhledávání chybových kódů a změn v paměti a kontrola výpisů paměti po haváriích . Je také běžné spoléhat se na systémy prevence narušení (IPS) k ochraně sítě a snížení vektorů infekce.

Mezi specializované utility patří GMER (pro detekci skrytých procesů a změn jádra), Kaspersky TDSSKiller (zejména pro detekci bootkitů a rootkitů jádra), Malwarebytes Anti-Rootkit, Microsoft Defender Offline (pro skenování před spuštěním Windows) a RogueKiller. Spuštění těchto nástrojů z důvěryhodného bootovacího USB disku nebo v nouzovém režimu snižuje riziko útoku.

V případě hrozeb při spuštění nebo firmwaru je vhodné použít záchranná média, jako je Kaspersky Rescue Disk, obnovit MBR pomocí bootrec /fixmbr v případě potřeby a v závažných případech aktualizujte/flashujte BIOS/UEFI na čistou verzi od výrobce, abyste problém odstranili nízkoúrovňová perzistence.

Monitorování pomocí Sysinternals je neocenitelné: Process Monitor (ProcMon) pro aktivitu procesů a souborů, Autoruns pro kontrolu toho, co se načítá při spuštění, a RootkitRevealer pro odhalování vysokých/nízkých nesrovnalostí. Platformy SIEM jako Wazuh a telemetrie v podnikových prostředích dokáží odhalit neočekávané chování sítě nebo změny integrity.

Pokud se infekce potvrdí, rozumný postup je: odpojit počítač od sítě, skenovat z externího prostředí, vyhodnotit integritu bootování/firmwaru a pokud neexistují žádné záruky, zálohovat data, kompletně vyčistit disk (nástroji jako DBAN) a znovu nainstalovat z ověřeného média a poté povolit opatření, jako je Secure Boot a TPM.

Prevence: Přiměřená ochrana proti rootkitům

Prevence je klíčová. Udržujte svůj systém aktuální, instalujte záplaty na software třetích stran, vyhýbejte se spustitelným souborům z pochybných zdrojů a nepoužívejte cracky ani keygeny: jsou oblíbeným vektorem pro vytváření a zavaděče rootkitů .

Zakažte automatické spouštění USB, před otevřením skenujte externí disky a v podnikových prostředích omezte nebo blokujte porty a v případě potřeby používejte firewally . Pracujte s neoprávněnými uživatelskými účty, používejte princip nejnižších oprávnění a pro kritické změny vyžadujte přihlašovací údaje správce, čímž snížíte pravděpodobnost tiché eskalace.

Na kompatibilním hardwaru povolte Secure Boot a TPM z UEFI pro ochranu bootovacího řetězce a pečetění klíčů. Pravidelně udržujte offline nebo neměnné zálohy a používejte snímky/body obnovení ke zkrácení doby obnovy v případě problému.

Jak se instalují rootkity: droppery, zavaděče a vektory

Útočníci obvykle distribuují rootkity jako kombinované hrozby: „dropper“, který balíček doručí, a „loader“, který zneužívá zranitelnosti (například přetečení vyrovnávací paměti) k umístění implantátu tam, kam by neměl. To se maskuje jako phishingové e-maily , falešné instalační programy nebo podvodné aktualizace.

Mezi klasické vektory patří únos klientů pro zasílání zpráv za účelem šíření škodlivých odkazů, trojanizující software na stahovacích portálech, používání jiného malwaru jako nosičů a vkládání do dokumentů s bohatým obsahem (např. některých PDF souborů), které po otevření automaticky spustí dropper.

Známky útoku a stopy po detekci

Cílem rootkitu je zůstat nedetekován. Přesto můžete pozorovat změny konfigurace bez zásahu uživatele, neobvyklé přerušení sítě v důsledku skrytého provozu, neznámé procesy, služby, které nelze zavřít, a bezpečnostní nástroje deaktivované bez vysvětlení.

Dalším vodítkem jsou protichůdné informace mezi utilitami, které vypisují soubory, procesy nebo klíče registru pomocí různých cest (API versus nezpracované čtení). Zde se projevují přístupy jako RootkitRevealer: stejný objekt, který „je“ na disku, ale podle API „není“, ukazuje na manipulaci.

  Kybernetické sociální inženýrství: techniky, příklady a jak se chránit

Hlavní typy rootkitů

Uživatelský režim: Tyto režimy fungují na úrovni procesů a knihoven. Jsou stabilnější a relativně snadněji detekovatelné, i když mohou skrývat soubory, procesy a klíče. Klasickým historickým příkladem je HackerDefender.

Jádrový režim: Tyto viry se nacházejí v jádře, kde mají plnou kontrolu a jsou nenápadné; je obtížné je vymýtit a při špatném návrhu mají tendenci způsobovat nestabilitu. Příklady této rodiny: TDL/Alureon ve svém vývoji.

Hybridy: kombinují uživatelské a jaderné komponenty pro vyvážení utajení a stability, což vede k popularitě mezi útočníky díky jejich praktické všestrannosti.

Firmware/Bootkity: Tyto infikují BIOS/UEFI nebo bootovací sektor (MBR/UEFI) a načítají se před operačním systémem. Technologie jako Secure Boot učinily mnoho klasických bootkitů zastaralými, ale objevily se moderní implantáty UEFI.

Virtuální a paměťově založené: VMBR načítají hypervizor pod operačním systémem a virtualizují ho; paměťově založené se nacházejí pouze v RAM a po restartu mizí, což je velmi užitečné pro dočasné operace.

Příklady a zvýrazněná chronologie

První rootkity pro SunOS byly vyvinuty v 90. letech 20. století; v roce 1999 Greg Hoglund popsal NTRootkit (Windows, režim jádra) a v roce 2003 se objevil HackerDefender (Windows 2000/XP, uživatelský režim), což vyvolalo „přetahovanou“ s nástroji jako RootkitRevealer.

V roce 2004 tzv. „řecký Watergate“ použil rootkit k hacknutí více než 100 telefonů v síti GSM; v roce 2005 bylo zjištěno, že Sony BMG zahrnula protipirátský rootkit do některých CD, což vyvolalo obrovskou bezpečnostní kontroverzi.

Od roku 2008 se bootkity jako TDL (TDL-1 až TDL-4) vyvinuly; v roce 2009 „Machiavelli“ dokázal, že ani macOS (tehdy Mac OS X) není imunní; v roce 2010 Stuxnet použil komponenty rootkitu k sabotáži íránských průmyslových systémů.

V roce 2012 se objevil Flame , masivní modulární malware ; v roce 2018 se LoJax stal prvním rootkitem UEFI detekovaným v reálném čase; a v roce 2019 Scranos kombinoval krádež přihlašovacích údajů a skryté generování příjmů s clickfarmami prostřednictvím masově napadených prohlížečů.

Zdroje a doporučená literatura

Vyšetřování Marka Russinoviche v případu Sony a jeho článek „Odhalování rootkitů“ v časopise Windows IT Pro pomáhají pochopit fenomén a techniku, která stojí za RKR; kniha „Rootkity: Podvracení jádra systému Windows“ od Grega Hoglunda a Jamieho Butlera je nejpodrobnějším pojednáním na toto téma.

Phrack Archive, kniha Petera Szora „Umění výzkumu a obrany proti počítačovým virům“, kniha Eda Skoudise a Lennyho Zeltsera „Malware: Boj proti škodlivému kódu“ a série „Windows Internals“ (od 4. vydání) jsou nezbytnými materiály pro každého, kdo se chce hlouběji ponořit do architektury a seriózních protiopatření.

RootkitRevealer v ekosystému Sysinternals

RKR existuje společně s dalšími utilitami Sysinternals užitečnými ve výzkumu: AccessChk a AccessEnum (efektivní oprávnění), Autoruns (vše, co se spouští se systémem), Process Explorer (kdo co otevřel a s jakou DLL), PsExec/PsTools (vzdálené spouštění a správa), PsLogList a PsLoggedOn (události a relace), Sigcheck (digitální podpisy), SDelete (zabezpečené mazání), ShareEnum (sdílené zdroje) a Sysmon (pokročilá telemetrie v protokolu událostí).

V historických repozitářích je běžné najít odkazy na „Stáhnout 1.71“ a také na „Spustit nyní“ prostřednictvím Sysinternals Live. Přestože se jedná o veteránský projekt, jeho přístup – porovnávání vysoce a nízkoúrovňových přístupů – zůstává klíčový pro lov rootkitů.

RootkitRevealer je především lekcí obranného inženýrství: pokud něco manipuluje s tím, co API vrací, musíte se podívat pod povrch a porovnat to s tím, co skutečně existuje na disku a v registru; s osvědčenými postupy, vhodnými nástroji a offline ověřováním, když je to nutné, je možné odhalit, co se snaží skrýt tam, kde si myslíme, že se nikdo nedívá.

nejlepší linuxové distribuce pro zabezpečení
Související článek:
Nejlepší linuxové distribuce pro ochranu vaší bezpečnosti a soukromí