Hvad er RootkitRevealer: Hvordan det fungerer, hvordan man bruger det, og tegn på rootkits

Sidste ændring: 22 September 2025
Forfatter: TecnoDigital
  • RootkitRevealer registrerer uoverensstemmelser mellem Windows API'er og rådata for at afdække skjulte problemer.
  • Fortolker resultater: NTFS-metadata, uoverensstemmelsestyper i registreringsdatabasen og filsystemet.
  • Brug -a -c -m -r og fjernudførelsesmulighederne med PsExec; det kræver minimale falske positiver, når systemet er inaktivt.
  • Forebyggelse og reaktion: Sikker opstart/TPM, offline-scanninger, anti-rootkit-værktøjer og kontrolleret gendannelse.

Rootkit-detektor i Windows

RootkitRevealer er et af de legendariske værktøjer, som enhver Windows-professionel bør kende; det blev skabt af Sysinternals-teamet med Mark Russinovich i spidsen, og selvom det dukkede op for år siden, er det stadig en reference til at forstå, hvordan man opdager uoverensstemmelser forårsaget af rootkits mellem, hvad systemet viser, og hvad der rent faktisk er på disken.

I modsætning til andre scannere leder den ikke efter signaturer eller mønstre: den sammenligner en oversigt over Windows API'en med en rå, lavniveau-læsning af disken og registreringsdatabasen. Denne tilsyneladende simple idé afslører, hvornår malware forsøger at skjule filer, nøgler eller værdier ved at manipulere systemkald.

Hvad er RootkitRevealer, og hvilke systemer fungerer det på?

Dette er et avanceret værktøj til at detektere tegn på rootkits i både bruger- og kernetilstand . Det blev oprindeligt udviklet til Windows XP og Windows Server 2003 (32-bit) og er almindeligvis angivet som gratis på engelsk og cirka 231 KiB i størrelse; mange lister angav også dets kompatibilitet med Windows NT/2000/XP/Vista på det tidspunkt.

Med tiden blev dens rent kommandolinjebaserede version elimineret, fordi nogle malware-udviklere begyndte at overvåge den eksekverbare fils navn. For at undgå dette startes programmet som en tjeneste fra en tilfældigt navngivet kopi af sig selv, hvilket gør det vanskeligere at identificere den ved navn og komplicerer leveringen af ​​en 100 % konsolgrænseflade.

Hvad er et rootkit? Nøglebegreber

Udtrykket rootkit refererer til teknikker og mekanismer, der tillader malware (virus, trojanske heste, spyware osv.) at skjule sig for brugeren og sikkerhedsværktøjer . Der skelnes mellem flere familier: persistent (overlevende genstart), memory-resident (forsvinder ved genstart), user-mode og kernel-mode, blandt andre moderne varianter.

Et brugertilstandsrootkit kan opfange funktioner som FindFirstFile/FindNextFile eller systemets native tællere for at filtrere poster, der ville afsløre dets ændrede filer, processer eller registreringsnøgler . Dette forhindrer Stifinder, kommandoprompten eller registreringseditorer i at se, hvad der rent faktisk findes.

Kernel-mode rootkits går endnu længere: Udover at opsnappe det native API, kan de direkte manipulere kernestrukturer, for eksempel ved at fjerne deres proces fra listen over aktive processer, så den ikke vises i Jobliste eller Process Explorer, selvom den kører.

Der findes hybrider (delvist brugerbaserede og delvist kernelbaserede), firmware (BIOS/UEFI og andre komponenter), boot- eller bootkit- (MBR/UEFI), virtuelle (som placerer selve operativsystemet inde i en virtuel maskine) og hukommelsesbaserede (ikke-persistente) bootloadere. Sidstnævnte kan være særligt vanskelige at finde, mens firmware og bootloadere stadig findes, selv efter en ren geninstallation af operativsystemet.

Sådan fungerer RootkitRevealer

RKR sætter to snapshots i kontrast: den overordnede visning af Windows API'en og den rå, lavniveau-aflæsning af volumen- og registreringsdatabasens undertræfiler (hives). Hvis et rootkit manipulerer med overordnede kald for at skjule noget, afsløres denne ændring, fordi det, der er på disken og i registreringsdatabasen, ikke stemmer overens med, hvad API'en siger er der, hvilket genererer diagnosticerbare uoverensstemmelser.

Teoretisk set kunne et rootkit også forsøge at skjule sig fra RootkitRevealer ved at opsnappe dets rå læsninger og omskrive dataene undervejs. For at opnå dette ville det kræve indgående kendskab til NTFS-, FAT- og registreringsdatabaseformater og være i stand til at ændre strukturer uden at forårsage uoverensstemmelser eller åbenlyse bivirkninger - en meget kompleks teknisk bedrift , der sjældent er observeret. Alligevel er der ingen ufejlbarlig "universel detektor": Selv opstart fra et eksternt miljø (for eksempel ved hjælp af de bedste Linux-distributioner ) kan saboteres af særligt sofistikerede og vedvarende artefakter . I praksis er den mest robuste tilgang at kombinere onlineanalyse med offline-verifikation i betroede miljøer.

  Windows 10 Udvidet Support: ESU-vejledning, krav og aktivering

Krav, god praksis og udførelse

For at køre denne scanning skal kontoen have rettighederne "Sikkerhedskopier filer og mapper", "Indlæs drivere" og "Vedligeholdelse af diskenhed" (disse gives som standard til administratorer i Windows XP og nyere). For at minimere falske positiver anbefales det at køre scanningen med systemet i hviletilstand og uden åbne programmer.

Ved manuel udførelse skal du blot trykke på scanningsknappen. Under processen vil programmet give statusopdateringer og vise eventuelle uoverensstemmelser. Der er to relevante muligheder: "Skjul NTFS-metadatafiler" (aktiveret som standard for at undgå at vise standardmetadata skjult af NTFS) og "Scanningslog" (aktiveret som standard; hvis du fravælger den, springes scanningen af ​​Windows-registreringsdatabasen over ).

Til automatisering understøtter den parametre, der giver dig mulighed for at starte, logge ind og afslutte uden indgriben: rootkitrevealer outputfile]. Muligheden -a starter og slutter automatisk; -c udskriv resultatet i CSV; -m viser NTFS-metadata; og -r deaktiverer scanning af registreringsdatabasen. Outputfilen skal være i en tilgængelig lokal volumen.

Fjernudførelse er mulig med PsExec. For eksempel: psexec \\remote -c rootkitrevealer.exe -a c:\windows\system32\rootkit.log. Med -c, status vises ikke, og uoverensstemmelser udskrives i CSV, hvilket gør det nemmere at importere i databaser eller scripts.

Fortolkning af resultater og typiske uoverensstemmelser

Uoverensstemmelser i "Skjult fra Windows API" er de mest almindelige, når et rootkit skjuler poster. Hvis du ikke har aktiveret visning af NTFS-metadata, vil du se forskelle, fordi NTFS skjuler sine interne filer, f.eks. $MFT eller $Secure , fra API'en . Nogle antivirusprogrammer gemmer også data i alternative strømme og skjuler dem, hvilket resulterer i lignende fejl.

Dette er nogle af de standardmetadata, der er defineret i 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 korrelerer tre kilder i filsystemet: Windows API'en, Master File Table (MFT) og mappeindekserne på disken. Kombinationer som "Synlig i API'en, men ikke i indekset eller MFT'en", "Synlig i MFT'en, men ikke i API'en" osv. kan forekomme, især hvis en fil oprettes eller slettes under analysen og producerer et vindue med midlertidig inkonsistens.

Eksempel på oprettelse under scanning: C:\newfile.txt, 8 bytes i størrelse, med meddelelsen "Synlig i API'en, men ikke i indekset eller MFT". Disse tilfælde peger ikke nødvendigvis på rootkits, men på samtidige ændringer mens de bliver undersøgt.

Hvis "Adgang nægtet" vises, er der noget galt: RootkitRevealer bruger mekanismer til at få adgang til enhver fil, mappe eller nøgle, så denne meddelelse burde ikke vises under normale driftsforhold.

I registreringsdatabasen er der adskillige interessante uoverensstemmelser: "Windows API-længden er inkonsistent med rådata" (muligvis forsøg på at skjule det faktiske indhold), "Typemismatch" (f.eks. annonceres REG_SZ, men det burde være REG_BINARY), "Nøglenavnet indeholder indlejrede NULL-værdier" (en kendt teknik, der udnytter forskellen mellem NULL-afsluttede strenge og strenge med antal). I det sidste tilfælde hjælper Sysinternals' RegDelNull- værktøj med at rense nøgler med indlejrede NULL'er.

"Dataafvigelse" kan opstå, hvis en værdi ændres under scanningen (f.eks. SQL Server-oppetider som f.eks. HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\RECOVERYMANAGER\MSSQLServer\uptime_time_utc). Du skal validere, at værdien tilhører legitime komponenter som opdaterer data i realtid.

Et illustrativt eksempel var HackerDefender-rootkittet: dets tjenester og drivere var usynlige for Windows API'en, men var til stede i den rå læsning af registreringsdatabasens hive; det samme gjaldt for dets filer, som den direkte analyse af filsystemet opdagede på disken.

Almindelige fejl og problemer med rootkitrevealer.exe i retsmedicinske miljøer

Nogle retsmedicinske kits (f.eks. WinTaylor) viser typiske fejl relateret til rootkitrevealer.exe , såsom: "ikke et gyldigt Win32-program", "ikke fundet", "programfejl" eller "opstartsproblem". Disse meddelelser opstår normalt under systeminstallation, opstart eller nedlukning eller på grund af konflikter med andre residente programmer.

De hyppigste årsager inkluderer beskadigede eller manglende filer, ugyldige poster i registreringsdatabasen, malwareinfektioner, ufuldstændige afinstallationer eller konflikter med anden software. Kilden kan være en beskadiget post i registreringsdatabasen, utilsigtet sletning af et andet værktøj, en mislykket download eller en tidligere infektion, der ændrede den binære fil.

  Sådan optimerer du Windows 11, når din pc er langsom

Som en kuriositet i inventaret dokumenterer nogle lister den eksekverbare fil med en omtrentlig størrelse på 334.720 bytes og hashes såsom SHA-1 og MD5 (f.eks. SHA-1) d39e8a3fe92adc7d7fbc5293edf8a7b965484a59, MD5 ee738fe9bcdd605821002cec8c7206db) og CRC32 98b1af0b; de henviser også til version 2.1 i sin container-app og kategorien "Retsmedicinsk værktøjssæt/operativsystem".

Metoder til detektion og respons på rootkit

Det er ikke altid lige nemt at detektere et rootkit. Ud over specifikke værktøjer kombineres teknikker som signaturanalyse af kendte trusler, kold sammenligning af strukturer, hukommelsessøgning efter hooks og ændringer samt gennemgang af hukommelsesdumps efter nedbrud for at identificere mistænkelige moduler . Det er også almindeligt at bruge Intrusion Prevention Systems (IPS) til at beskytte netværket og reducere infektionsvektorer.

Specialiserede værktøjer inkluderer GMER (til at detektere skjulte processer og kerneændringer), Kaspersky TDSSKiller (især til at detektere bootkits og kernel rootkits), Malwarebytes Anti-Rootkit, Microsoft Defender Offline (til scanning før Windows starter) og RogueKiller. Kørsel af disse fra et betroet bootbart USB-drev eller i fejlsikret tilstand reducerer angrebsfladen.

Ved opstarts- eller firmwaretrusler anbefales det at bruge redningsmedier som f.eks. Kaspersky Rescue Disk, gendanne MBR med bootrec /fixmbr Hvor det er relevant og i alvorlige tilfælde, opdater/flash BIOS/UEFI til en ren version fra producenten for at udrydde lavniveau persistens.

Overvågning med Sysinternals er uvurderlig: Process Monitor (ProcMon) til proces- og filaktivitet, Autoruns til at kontrollere, hvad der indlæses ved opstart, og RootkitRevealer til uoverensstemmelser på højt/lavt niveau. SIEM-platforme som Wazuh og telemetri i virksomhedsmiljøer kan afdække uventet netværksadfærd eller integritetsændringer.

Hvis infektionen bekræftes, er den rimelige rækkefølge: afbryd forbindelsen til netværket, scan fra et eksternt miljø, vurder boot-/firmwareintegriteten, og hvis der ikke er nogen garantier, sikkerhedskopier data, rens disken fuldstændigt (værktøjer som DBAN) og geninstaller fra verificerede medier, og aktivér derefter foranstaltninger som Secure Boot og TPM.

Forebyggelse: Rimelig beskyttelse mod rootkits

Forebyggelse er nøglen. Hold dit system opdateret, installer programrettelser på tredjepartssoftware, undgå eksekverbare filer fra tvivlsomme kilder, og brug ikke cracks eller keygens: de er en favoritvektor til at pakke rootkit- droppere og -loadere .

Deaktiver USB-autorun, scan eksterne drev, før du åbner dem, og i virksomhedsmiljøer skal du begrænse eller blokere porte og anvende firewalls, hvor det er relevant. Arbejd med ikke-privilegerede brugerkonti, anvend princippet om færrest rettigheder, og kræv administratorlegitimationsoplysninger for kritiske ændringer, hvilket reducerer sandsynligheden for lydløse eskaleringer.

På kompatibel hardware skal du aktivere Secure Boot og TPM fra UEFI for at beskytte bootkæden og nøgleforseglingen. Oprethold regelmæssige offline- eller uændrelige sikkerhedskopier, og brug snapshots/gendannelsespunkter for at forkorte gendannelsestiden, hvis noget går galt.

Sådan installeres rootkits: droppere, loadere og vektorer

Angribere distribuerer typisk rootkits som kombinerede trusler: en "dropper", der leverer pakken, og en "loader", der udnytter sårbarheder (såsom buffer overflows) til at placere implantatet, hvor det ikke skal. Dette er forklædt som phishing-e-mails , falske installationsprogrammer eller svigagtige opdateringer.

Klassiske vektorer inkluderer kapring af beskedklienter for at sprede ondsindede links, trojanisering af software på downloadportaler, brug af anden malware som bærere og indlejring i dokumenter med rigt indhold (f.eks. visse PDF-filer), der, når de åbnes, automatisk udløser dropperen.

Angrebstegn og spor til detektion

Målet med et rootkit er at forblive uopdaget. Alligevel kan du observere konfigurationsændringer uden brugerindgriben, usædvanlige netværksafbrydelser på grund af skjult trafik, ukendte processer, tjenester, der ikke kan lukkes, og sikkerhedsværktøjer, der er deaktiveret uden forklaring.

Et andet spor er de modstridende oplysninger mellem værktøjer, der viser filer, processer eller registreringsnøgler ved hjælp af forskellige stier (API versus rå læsning). Det er her, tilgange som RootkitRevealer skinner igennem: det samme objekt, der "er" på disken, men "ikke er" ifølge API'en, peger på manipulation.

  Sådan tjekker du din bærbare computers batteritilstand på Windows og andre systemer

Hovedtyper af rootkits

Brugertilstand: Disse fungerer på proces- og biblioteksniveau. De er mere stabile og relativt nemmere at opdage, selvom de kan skjule filer, processer og nøgler. Et klassisk historisk eksempel er HackerDefender.

Kernel-tilstand: Disse vira befinder sig i kernen med fuld kontrol og stor stealth; de er vanskelige at udrydde og har tendens til at forårsage ustabilitet, hvis de er dårligt designet. Eksempler på denne familie: TDL/Alureon i sin udvikling.

Hybrider: kombinerer bruger- og kernekomponenter for at balancere skjulning og stabilitet, hvilket resulterer i popularitet blandt angribere på grund af deres praktiske alsidighed.

Firmware/Bootkits: Disse inficerer BIOS/UEFI eller bootsektoren (MBR/UEFI) for at indlæse før operativsystemet. Teknologier som Secure Boot har gjort mange klassiske bootkits forældede, men moderne UEFI-implantater er dukket op.

Virtuelt og hukommelsesbaseret: VMBR'er indlæser en hypervisor under operativsystemet og virtualiserer den; hukommelsesbaserede hypervisorer findes kun i RAM og forsvinder ved genstart, hvilket er meget nyttigt til kortvarige operationer.

Eksempler og fremhævet kronologi

De første rootkits til SunOS blev udviklet i 90'erne; i 1999 beskrev Greg Hoglund NTRootkit (Windows, kernetilstand), og i 2003 dukkede HackerDefender (Windows 2000/XP, brugertilstand) op, hvilket førte til en "tovejr" med værktøjer som RootkitRevealer.

I 2004 brugte den såkaldte "græske Watergate" et rootkit til at hacke mere end 100 telefoner på et GSM-netværk; i 2005 blev det opdaget, at Sony BMG inkluderede et anti-piratkopierings-rootkit i nogle cd'er, hvilket udløste en enorm sikkerhedskontrovers.

Siden 2008 har bootkits som TDL (TDL-1 til TDL-4) udviklet sig; i 2009 beviste "Machiavelli", at macOS (dengang Mac OS X) heller ikke var immun; i 2010 brugte Stuxnet rootkit-komponenter til at sabotere iranske industrielle systemer.

I 2012 dukkede Flame , en massiv modulær malware, op; i 2018 blev LoJax det første UEFI-rootkit, der blev opdaget i naturen; og i 2019 kombinerede Scranos tyveri af legitimationsoplysninger og skjult indtægtsgenerering med clickfarms gennem massekompromitterede browsere.

Ressourcer og anbefalede læsninger

Mark Russinovichs undersøgelse af Sony-sagen og hans artikel "Unearthing Rootkits" i Windows IT Pro hjælper med at forstå fænomenet og teknikken bag RKR; bogen "Rootkits: Subverting the Windows Kernel" af Greg Hoglund og Jamie Butler er den mest dybdegående afhandling om emnet.

Phrack-arkivet, Peter Szors "The Art of Computer Virus Research and Defense", Ed Skoudis og Lenny Zeltsers "Malware: Fighting Malicious Code" og "Windows Internals"-serien (fra 4. udgave og fremefter) er essentielle materialer for alle, der ønsker at dykke dybere ned i arkitektur og seriøse modforanstaltninger.

RootkitRevealer i Sysinternals-økosystemet

RKR sameksisterer med andre Sysinternals-værktøjer, der er nyttige i forskning: AccessChk og AccessEnum (effektive tilladelser), Autoruns (alt, der starter med systemet), Process Explorer (hvem åbnede hvad og med hvilken DLL), PsExec/PsTools (fjernudførelse og administration), PsLogList og PsLoggedOn (hændelser og sessioner), Sigcheck (digitale signaturer), SDelete (sikker sletning), ShareEnum (delte ressourcer) og Sysmon (avanceret telemetri i hændelsesloggen).

Det er almindeligt at finde referencer til "Download 1.71" i historiske repositories, såvel som "Run now" via Sysinternals Live. Selvom projektet er veteran, er dets tankegang - at sammenligne tilgange på højt niveau med tilgange på lavt niveau - stadig nøglen til rootkit-jagt.

RootkitRevealer er frem for alt en lektion i defensiv ingeniørkunst: Hvis noget manipulerer med det, API'en returnerer, skal man kigge nedenunder og sammenligne det med det, der rent faktisk findes på disken og i registreringsdatabasen. Med god praksis, passende værktøjer og offline-verifikation, når det er nødvendigt, er det muligt at afdække, hvad der forsøger at gemme sig, hvor vi tror, ​​ingen vil lede.

De bedste Linux-distributioner til sikkerhed
Relateret artikel:
De bedste Linux-distributioner til at beskytte din sikkerhed og dit privatliv