What is a clean hive program?

Guide til Windows Registry Hives

14/08/2013

Rating: 4.1 (11320 votes)

Windows Registry er en fundamental del af operativsystemet, der fungerer som en central database for konfigurationsindstillinger, hardwareoplysninger og softwarepræferencer. Denne database er organiseret i logiske sektioner kaldet Registry Hives, som er afgørende for både systemets daglige drift og for specialiserede opgaver som systemgendannelse og digital efterforskning. At forstå, hvordan man korrekt tilgår og kopierer disse hives fra et live-system, er en essentiel færdighed for IT-administratorer, sikkerhedsanalytikere og digitale efterforskere. Uden den rette teknik risikerer man at arbejde med ufuldstændige eller forældede data, hvilket kan kompromittere en undersøgelse eller en systemanalyse. Denne artikel giver en dybdegående gennemgang af de forskellige metoder til at udtrække registry hives, deres fordele og ulemper, samt de værktøjer, der kan optimere processen.

What happens when a registry hive is frozen?
When registry hives are frozen, no changes to their files are allowed on a disk (“ all write operations to the disk are stopped and that files are in a well-defined state for backup “). During the freeze operation, transaction log files are applied to corresponding hive files.
Indholdsfortegnelse

Metoder til at kopiere Registry Hives

Når man udfører live-analyse eller retsmedicinsk dataindsamling på et aktivt system, er det ofte nødvendigt at kopiere registry hives fra disken. Der findes flere anerkendte metoder til dette, hver med sine egne fordele og ulemper. Valget af metode kan have stor betydning for dataintegriteten og de spor, man efterlader på systemet.

1. Brug af 'reg save' kommandoen

En af de mest almindelige metoder er at bruge kommandoen reg save <hive> <fil> i kommandoprompten. Mange DFIR-udøvere (Digital Forensics and Incident Response) og pentestere anvender denne kommando til hurtigt at hente hives fra et live-system. Det er dog vigtigt at bemærke, at denne kommando har en væsentlig begrænsning: den kan ikke eksportere applikations-hives. Internt kalder reg-værktøjet enten RegSaveKeyEx eller RegSaveKey rutinerne. Hvis roden af en hive angives (f.eks. HKLM\System), bruges RegSaveKeyEx med argumentet REG_NO_COMPRESSION. I andre tilfælde bruges RegSaveKey.

2. Direkte kald af RegSaveKeyEx/RegSaveKey

Programmeringsmæssigt kan man kalde disse API-funktioner direkte for at opnå mere kontrol over eksportprocessen. RegSaveKeyEx-rutinen kan eksportere en hive ved hjælp af forskellige tilstande:

  • REG_STANDARD_FORMAT: Eksporterer hiven i standardformatet (version 1.3).
  • REG_LATEST_FORMAT: Eksporterer hiven i det "seneste" format (typisk version 1.5).
  • REG_NO_COMPRESSION: Eksporterer hiven, som den er, ved at kopiere dens fil og inkludere eventuelle aktuelle ændringer i hukommelsen.

Når man bruger REG_STANDARD_FORMAT og REG_LATEST_FORMAT, bevares ingen slettede registerdata, da kun allokerede nøgler og værdier kopieres til en midlertidig hive under eksporten. Med REG_NO_COMPRESSION bevares de fleste slettede data, men med to undtagelser: data ud over den sidste "hive bin" skrives ikke med, og ved eksport af en containeriseret hive bevares ingen slettede data.

3. Kopiering fra eksisterende Shadow Copies

Volume Shadow Copies (VSS) giver en nem måde at få adgang til låste filer på. At læse en hive-fil fra en eksisterende shadow copy er mindre invasivt, men det er sandsynligt, at man får forældede data. En shadow copy indeholder et "snapshot" af disken på et bestemt tidspunkt, så de hentede hives vil afspejle systemets tilstand på det tidspunkt, snapshot'et blev taget, ikke den nuværende tilstand.

What is a class hive?

4. Kopiering fra en nyoprettet Shadow Copy

For at få de mest aktuelle data kan man oprette en ny shadow copy. Dette efterlader dog et stort fodaftryk på systemet, og processen kan potentielt slette en ældre shadow copy for at frigøre plads. Når en shadow copy oprettes, fryser Windows-kernen midlertidigt alle registry hives for at sikre datakonsistens. Under denne "frysning" anvendes transaktionslogfiler (.LOG1, .LOG2) på de tilsvarende hive-filer. Dette betyder, at man mister muligheden for at analysere den "før"-tilstand, som logfilerne repræsenterede. Data i transaktionslogfilerne, som kan indeholde opdateringer for op til en time, bliver permanent integreret i hiven, og logfilerne tømmes ofte bagefter.

5. Direkte læsning fra et NTFS-volumen

En anden metode, der anses for at være mindst invasiv, er at læse låste filer direkte fra et logisk eller fysisk volumen ved hjælp af en NTFS-parser som FTK Imager Lite eller RawCopy. Denne metode omgår operativsystemets fillåse. Dog kan læsning fra et logisk drev (f.eks. \\.\C:) få NTFS-driveren til at "flushe" ventende ændringer til filsystemets metadata, såsom opdateringer til seneste adgangstidspunkter. For at bevare integriteten af de nuværende NTFS-metadata bør værktøjer derfor bruges mod et fysisk drev (f.eks. \\.\PhysicalDrive0).

Sammenligning af metoder til hive-kopiering

For at give et klart overblik er her en sammenligningstabel over de diskuterede metoder.

MetodeFordeleUlemperBevarelse af slettede data
reg saveSimpel og hurtig at bruge.Kan ikke eksportere applikations-hives. Begrænset kontrol.Moderat (bevarer det meste, men ikke alt).
RegSaveKeyExHøj grad af kontrol over eksportformat.Kræver programmering eller specialværktøj.Afhænger af format (ingen med STANDARD/LATEST, god med NO_COMPRESSION).
Eksisterende Shadow CopyMeget lidt invasiv.Data er sandsynligvis forældede.Fuldstændig (som den var på tidspunktet for snapshot).
Ny Shadow CopyGiver adgang til aktuelle data i en konsistent tilstand.Meget invasiv. Anvender transaktionslogfiler og sletter dermed potentielt vigtige data.Fuldstændig, men efter anvendelse af transaktionslog.
Direkte læsningMindst invasiv, hvis det gøres korrekt (mod fysisk drev). Giver adgang til den "rå" fil.Risiko for at kopiere en fil midt i en skriveoperation. Kan påvirke metadata, hvis man læser fra logisk drev.Fuldstændig.

Avancerede værktøjer: RECmd og rla.exe

For at håndtere kompleksiteten ved registry-analyse, især med hensyn til transaktionslogfiler, er der udviklet specialiserede værktøjer. RECmd, en del af Eric Zimmermans EZ Tools-pakke, er et kraftfuldt kommandolinjeværktøj designet til at parse registry hives.

What is a hive bin?
Such a transaction is written to storage files of the Common Log File System (CLFS). Transactional registry and storage files of the CLFS are out of the scope of this document. A primary file consists of a base block, also known as a file header, and hive bins data. Hive bins data consists of hive bins.

Forståelse af 'Clean' vs. 'Dirty' Hives

En "dirty" hive er en hive-fil, hvor der er ventende ændringer gemt i tilhørende transaktionslogfiler (f.eks., SYSTEM.LOG1). En "clean" hive er en, hvor disse logfiler er blevet anvendt, så hive-filen er fuldt opdateret. At analysere en "dirty" hive uden at tage højde for logfilerne betyder, at man ser på ufuldstændige data.

RECmd kan automatisk anvende disse logfiler for at give en komplet visning. --nl-switchen (no logs) styrer denne adfærd:

  • --nl false (standard): RECmd anvender transaktionslogfiler, hvis de findes, og parser den resulterende "clean" hive.
  • --nl true: RECmd ignorerer transaktionslogfiler og parser kun den "dirty" hive-fil.

Forskellen kan virke lille – måske kun et par linjers data – men i en efterforskning kan disse linjer være afgørende.

rla.exe: Replay Log Agent

Et andet nyttigt værktøj er rla.exe. Dets eneste formål er at anvende transaktionslogfiler på "dirty" hives og gemme de resulterende "clean" hives i en specificeret mappe. Dette er især nyttigt, hvis man vil bruge andre analyseværktøjer, der ikke selv kan håndtere transaktionslogfiler. Man kan køre rla.exe først for at forberede filerne og derefter køre analysen på de rene hives.

Ofte Stillede Spørgsmål (FAQ)

Hvad er en registry hive?

En registry hive er en fil på disken, der indeholder en logisk gruppe af nøgler, undernøgler og værdier fra Windows Registry. Eksempler inkluderer SAM, SECURITY, SOFTWARE, SYSTEM og NTUSER.DAT. Disse filer er essentielle for systemets funktion.

What is a hive volume?
Volumes are used to persist data generated by Hive inside Postgres and HiveServer2 containers: The volume persists the metadata of Hive tables inside Postgres container. The volume stores tables' files inside HiveServer2 container. To stop/remove them all,

Hvad er forskellen på en 'clean' og en 'dirty' hive?

En 'dirty' hive har udestående ændringer gemt i en eller flere transaktionslogfiler. En 'clean' hive er fuldt opdateret, enten fordi der ikke var nogen udestående ændringer, eller fordi logfilerne er blevet anvendt på den.

Hvorfor er transaktionslogfiler vigtige?

Transaktionslogfiler indeholder de seneste ændringer i registreringsdatabasen, som endnu ikke er skrevet permanent til selve hive-filen. At ignorere dem kan føre til, at man går glip af afgørende beviser, såsom nyligt oprettede nøgler eller ændrede værdier, som kan være relevante i en digital efterforskning.

Hvilken metode er bedst til at kopiere en hive?

Det afhænger af målet. For den højeste dataintegritet og bevarelse af alle artefakter (inklusive transaktionslogfiler i deres separate tilstand) er direkte læsning fra det fysiske drev ofte den bedste metode. Hvis man har brug for et hurtigt, konsistent snapshot og er villig til at acceptere tabet af separate logfiler, kan oprettelse af en ny shadow copy være passende. Hver metode indebærer et kompromis mellem datakvalitet og invasivitet.

Hvis du vil læse andre artikler, der ligner Guide til Windows Registry Hives, kan du besøge kategorien Teknologi.

Go up