
Rootkit-ohjelmat ovat määritelmän mukaan todella ärsyttäviä: ne piileskelevät syvällä järjestelmässäsi ja huijaavat työkalusi luulemaan, että kaikki on hyvin, vaikka se ei olekaan. Tiedä, miten ne paljastetaan... apuohjelma, kuten RootkitRevealer on avain hallinnan takaisin saamiseksi. Tässä oppaassa selitän askel askeleelta, miten ymmärtää tuloksesi, mitä eroavaisuudet tarkoittavat ja miten toimia kiirehtimättä tai rikkomatta mitään matkan varrella, aina Käytännön neuvoja ja 100 % puolustuskannalla oleva lähestymistapa.
Vaikka RootkitRevealer on kokenut työkalu, sen filosofia opettaa sinulle edelleen paljon siitä, miten rootkitit piiloutuvat ja miten verrata "mitä Windows sanoo" "mitä levyllä todellisuudessa on". Näet, mitä se havaitsee hyvin ja mitä ei, miten skannaukset automatisoidaan ja miten tulkitaan tyypillisiä tapauksia, kuten NTFS-metatietotiedostoja, rekisteriavaimia ja muita vastaavia. Upotetut NULL-arvot tai API:n ja raakadatan välisiä koko-/tyyppieroja.
Mikä on rootkit ja miksi sitä on niin vaikea havaita?
Kun puhumme rootkit-ohjelmista, viittaamme tekniikoihin ja komponentteihin, jotka haittaohjelmat (virukset, vakoiluohjelmat tai troijalaiset), joiden tarkoituksena on piilottaa läsnäolonsa järjestelmään ja tietoturvatyökaluihin. Tämä naamiointikyky vaikeuttaa havaitsemista ja poistamista.
Pysyvyytensä perusteella erotamme rootkit-haittaohjelmat, jotka selviävät uudelleenkäynnistyksestä (pysyvät), ja rootkit-haittaohjelmat, jotka sijaitsevat vain muistissa (ei-pysyvät). Pysyvät rootkit-haittaohjelmat tallentavat komponentteja rekisteriin tai tiedostojärjestelmään ja käynnistyvät automaattisesti tietokoneen käynnistyksen yhteydessä, kun taas muistirootkit-haittaohjelmat katoavat uudelleenkäynnistyksen jälkeen. uudelleenkäynnistys.
Toimintansa perusteella ne luokitellaan käyttäjätilaksi tai ydintilaksi. Käyttäjätila häiritsee Windowsin API-funktioita (FindFirstFile/FindNextFile, prosessien luettelointi tai rekisteri) suodattaakseen pois elementit, jotka paljastaisivat niiden olemassaolon. Ydintilan ohjelmat menevät yhden tason alemmaksi ja manipuloi natiivikutsuja tai järjestelmän sisäisiä rakenteita, jopa piilottamalla prosesseja aktiivisen ytimen prosessiluettelo.
Lisäksi käytännössä näet muita perheitä ja tekniikoita: ydin, sovellus, muisti, käynnistyspaketit (ne vaikuttavat käynnistyslataimeen) tavaratila), kirjasto- ja laiteohjelmiston rootkit-tiedostot. Laiteohjelmisto- ja käynnistysrootkit-tiedostot ovat erityisen haitallisia, koska ne latautuvat ennen käyttöjärjestelmää ja selviää uudelleenasennuksista.

RootkitRevealerin toimintaperiaate: vertaa Windows-näkymää todellisiin tietoihin
RootkitRevealer on suunniteltu löytämään API-rajapintoja manipuloivia rootkit-ohjelmia. Sen temppu on vertailla "korkean tason näkymää" (Windows API) "matalan tason näkymään" (NTFS/FAT-levyjen ja rekisterialueiden raakaluku). Jos API näyttää jotain, mutta ei raakadatassa, tai päinvastoin, on ongelma. ristiriitaisuudet, jotka ansaitsevat analysoinnin.
Tämän lähestymistavan ansiosta RootkitRevealer onnistui havaitsemaan suosittuja pysyviä uhkia, kuten AFX:n, Vanquishin ja HackerDefenderin. Ole varovainen, se ei kata kaikkea: sitä ei esimerkiksi ole suunniteltu havaitsemaan rootkit-ohjelmia, jotka eivät yritä piilottaa tiedostoja tai rekisteriavaimia (kuten Fu), joten sen hyödyllisyys keskittyy niihin, jotka... "muodostaa" luettelot.
Voivatko rootkitit huijata sitä? Teoriassa kyllä: niiden pitäisi siepata raakalukutietoja rekisterikehyksistä tai levytiedoista ja muokata niitä lennossa rikkomatta NTFS/FAT-järjestelmän tai rekisterikehyksistä koostuvan muodon yhtenäisyyttä. Tätä hienostuneisuutta esiintyy edistyneissä tilanteissa, mutta sen toteuttaminen ei ole yksinkertaista. toteuttaa jälkiä jättämättä.
On tärkeää pitää mielessä perusrajoitus: järjestelmässä, johon kernel rootkit on jo tarttunut, ei ole absoluuttisia takeita. Ytimen hallintaansa pitävä hyökkääjä voi manipuloida mitä tahansa API:a, jopa RootkitRevealerin käyttämiä. Siksi on hyvä tarkistaa asia aina kun mahdollista. offline-skannaukset ja vertaile "online/offline"-tuloksia.

Skannausta edeltävät vaatimukset ja parhaat käytännöt
Jotta RootkitRevealer toimisi oikein, sitä suorittavalla tilillä on oltava oikeudet "Varmuuskopioi tiedostot ja hakemistot", "Lataa ohjaimet" ja "Suorita levyaseman ylläpitotehtäviä". Windows XP:ssä ja uudemmissa järjestelmänvalvojaryhmällä on jo nämä oikeudet, joten suorita työkalu tililtä, jolla on seuraavat oikeudet: korotetut etuoikeudet.
Minimoi vääriä positiivisia tuloksia: Sulje kaikki sovellukset ja pidä tietokone mahdollisimman käyttämättömänä tarkistuksen aikana. Tiedostojen ja salasanojen vaihtamisen välttäminen tarkistuksen aikana vähentää "hyvänlaatuisia" eroja (esim. kiertävää lokia tai salasanaa). päivittää aikaleimansa muutaman sekunnin välein).
Käytännön vinkki: verkkoversio komennot koska haittaohjelma etsi suoritettavaa tiedostoa nimen perusteella. Apuohjelma käynnistää nyt kopion satunnaisella nimellä ja toimii palveluna, vaikka se ylläpitääkin automatisoitavat parametrit ja tallenna tulokset tiedostoon.
Jos käyttöön tai tulkintaan liittyy epäilyksiä, Sysinternalsin teknisten foorumien tarkastelu voi antaa vihjeitä tosielämän tapauksiin ja yleisiin vääriin positiivisiin tuloksiin, erityisesti "harvinaisten" rekisterimerkintöjen, vaihtoehtoisten tietovirtojen tai muiden ominaisuuksien osalta. NTFS-metatiedot.

RootkitRevealerin manuaalinen käyttö
Peruskäyttö on yksinkertaista: avaa sovellus ja napauta "Skannaa". Näet edistymisen alareunassa ja kun skannaus on valmis, luettelon eroista. Kaksi asiaankuuluvaa asetusta, jotka voit ottaa käyttöön/poistaa käytöstä, vaikuttavat siihen, mitä näytetään ja mitä kirjataan. tentin aikana:
- Piilota NTFS-metatietotiedostot: Oletusarvoisesti käytössä. Estää sellaisten sisäisten NTFS-tiedostojen (kuten $MFT tai $Secure) näkymisen, joita Windows API ei paljasta, mutta jotka ovat levyllä.
- Tenttiraportti: myös oletuksena käytössä. Jos poistat sen, RootkitRevealer ei tarkista rekisteriä, mikä rajoittaa vertailun laajuuden järjestelmään. vain tiedostot.
Muista: NTFS-metatiedot vaihtelevat version ja käytössä olevien ominaisuuksien (lokikirjaus, kiintiöt, objektit jne.) mukaan. Jos et piilota näitä tiedostoja, näet "Piilotettu Windows API:lta" -ristiriitoja kaikkialla NTFS-levyillä ja eivät itsessään osoita infektiota.
Automaattinen analyysi ja komentoriviasetukset
RootkitRevealerin avulla voit automatisoida skannauksia ja viedä tulokset paikalliseen tiedostoon. Syntaksi on seuraavanlainen, ja se on hyödyllinen ohjelmoinnissa tai silloin, kun haluat siirtää sen johonkin tietokanta:
esimerkiksi: rootkitrevealer outputfile]
- -a: analysoi ja sulkeutuu automaattisesti, kun se on valmis.
- -c: Muotoilee tulosteen CSV-muotoon (ihanteellinen tuontiin).
- -m: Näyttää NTFS-metatiedot (ei piilota niitä).
- -r: Poistaa käytöstä rekisterin tarkistuksen (vain tiedostot).
Tärkeää: Tulostetiedoston on sijaittava paikallisella asemalla. Jos otat käyttöön -c, edistymistä ei näytetä ja erot menevät suoraan CSV-tiedostoon. Etätiimit voivat luottaa Sysinternalsin PsExec-komentoon, jossa on tällainen rivi:
Etäesimerkki: psexec \\remote -c rootkitrevealer.exe -a c:\windows\system32\rootkit.log
Tämä lähestymistapa on hyödyllinen skaalatussa analyysissä tai silloin, kun sinun on kerättävä todisteita useilta koneilta ilman, että sinun tarvitsee muodostaa yhteyttä istuntoon. etätyöpöytä.
Tulosten tulkinta: tyypilliset poikkeamat ja niiden merkitys
RootkitRevealerin todellinen arvo piilee siinä, miten tulkitset sen tuloksia. Täydellistä "kaikki/ei mitään" -ratkaisua ei ole: sinun on tarkasteltava jokainen merkintä ja kysyttävä itseltäsi, onko se järkevä. Alla on yleisimmät kategoriat ja vinkkejä niihin lankeamisen välttämiseksi. vääriä positiivisia:
Piilotettu Windows API:ltaTämä on klassinen ristiriita. Jos et piilota NTFS-metatietoja, näet useita merkintöjä sisäisille tiedostoille, kuten $MFT tai $Secure, jotka järjestelmä piilottaa API:lta. Jotkin virustorjuntaohjelmat tallentavat tietoja myös vaihtoehtoisiin virroihin (ADS) ja "piilottavat" ne samankaltaisilla tekniikoilla, jotta ne näkyvät piilossa API:lta. Windows.
Luettelo NTFS-metatiedoista (Windows Server 2003), joita saatat kohdata ilman, että ne olisivat haittaohjelmia: $AttrDef, $BadClus, $HuonoKerros:$Huono, $BitMap, Saapas, $LokFile, $Mft, $MftMirr, $Secure, $UpCase, $Määrä, $Laajenna, $Extend\$Uudelleenjäsennys, $Extend\$ObjId, $Laajenna\$UsnJrnl, $Extend\$UsnJrnl:$Max, $Laajenna\$KiintiöNämä tapaukset ovat normaaleja NTFS:ssä eivätkä itsessään viittaa mihinkään. rootkit.
Pääsy estettyNormaalioloissa RootkitRevealerin ei pitäisi ilmoittaa ”Pääsy estetty” -ilmoituksesta, koska se käyttää mekanismeja varmuuskopio avataksesi kaiken. Jos näet sen, kannattaa vilkaista uudelleen, vaikka se voi johtua myös siitä, että tiedosto on lukittu tiettynä ajankohtana tai ulkoinen käyttöoikeusrajoitus estää lukemisen. väliaikaisesti.
Näkyvissä Windows API:ssa / MFT:ssä / hakemistoindeksissäYhdistelyjä on useita: "Näkyy API:ssa, mutta ei MFT:ssä tai indeksissä", "Näkyy API:ssa ja indeksissä, mutta ei MFT:ssä", "Näkyy indeksissä, mutta ei API:ssa tai MFT:ssä". Yleisin selitys on tiedosto, joka luodaan tai poistetaan skannauksen aikana. Tyypillinen esimerkki:
C:\newfile.txt
Päivämäärä tunti
8 tavua
Näkyvissä Windows API:ssa, mutta ei hakemistoindeksissä tai MFT:ssä.
Windows API:n mukainen pituus ei vastaa alipuun tietoja.Tämä voi tapahtua, jos rootkit yrittää piilottaa sisältöä väärentämällä eri kokoa tai jos arvo muuttuu luettaessa. Tällaiseen arvoon on kiinnitettävä erityistä huomiota, varsinkin jos et odota sen muuttuvan prosessin aikana. suoritus.
Tyyppiristiriita Windows API:n ja raakapuun välilläRekisteriarvoilla on tyyppejä (REG_SZ, REG_DWORD, REG_BINARY jne.). Tämä ei vastaa tyyppejä, jotka API:n näkemä tyyppi ei vastaa hive-tiedostossa olevaa tyyppiä. Tätä voidaan käyttää tietojen piilottamiseen (esim. tallentamalla binääritiedosto välittämällä se merkkijonona, jonka alussa on nolla). vahvista sen oikeutus.
Avaimen nimi sisältää upotettuja NULL-arvojaWindows käsittelee avainten nimiä null-päätteisinä merkkijonoina, kun taas ydin käyttää laskettuja merkkijonoja. Tämä mahdollistaa "puoliksi näkymättömien" avainten luomisen työkaluille, kuten RegeditSe on dokumentoitu haittaohjelmien käyttämä taktiikka. Sysinternals on poistanut ne RegDelNull.
API:n ja raakapuun välinen dataero. Se yleensä ilmaisee arvon, jota päivitetään skannauksen aikana. Tyypillisiä esimerkkejä ovat palvelun käyttöajat (kuten SQL Server) tai "viimeisimmän skannauksen" arvot. On kuitenkin tärkeää varmistaa tapauskohtaisesti, että arvo kuuluu lailliselle sovellukselle eikä... epäilyttävä komponentti.
Mitä rootkit voi tehdä ja miten tunnistaa sen merkit
Jos rootkit hiipii sisään korkeilla oikeuksilla, hyökkääjä voi asentaa takaoven, lisätä haittaohjelmia (näppäinpainallusten tallentajia, vakoiluohjelmia, botteja), lukea/kopioida/muokata tiedostoja ja muuttaa järjestelmäparametreja mielensä mukaan. Lisäksi he tallentavat tunnistetiedot ja joskus poistavat käytöstä virustorjunta ja palomuuri.
Varoitusmerkit: selittämättömät hidastumiset, tuntemattomat prosessit, verkkoliikenteen piikit ilman avoimia sovelluksia, puuttuvat tai vioittuneet tiedostot, outoja virheitä tai sinisiä näyttöjä ja pyytämättömiä kokoonpanomuutoksia. Vaikka mikään näistä ei ole yksinään vahvistettu, yhdessä ne ovat vihjeitä sitoutuminen.
Historiallinen huomio sen vaikutuksen ymmärtämiseksi: tapaukset, kuten Stuxnet (teollisuussabotaasi), käyttäjien CD-levyiltä asennettu Sony BMG:n rootkit-skandaali tai alustuksenkin läpi kestävä UEFI LoJax -rootkit, osoittavat, kuinka pitkälle virus voi mennä. sitkeys.
Muista, että on olemassa tiloja, kuten käynnistyspaketit (MBR/UEFI) tai laiteohjelmistot, jotka latautuvat ennen käyttöjärjestelmää ja voivat ilmestyä uudelleen uudelleenasennuksen jälkeen. Nykyaikaisissa ympäristöissä suojattu käynnistys ja TPM auttaa lieventää tällaista huijausta.
Täydentävät työkalut ja infektioon reagointi
Jos epäilet tartuntaa, ensimmäinen tehtävä on katkaista yhteys hyökkääjään. Irrota tietokone verkosta (Ethernet/Wi-Fi/Bluetooth) ja vältä skannaamattomien USB-muistitikkujen asettamista. Päätä sen jälkeen, suoritetaanko skannaus. vikasietotila tai, parempi, keinolla ulkoinen käynnistys.
- GMERHavaitsee piilotetut prosessit, ytimen koukut ja epäilyttävät muutokset.
- Kaspersky TDSSKiller: erittäin hyödyllinen ytimen käynnistyspakettien/rootkitien kanssa.
- Malwarebytes Anti-RootkitIkkunoiden puhdistus.
- Windows Defender PoissaSkannaa ennen järjestelmän käynnistystä.
- RogueKillerprosessin tarkastelu, MBR ja rekisteriavaimet.
- Kaspersky Rescue Disk: BIOSin/UEFI:n ja käynnistyssektorien pelastusmedia.
- Autoruns ja prosessien valvonta (Sysinternals): nähdäksesi, mitä kukin prosessi alkaa ja tekee.
Jos ongelma viittaa käynnistykseen tai laiteohjelmistoon, harkitse MBR:n palauttamista bootrec /fixmbr Windowsissa ja tarvittaessa flash-asenna BIOS/UEFI valmistajan puhtaalla versiolla. Puhdistuksen jälkeen aktivoi Suojattu käynnistys ja TPM UEFI:ssa käynnistyksen suojaamiseksi.
Kun työkalut eivät pysty hävittämään sitä, turvallisin tapa on varmuuskopiointi (offline). täydellinen tyhjennys ja uudelleenasennus virallisesta mediasta. Se on radikaalein ratkaisu, mutta ainoa, joka takaa, ettei ole sitkeys järjestelmässä.
Ennaltaehkäisy ja ”hygienia”: peruskarkaisu (vähiten oikeuksien periaate), ajantasaiset järjestelmä- ja sovelluspäivitykset, vältä merirosvo-ohjelmisto, poista automaattinen käynnistys käytöstä USB, tee säännöllisiä offline-varmuuskopioita ja valvo poikkeavuuksia SIEM-ratkaisuilla ympäristöissä yritys.
Etiikka, laillisuus ja testausympäristöt
Rootkit-ohjelmien tutkiminen ilman lupaa on laitonta ja vaarallista. Jos teet testejä, tee ne eristyksissä olevissa laboratorioissa: virtuaalikoneet ilman internetyhteyttä tai siihen valmiita verkkoja. Ennen kuin kosket mihinkään tuotannossa, varmista, että sinulla on ajantasaiset varmuuskopiot ja että sinulla on suunnitelma kääntyminen.
Muista, että jotkin rootkit-ohjelmat yrittävät havaita työkaluja, kuten RootkitRevealeria, ja "pysäyttää" piiloutumisen tarkistuksen aikana pysyäkseen huomaamattomina. Siksi on niin arvokasta yhdistää reaaliaikainen analyysi offline-analyysiin ja verrata tuloksia lähteisiin. luotettava.
Syvempää tutkimusta varten tarkoitetut tapaukset ja resurssit
Kuuluisia tapauksia: Stuxnet osoitti, että rootkit voi sabotoida teollisuusjärjestelmiä herättämättä epäilyksiä, Sony BMG asensi piratisminvastaisen rootkitin käyttäjien tietokoneille, LoJax otti käyttöön UEFI-rootkitit ja TDL-4/Alureon hyödynsi käynnistystä jatkuaMyös vakoiluun ja rahaksi tekoon keskittyneitä kampanjoita, kuten "Kreikan Watergate", Flame ja Scranos, on dokumentoitu.
Lukeminen ja apuohjelmat: Sysinternalsin/Windows IT Pron tekniset artikkelit, kirja "Rootkits: Subverting the Windows Kernel" (Hoglund & Butler), Phrack-kokoelma ja Windows Internals, jotta ymmärrät taustalla olevan arkkitehtuurin. "Outojen" näppäinten puhdistamiseksi harkitse työkaluja, kuten RegDelNull.
Työkalukonteksti: RootkitRevealer luotiin Windows XP/Server 2003:lle (32-bittinen), ja se on nykyään enemmänkin oppimistyökalu "API vs. raw" -vertailumenetelmän ymmärtämiseen. Nykyaikaisissa järjestelmissä se yhdistää filosofiansa päivitettyihin pelastustyökaluihin ja alustan puolustuskeinoihin, kuten Secure Boot.
Jos otat yhden asian pois, niin olkoon se tämä: vertaa aina API:n sanomaa levyllä/rekisterissä olevaan todelliseen sisältöön, ymmärrä, miksi ristiriitaisuuksia ilmenee (kaikki ei ole haittaohjelmaa), käytä pelastustyökaluja, kun epäilet matalan tason hallintaa, ja suojaa käynnistys alustan toimenpiteillä; tällä tavoin katkaiset siivet. salamyhkäinen haittaohjelma.
Intohimoinen kirjoittaja tavujen maailmasta ja tekniikasta yleensä. Rakastan jakaa tietämykseni kirjoittamalla, ja sen aion tehdä tässä blogissa, näyttää sinulle kaikki mielenkiintoisimmat asiat vempaimista, ohjelmistoista, laitteistoista, teknologisista trendeistä ja muusta. Tavoitteeni on auttaa sinua navigoimaan digitaalisessa maailmassa yksinkertaisella ja viihdyttävällä tavalla.