Što je RootkitRevealer: Kako radi, kako ga koristiti i znakovi rootkitova

Zadnje ažuriranje: 22 od rujna 2025
  • RootkitRevealer detektira neslaganja između Windows API-ja i sirovih podataka kako bi otkrio skrivene probleme.
  • Interpretira rezultate: vrste odstupanja u metapodacima NTFS-a, registru i datotečnom sustavu.
  • Koristite opcije -a -c -m -r i daljinsko izvršavanje s PsExecom; zahtijeva minimalan broj lažno pozitivnih rezultata kada je sustav u stanju mirovanja.
  • Prevencija i odgovor: Secure Boot/TPM, offline skeniranje, alati protiv rootkita i kontrolirano vraćanje sustava.

Detektor rootkita u sustavu Windows

RootkitRevealer je jedan od onih legendarnih uslužnih programa koje bi svaki Windows profesionalac trebao znati; stvorio ga je tim Sysinternals s Markom Russinovichom na čelu i, iako se pojavio prije mnogo godina, ostaje referenca za razumijevanje kako otkriti razlike uzrokovane rootkitovima između onoga što sustav prikazuje i onoga što se zapravo nalazi na disku.

Za razliku od drugih skenera, ne traži potpise ili uzorke: uspoređuje pogled visoke razine Windows API-ja s neobrađenim, niskorazinskim očitavanjem diska i registra. Ova naizgled jednostavna ideja otkriva kada zlonamjerni softver pokušava sakriti datoteke, ključeve ili vrijednosti manipuliranjem sistemskim pozivima.

Što je RootkitRevealer i na kojim sustavima radi?

Ovo je napredni alat za otkrivanje znakova rootkitova u korisničkom i kernel načinu rada . Izvorno je razvijen za Windows XP i Windows Server 2003 (32-bitni) i obično se navodi kao besplatan, na engleskom jeziku i veličine približno 231 KiB; mnogi oglasi također su navodili njegovu kompatibilnost sa sustavima Windows NT/2000/XP/Vista u to vrijeme.

S vremenom je njegova isključivo komandna inačica eliminirana jer su neki autori zlonamjernog softvera počeli pratiti naziv izvršne datoteke; kako bi se to izbjeglo, program se pokreće kao servis iz nasumično imenovane kopije samog sebe, što otežava otkrivanje po imenu i komplicira pružanje 100% konzolnog sučelja.

Što je rootkit? Ključni pojmovi

Pojam rootkit odnosi se na tehnike i mehanizme koji omogućuju zlonamjernom softveru (virusima, trojancima, špijunskom softveru itd.) da se sakrije od korisnika i sigurnosnih alata . Razlikuje se nekoliko porodica: perzistentni (preživljavaju ponovna pokretanja), memorijski rezidentni (nestaju nakon ponovnog pokretanja), korisnički način rada i kernel način rada, među ostalim modernim varijantama.

Rootkit korisničkog načina rada može presresti funkcije poput FindFirstFile/FindNextFile ili izvorne enumeratore sustava kako bi filtrirao unose koji bi otkrili njegove modificirane datoteke, procese ili ključeve registra . To sprječava Explorer, naredbeni redak ili uređivače registra da vide što zapravo postoji.

Rootkitovi u kernel modu idu dalje: osim što presreću izvorni API, mogu izravno manipulirati strukturama kernela, na primjer uklanjanjem svog procesa s popisa aktivnih procesa tako da se ne pojavljuje u Upravitelju zadataka ili Process Exploreru iako je pokrenut.

Postoje hibridni (dijelom temeljeni na korisniku, a dijelom temeljeni na kernelu), firmverski (BIOS/UEFI i ostale komponente), bootkit (MBR/UEFI), virtualni (koji smještaju stvarni OS unutar virtualnog stroja) i memorijski (neperzistentni) bootloaderi. Potonji mogu biti posebno neuhvatljivi, dok firmver i bootloaderi ostaju prisutni čak i nakon čiste ponovne instalacije operativnog sustava.

Kako RootkitRevealer radi

RKR uspoređuje dva snimka: prikaz visoke razine Windows API-ja i sirovo, niskorazinsko očitavanje datoteka volumena i podstabla registra (košnica). Ako rootkit mijenja pozive visoke razine kako bi nešto sakrio, ta se promjena otkriva jer se ono što je na disku i u registru ne podudara s onim što API kaže da je tamo, generirajući dijagnosticirane nedosljednosti.

Teoretski, rootkit bi se također mogao pokušati sakriti od RootkitRevealera presretanjem njegovih sirovih očitavanja i prepisivanjem podataka u hodu. Da bi se to postiglo, trebalo bi mu detaljno poznavanje NTFS, FAT i formata registra te mogućnost mijenjanja struktura bez uzrokovanja nedosljednosti ili očitih nuspojava - vrlo složen tehnički podvig koji se rijetko viđa. Unatoč tome, ne postoji nepogrešiv "univerzalni detektor": čak i pokretanje iz vanjskog okruženja (na primjer, korištenjem najboljih Linux distribucija ) moglo bi biti sabotirano posebno sofisticiranim i upornim artefaktima . U praksi, najrobustniji pristup je kombiniranje online analize s offline provjerom u pouzdanim okruženjima.

  Proširena podrška za Windows 10: Vodič za ESU, zahtjevi i aktivacija

Zahtjevi, dobre prakse i izvršenje

Za pokretanje ovog skeniranja, računu su potrebne privilegije "Sigurnosno kopiranje datoteka i direktorija", "Učitavanje upravljačkih programa" i "Održavanje diska" (one su administratorima u sustavima Windows XP i novijim verzijama dodijeljene prema zadanim postavkama). Kako bi se smanjili lažno pozitivni rezultati, preporučuje se pokretanje skeniranja dok je sustav u mirovanju i bez otvorenih aplikacija.

Prilikom ručnog izvršavanja, jednostavno pritisnite gumb za skeniranje. Tijekom procesa, program će pružati ažuriranja napretka i navesti sve nedosljednosti. Postoje dvije relevantne opcije: "Sakrij NTFS datoteke metapodataka" (omogućeno prema zadanim postavkama, kako bi se izbjeglo prikazivanje standardnih metapodataka skrivenih NTFS-om) i "Zapisnik skeniranja" (omogućeno prema zadanim postavkama; poništavanjem odabira preskočit ćete skeniranje Windows registra ).

Za automatizaciju, podržava parametre koji vam omogućuju pokretanje, prijavu i izlazak bez intervencije: rootkitrevealer outputfile]. Mogućnost -a počinje i završava automatski; -c ispisati rezultat u CSV formatu; -m prikazuje NTFS metapodatke; i -r onemogućuje skeniranje registra. Izlazna datoteka mora biti u dostupan lokalni volumen.

Daljinsko izvršavanje je moguće pomoću PsExec-a. Na primjer: psexec \\remote -c rootkitrevealer.exe -a c:\windows\system32\rootkit.log. S -c, napredak se ne prikazuje, a odstupanja se ispisuju u CSV formatu, što olakšava uvoz u bazama podataka ili skriptama.

Tumačenje rezultata i tipična odstupanja

Neslaganja "Skriveno od Windows API-ja" najčešća su kada rootkit skriva unose. Ako niste omogućili prikaz metapodataka NTFS-a, vidjet ćete razlike jer NTFS skriva svoje interne datoteke, kao što su $MFT ili $Secure , od API-ja . Neki antivirusni programi također pohranjuju podatke u alternativne tokove i skrivaju ih, što rezultira sličnim pogreškama.

Ovo su neki od standardnih metapodataka definiranih u NTFS-u (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 povezuje tri izvora u datotečnom sustavu: Windows API, glavnu tablicu datoteka (MFT) i indekse direktorija na disku. Mogu se pojaviti kombinacije poput "Vidljivo u API-ju, ali ne u indeksu ili MFT-u", "Vidljivo u MFT-u, ali ne u API-ju" itd., posebno ako se datoteka stvori ili izbriše tijekom analize i stvori prozor privremene nekonzistentnosti.

Primjer kreiranja tijekom skeniranja: C:\newfile.txt, veličine 8 bajtova, s porukom „Vidljivo u API-ju, ali ne u indeksu ili MFT-u“. Ovi slučajevi ne ukazuju nužno na rootkitove, već na istodobne promjene dok se pregledava.

Ako se pojavi poruka "Pristup odbijen", nešto nije u redu: RootkitRevealer koristi mehanizme za pristup bilo kojoj datoteci, direktoriju ili ključu, tako da se ta poruka ne bi trebala pojaviti u normalnim uvjetima rada.

U Registru postoji nekoliko zanimljivih neslaganja: „Duljina Windows API-ja nije u skladu s neobrađenim podacima“ (mogući pokušaj skrivanja stvarnog sadržaja), „Neusklađenost tipova“ (npr. REG_SZ se oglašava, ali bi trebao biti REG_BINARY), „Naziv ključa sadrži ugrađene NULL vrijednosti“ (poznata tehnika koja iskorištava razliku između nizova koji završavaju s NULL i nizova s ​​brojevima). Za ovaj posljednji slučaj, uslužni program RegDelNull tvrtke Sysinternals pomaže u čišćenju ključeva s ugrađenim NULL vrijednostima.

Do „neusklađenosti podataka“ može doći ako se vrijednost promijeni tijekom skeniranja (npr. vrijeme rada SQL Servera kao što je HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\RECOVERYMANAGER\MSSQLServer\uptime_time_utc). Morate potvrditi da vrijednost pripada legitimne komponente koji ažuriraju podatke u stvarnom vremenu.

Ilustrativan slučaj bio je rootkit HackerDefender: njegove usluge i upravljački programi bili su nevidljivi za Windows API, ali su bili prisutni u sirovom čitanju Registry groove-a; isto je vrijedilo i za njegove datoteke, koje je izravna analiza datotečnog sustava otkrila na disku.

Uobičajene pogreške i problemi s rootkitrevealer.exe u forenzičkim okruženjima

Neki forenzički kompleti (npr. WinTaylor) navode tipične pogreške povezane s rootkitrevealer.exe , kao što su: „nije valjana Win32 aplikacija“, „nije pronađena“, „pogreška aplikacije“ ili „problem s pokretanjem“. Ove se poruke obično javljaju tijekom instalacije sustava, pokretanja ili gašenja ili zbog sukoba s drugim rezidentnim aplikacijama.

Najčešći uzroci uključuju oštećene ili nedostajuće datoteke, nevažeće unose u registru, zaraze zlonamjernim softverom, nepotpune deinstalacije ili sukobe s drugim softverom. Izvor može biti oštećeni unos u registru, slučajno brisanje drugim alatom, neuspjelo preuzimanje ili prethodna infekcija koja je promijenila binarnu datoteku.

  Kako optimizirati Windows 11 kada je vaše računalo sporo

Kao zanimljivost inventara, neki popisi dokumentiraju izvršnu datoteku približne veličine 334 720 bajtova i hash-ovi kao što su SHA-1 i MD5 (npr. SHA‑1 d39e8a3fe92adc7d7fbc5293edf8a7b965484a59, MD5 ee738fe9bcdd605821002cec8c7206db) i CRC32 98b1af0b; oni se također pozivaju na verzija 2.1 u svojoj aplikaciji kontejnera i kategorija „Forenzički alati/operativni sustav“.

Metode otkrivanja i odgovora na rootkit

Otkrivanje rootkita nije uvijek jednostavno. Osim specifičnih alata, tehnike poput analize potpisa poznatih prijetnji, hladne usporedbe struktura, pretraživanja memorije za kuke i promjene te pregleda memorijskih izvataka nakon rušenja kombiniraju se kako bi se identificirali sumnjivi moduli . Također je uobičajeno oslanjati se na sustave za sprječavanje upada (IPS) kako bi zaštitili mrežu i smanjili vektore infekcije.

Specijalizirani uslužni programi uključuju GMER (za otkrivanje skrivenih procesa i promjena kernela), Kaspersky TDSSKiller (posebno za otkrivanje bootkitova i rootkitova kernela), Malwarebytes Anti-Rootkit, Microsoft Defender Offline (za skeniranje prije pokretanja sustava Windows) i RogueKiller. Pokretanje ovih programa s pouzdanog USB pogona za pokretanje ili u sigurnom načinu rada smanjuje površinu napada.

Za prijetnje pokretanja ili firmvera, preporučljivo je koristiti medije za spašavanje kao što je Kaspersky Rescue Disk, vratiti MBR s bootrec /fixmbr gdje je to prikladno i u težim slučajevima, ažurirajte/flashirajte BIOS/UEFI na čistu verziju od proizvođača kako biste uklonili niska razina perzistencije.

Praćenje pomoću Sysinternalsa je neprocjenjivo: Process Monitor (ProcMon) za aktivnost procesa i datoteka, Autoruns za provjeru što se učitava pri pokretanju i RootkitRevealer za odstupanja visoke/niske razine. SIEM platforme poput Wazuha i telemetrije u poslovnim okruženjima mogu otkriti neočekivana ponašanja mreže ili promjene integriteta.

Ako se infekcija potvrdi, razuman slijed je: isključiti računalo s mreže, skenirati iz vanjskog okruženja, procijeniti integritet pokretanja/firmvera i, ako nema jamstava, napraviti sigurnosnu kopiju podataka, potpuno očistiti disk (alatima poput DBAN-a) i ponovno instalirati s provjerenog medija, a zatim omogućiti mjere poput Secure Boot-a i TPM-a.

Prevencija: Razumna zaštita od rootkitova

Prevencija je ključna. Redovito ažurirajte sustav, instalirajte zakrpe na softver trećih strana, izbjegavajte izvršne datoteke iz sumnjivih izvora i nemojte koristiti crackove ili keygene: oni su omiljeni vektor za pakiranje rootkit dropera i loadera .

Onemogućite automatsko pokretanje USB-a, skenirajte vanjske pogone prije otvaranja, a u poslovnim okruženjima ograničite ili blokirajte portove i primijenite vatrozidove gdje je to prikladno. Radite s neprivilegiranim korisničkim računima, primijenite načelo najmanjih privilegija i zahtijevajte administratorske ovlasti za kritične promjene, smanjujući vjerojatnost tihih eskalacija.

Na kompatibilnom hardveru omogućite Secure Boot i TPM iz UEFI-ja kako biste zaštitili lanac pokretanja i pečatiranje ključa. Redovito održavajte izvanmrežne ili nepromjenjive sigurnosne kopije i koristite snimke/točke vraćanja kako biste skratili vrijeme oporavka ako nešto pođe po zlu.

Kako se instaliraju rootkitovi: droperi, učitavači i vektori

Napadači obično distribuiraju rootkitove kao kombinirane prijetnje: "dropper" koji isporučuje paket i "loader" koji iskorištava ranjivosti (poput prelijevanja međuspremnika) kako bi postavio implant tamo gdje ne bi trebao. To se prikriva kao phishing e-poruke , lažni instalacijski programi ili lažna ažuriranja.

Klasični vektori uključuju otimanje klijenata za razmjenu poruka radi širenja zlonamjernih poveznica, trojanski softver na portalima za preuzimanje, korištenje drugog zlonamjernog softvera kao nositelja i ugrađivanje u dokumente s bogatim sadržajem (npr. određene PDF-ove) koji, kada se otvore, automatski aktiviraju alat za umetanje.

Znakovi napada i tragovi otkrivanja

Cilj rootkita je ostati neotkriven. Unatoč tome, možete primijetiti promjene konfiguracije bez intervencije korisnika, neuobičajene prekide mreže zbog skrivenog prometa, nepoznate procese, usluge koje se ne mogu zatvoriti i onemogućene sigurnosne alate bez objašnjenja.

Drugi trag su konfliktne informacije između uslužnih programa koji navode datoteke, procese ili ključeve registra koristeći različite putove (API nasuprot sirovom čitanju). Tu se ističu pristupi poput RootkitRevealera: isti objekt koji "je" na disku, ali "nije" prema API-ju ukazuje na manipulaciju.

  Kako provjeriti stanje baterije prijenosnog računala na Windowsima i drugim sustavima

Glavne vrste rootkitova

Korisnički način rada: Ovi rade na razini procesa i biblioteke. Stabilniji su i relativno ih je lakše otkriti, iako mogu sakriti datoteke, procese i ključeve. Klasičan povijesni primjer je HackerDefender.

Način rada jezgre: Ovi virusi se nalaze u jezgri, s potpunom kontrolom i velikom prikrivenošću; teško ih je iskorijeniti i skloni su uzrokovati nestabilnosti ako su loše dizajnirani. Primjeri ove obitelji: TDL/Alureon u svojoj evoluciji.

Hibridi: kombiniraju korisničke i kernel komponente kako bi uravnotežili prikrivanje i stabilnost, što rezultira popularnošću među napadačima zbog njihove praktične svestranosti.

Firmware/Bootkitovi: Oni inficiraju BIOS/UEFI ili boot sektor (MBR/UEFI) kako bi se učitali prije operativnog sustava. Tehnologije poput Secure Boota učinile su mnoge klasične bootkitove zastarjelima, ali pojavili su se moderni UEFI implantati.

Virtualni i memorijski: VMBR-ovi učitavaju hipervizor ispod OS-a i virtualiziraju ga; memorijski se nalaze samo u RAM-u i nestaju nakon ponovnog pokretanja, što je vrlo korisno za kratkotrajne operacije.

Primjeri i istaknuta kronologija

Prvi rootkitovi za SunOS razvijeni su 90-ih; 1999. godine Greg Hoglund je opisao NTRootkit (Windows, kernel mod), a 2003. godine pojavio se HackerDefender (Windows 2000/XP, korisnički mod), što je potaknulo "natezanje konopa" s alatima poput RootkitRevealera.

Godine 2004., takozvani "grčki Watergate" koristio je rootkit za hakiranje više od 100 telefona na GSM mreži; 2005. otkriveno je da je Sony BMG u neke CD-ove uključio rootkit protiv piratstva, što je izazvalo veliku sigurnosnu kontroverzu.

Od 2008. godine, bootkitovi poput TDL-a (od TDL-1 do TDL-4) su se razvijali; 2009. godine, „Machiavelli“ je dokazao da ni macOS (tada Mac OS X) nije imun; 2010. godine, Stuxnet je koristio rootkit komponente za sabotažu iranskih industrijskih sustava.

Godine 2012. pojavio se Flame , masivni modularni zlonamjerni softver ; 2018. LoJax je postao prvi UEFI rootkit otkriven u divljini; a 2019. Scranos je kombinirao krađu vjerodajnica i skriveno generiranje prihoda s farmama klikova putem masovno kompromitiranih preglednika.

Resursi i preporučena literatura

Istraga Marka Russinovicha o slučaju Sony i njegov članak "Unearthing Rootkits" u Windows IT Pro pomažu u razumijevanju fenomena i tehnike koja stoji iza RKR-a; knjiga "Rootkits: Subverting the Windows Kernel" autora Grega Hoglunda i Jamieja Butlera je najdetaljniji traktat o toj temi.

Phrack Archive, knjiga Petera Szora "Umjetnost istraživanja i obrane od računalnih virusa", knjiga Eda Skoudisa i Lennyja Zeltsera "Malware: Fighting Malicious Code" te serija "Windows Internals" (od 4. izdanja nadalje) ključni su materijali za svakoga tko želi dublje istražiti arhitekturu i ozbiljne protumjere.

RootkitRevealer u ekosustavu Sysinternals

RKR koegzistira s drugim Sysinternals uslužnim programima korisnim u istraživanju: AccessChk i AccessEnum (učinkovite dozvole), Autoruns (sve što počinje sa sustavom), Process Explorer (tko je što otvorio i s kojim DLL-om), PsExec/PsTools (udaljeno izvršavanje i administracija), PsLogList i PsLoggedOn (događaji i sesije), Sigcheck (digitalni potpisi), SDelete (sigurno brisanje), ShareEnum (dijeljeni resursi) i Sysmon (napredna telemetrija u zapisniku događaja).

Uobičajeno je pronaći reference na "Preuzmi 1.71" u povijesnim repozitorijima, kao i na "Pokreni sada" putem Sysinternals Livea. Iako je projekt veteran, njegov način razmišljanja - uspoređivanje pristupa visoke i niske razine - ostaje ključan za lov na rootkite.

RootkitRevealer je, prije svega, lekcija iz obrambenog inženjerstva: ako nešto manipulira onim što API vraća, morate pogledati ispod i usporediti to s onim što stvarno postoji na disku i u registru; uz dobre prakse, odgovarajuće alate i offline provjeru kada je to potrebno, moguće je otkriti što se pokušava sakriti tamo gdje mislimo da nitko neće pogledati.

najbolje Linux distribucije za sigurnost
Povezani članak:
Najbolje Linux distribucije za zaštitu vaše sigurnosti i privatnosti