Hvordan Malware huder og installeres som en Service

En tjeneste er lastet ved oppstart enten ved å bruke svchost.exe eller ved vinduer direkte å starte applikasjonen. Hvis en tjeneste er lastet direkte av vinduer, kan det tilknyttede filnavnet som lanserer tjenesten finnes i ImagePath under følgende registeroppføringen

HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Services \\ tjenesteAnmeldelser

Når tjenesten blir lansert av svchost.exe, det vil bli plassert i en bestemt tjeneste gruppe, som deretter lansert av svchost.exe. En liste over disse gruppene og hvilke tjenester som er lansert under dem finner du her:

HKEY_LOCAL_MACHINE \\ Software \\ Microsoft \\ Windows NT \\ Currentversion \\ Svchost

Under denne tasten finner du ulike grupper (netsvcs, LocalServices, etc) som hver inneholder flere tjenester som vil bli lansert når gruppen er lastet med svchost.exe. Disse gruppene er lastet med følgende kommando:

svchost.exe -k netsvcs

Det vil laste alle tjenester som finnes under netsvcs gruppen i over nøkkelen og vises som en prosess under prosessen liste. Så hver gang en ny gruppe er lastet med svchost.exe, vil du finne en ny svchost.exe prosess oppført i minnet. Det er av denne grunnen til at det finnes flere svchost.exe prosesser som er oppført på en maskin. Hvis du bruker Windows XP, som denne kommandoen er ikke tilgjengelig på Windows 2000, kan du se hvilke tjenester hver svchost.exe prosess er å kontrollere ved å kjøre følgende kommando fra en ledetekst: Tasklist /SVC

Når en Tjenesten lanseres på denne måten, kan den faktiske filnavnet for tjenesten finnes her:

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\servicename
\\Parameters\\\\ServiceDll

Verdien av ServiceDLL er selve tjenesten fil som vi ønsker å være opptatt av.

Listing og analysere tjenestene

For å få en rapport over konfigurerte tjenester på datamaskinen satte jeg sammen en enkel batch-fil som bruker Bobbi Flekman sin swsc program program for å få en liste over de tjenester og åpne en notisblokk. Ikke noe fancy, men sparer tid ved diagnostisering

Denne filen finner du her:. Getservices.zip

For å bruke script, du bare pakke ut filen på C: stasjonen, og du vil nå finne en katalog som heter c: \\ getservice. Inni den katalogen er en batch-fil som heter getservice.bat og psservice.exe filen. Bare dobbeltklikk på getservice.bat filen og det vil skape en notisblokk som inneholder en liste over tjenester som er installert på maskinen du kjører den på. Merk: Du må kjøre som en bruker med administrator privaleges eller dette skriptet vil enten ikke fungere eller ikke gi nok informasjon

Utgangen av skriptet vil inneholde informasjon om hver tjeneste installert på din datamaskin.. Viktig informasjon å se på i service oppføringene er ::
SERVICE_NAME Dette er navnet på tjenesten går og er hva det er lagret i registeret etter. BINARY_PATH_NAME Dette er selve filen som blir brukt til å lansere tjenesten. DISPLAY_NAME Dette er navnet på tjenesten vises under i services.msc i kontrollpanelet. Navn start Dette forteller deg hvis tjenesten er deaktivert, startes manuelt, eller automatisk startet.

Nedenfor er eksempler på hvordan en oppføring vil se på to ulike typer infeksjoner forklaringer på hvordan du skal tolke informasjonen gitt:
SERVICE_NAME: O ?? 'Zrt ñ å È ² $ Ó? (null) TYPE: 20 WIN32_SHARE_PROCESS starttype: 2 AUTO_START ERROR_CONTROL: 0 IGNORE BINARY_PATH_NAME: C: \\ WINDOWS \\ system32 \\ d3xi.exe /s LOAD_ORDER_GROUP: TAG: 0 DISPLAY_NAME: Remote Procedure Call (RPC) Helper avhengig: SERVICE_START_NAME: Local Home Search Assistant Eksempel

The Home Search Assistant bruker en tjeneste, blant standard Run oppføringer, som en del av sin infeksjon. De viktigste egenskapene vi kan samle fra ovenstående informasjon er som følger:


    er Remote Procedure Call (RPC) Helper

    Den har navn Det er visningsnavn i Services kontrollpanelet en tjeneste ?. av O ?? 'Zrt ñ å È ² $ jeg i registeret

    Det startes automatisk ved oppstart

    Filen som starter denne tjenesten er C: \\ WINDOWS \\ system32 \\ d3xi.exe

    Bevæpnet med denne informasjonen vi nå vet hva registeroppføringer tjenesten er lagret i, og filen som blir brukt som en del av Home Search Assistant infeksjon.
    < p> Det neste eksempelet er for Ssearch.biz kaprer, men den er lastet på en litt annen måte, forårsaker oss til å jobbe litt mer med å finne ut hva infeksjonen filen er.
    SERVICE_NAME: pnpsvc Gir Plug and Play SVC enheter støtte TYPE: 120 WIN32_SHARE_PROCESS INTERACTIVE_PROCESS starttype: 2 AUTO_START ERROR_CONTROL: 1 NORMAL BINARY_PATH_NAME: C: \\ WINNT \\ system32 \\ svchost.exe -k netsvcs LOAD_ORDER_GROUP: TAG: 0 DISPLAY_NAME: Plug and Spill SVC tjeneste avhengig: SERVICE_START_NAME: Local SSearch.biz Eksempel


    SSearch.biz kaprer bruker en tjeneste som en del av sin infeksjon i tillegg. De viktigste egenskapene vi kan samle fra ovenstående informasjon er som følger:


      Det er visningsnavn i Services kontrollpanelet er Plug and Play SVC tjeneste

      Den har et navn pnpsvc tjeneste i registeret

      Det startes automatisk ved oppstart

      Filen som starter denne tjenesten er C: \\ WINNT \\ system32 \\ svchost.exe -k netsvcs

      Nå er denne informasjonen, men nyttig, er noe ubrukelig uten å grave rundt videre i registeret. Vi vet at filen som starter tjenesten er svchost.exe, men det er et legitimt program, så vi ønsker ikke å slette den. Hvordan kan vi da finne den aktuelle filen til å fjerne? Husk hva vi diskuterte ovenfor om hvordan svchost.exe fungerer?

      Fra BINARY_PATH_NAME vi vet at filen er en del av netsvcs gruppen. Det betyr at når svchost laster som gruppe, som kan inneholde mange tjenester, det vil også laste ned filen knyttet til denne tjenesten. For å finne den faktiske filnavnet for denne tjenesten, må vi sjekke følgende registernøkkel:

      HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Services \\ pnpsvc \\ Para \\\\ ServiceDLL

      Verdien av ServiceDLL Nøkkelen er selve filen som vi ønsker å bli kvitt.

      I neste avsnitt vil vi diskutere hvordan å fjerne tjenesten via slette oppføringer i registeret.

      Fjerne en tjeneste

      Ta en tjeneste manuelt krever fjerne oppføringer fra registeret. Dette kan være en farlig oppgave for helsen til datamaskinen. Hvis du ikke føler deg komfortabel med å gjøre dette, så kan du spørre noen andre til å hjelpe med dette trinnet i opprydding prosedyre som gjør en feil kan føre til at datamaskinen du arbeider på å ikke fungere skikkelig.

      Tjeneste oppføringer er lagret i registeret under en seksjon kalt ControlSet. En ControlSet er plassert under følgende nøkkel:

      HKEY_LOCAL_MACHINE \\ SYSTEM

      En ControlSet er en komplett kopi av konfigurasjonen som brukes til å kunne lansere tjenester og andre viktige filer og amp; drivere for Windows. Når du ser under ovenfor nøkkelen vil det alltid være minst to ControlSets og ett CurrentControlSet. For å få til denne opplæringen vil jeg bruke det jeg har på min maskin, som er ControlSet1 og ControlSet2 (det kan være mer opp til maksimalt 4). En av disse nummererte kontrollsett refererer til standardkonfigurasjonen som brukes når maskinene starter vanligvis opp. Den andre nummerert kontroll sett refererer til den som brukes når du velger å starte opp med den siste fungerende konfigurasjon. Den siste, CurrentControlSet, er en eksakt speilbilde av ControlSet vi hadde brukt til å starte opp i Windows, slik at hvis du gjør en endring CurrentControlSet vil det automatisk dukke opp i ControlSet det er speiling og vice-versa.

      Hvis du ønsket å vite sikkert hvilke ControlSet den CurrentControlSet peker på kan du undersøke følgende nøkkel:

      HKEY_LOCAL_MACHINE \\ SYSTEM \\ Velg

      Denne nøkkelen gir oss viktig informasjon om hvilke ControlSet ble brukt på den siste støvelen, som brukes som standard, og som er utpekt for LastKnownGoodConfiguration. Denne nøkkelen inneholder følgende verdier:
      Current Dette vil inneholde nummeret til ControlSet at vi bruker for øyeblikket og som CurrentControlSet peker til. Standard Dette vil inneholde nummeret til ControlSet som Windows bruker som standard ved oppstart. Mislyktes Dette vil indikere med ControlSet var den som feilet på siste boot. Hvis det er 0, så var det ingen feil. LastKnownGood Dette vil inneholde nummeret til ControlSet som Windows bruker når vi velger den siste fungerende konfigurasjon

      Hvis vi ønsket å fjerne en tjeneste fra registret vi ville bare trenger å fjerne det fra de nummererte ControlSets (husk manuelt CurrentControlSet er en speil av en av de nummererte de). For eksempel vil fjerne tjenesten for en SSearch.biz kaprer på maskinen min, ville vi bare slette fra registret følgende oppføringer:

      HKEY_LOCAL_MACHINE \\ SYSTEM \\ ControlSet001 \\ Services \\ pnpsvc \\ HKEY_LOCAL_MACHINE \\ SYSTEM \\ ControlSet002 \\ Services \\ pnpsvc \\

      Når vi starte på nytt, vil disse tjenestene ikke lenger bli oppført i tjenestene kontrollpanelet

      Til tider skjønt, vil malware også installere seg under disse tastene.

      HKEY_LOCAL_MACHINE \\ SYSTEM \\ ControlSet001 \\ Enum \\ Root HKEY_LOCAL_MACHINE \\ SYSTEM \\ ControlSet002 \\ Enum \\ Root

      som undernøkler kalt LEGACY_ svcname.
      Disse LEGACY_ svcname
      oppføringer skal slettes så godt, men vil vanligvis kreve at du endre rettighetene på dem for å slette dem. Bare endre sikkerhetstillatelsene på disse tastene for å Everyone (Full) og deretter slette dem.

      Konklusjon

      Å vite hvordan man skal diagnostisere en tjeneste som kjører som en malware er en viktig en del av kampene spyware. Ettersom mer og mer spyware og virus bruker denne teknikken, forståelsen av hvordan tjenestene fungerer og er konfigurert i registeret vil gjøre forskjellen mellom å fikse en datamaskin og ikke fikse det.

      Som alltid hvis du har noen kommentarer, spørsmål eller forslag om denne opplæringen ikke nøl med å fortelle oss i forumet.

      For ekspert malware fjerning hjelp, kan du be om hjelp i vår virus, trojaner, spyware og malware fjerning Logger. Anmeldelser

      - Lawrence Abrams piper Computer Advanced Spyware fjerning Tutorial BleepingComputer.com: Computer Support & Opplæringsprogrammer for begynnelsen datamaskin brukeren.