Start » Informatyka śledcza, Porady » Wyszukiwanie ukrytych/skasowanych partycji cz. 1 – wprowadzenie

1

W większości przypadków pierwszym krokiem analizy danych dysku (lub innego nośnika danych) w kontekście informatyki śledczej jest upewnienie się, że bierzemy pod uwagę całą przestrzeń dyskową. W zależności od celu naszych prac podejście może się trochę różnić jednak na początku musimy wykonać kopię całego dysku (porównanie liczby sektorów w obrazie z liczbą LBA podaną przez producenta) i następnie przeanalizować również cały obszar. Jeżeli wykonujemy analizę w oparciu o pliki znajdujące się na utworzonych na dysku partycjach powinniśmy zacząć od sprawdzenia czy partycje, które analizujemy obejmują cały obszar zabezpieczonego dysku czy jedynie jego część.

Punktem wyjściowym jest dysk fizyczny, który dalej może zostać podzielony na obszary (tzw. dyski logiczne), które wykorzystywane będą przez system operacyjny (lub kilka systemów) do przechowywania danych. O ile te informacje wydają się być oczywiste, nie zawsze jednak oczywisty jest fakt, że przed rozpoczęciem analizy danych znajdujących się na dysku, który do nas trafił, powinniśmy sprawdzić, czy widoczne przez nas dyski logiczne obejmują całą przestań dostępną na dysku fizycznym (pomijając temat obszarów dysku ukrytych takich jak np. DCO czy HPA, o których napiszemy w jednym z kolejnych postów).

Master Boot Record

W pierwszym sektorze dysku (sektorze „0”) znajduje się Master Boot Record (MBR). Ma on standardowo długość 512 bajtów i zawiera on główną tabelę partycji, kod niezbędny do odnalezienia partycji aktywnej wykorzystywany podczas uruchamiania komputera, wiadomości błędów (eng. error messages) oraz bajty 55 AA, będące sygnaturą sektora MBR. Główna tabela partycji może przechowywać co najwyżej cztery wpisy (każdy o długości 16 bajtów). Każdy wpis zawierał będzie następujące informacje:

  1. Czy partycja jest aktywna tj. wskazana do wczytywania systemu operacyjnego (możliwe wartości to 80 = aktywna oraz 00 = nieaktywna) – pierwszy bajt.
  2. Sektor początkowy partycji w formacie CHS (Cylinder-Head-Sector) – kolejne 3 bajty.
  3. Typ partycji – kolejny 1 bajt.
  4. Sektor końcowy partycji w formacie CHS – kolejne 3 bajty.
  5. Położenie sektora początku partycji względem sektora zawierającego daną tabelę partycji (eng. sector offset) – kolejne 4 bajty.
  6. Rozmiar partycji wyrażony w liczbie sektorów – ostatnie 4 bajty.

Tabela partycji ma długość 64 bajtów i znajduje się na pozycji 446 (byte offset) w MBR. Wykorzystując aplikację EnCase możemy podejrzeć zawartość tej tabeli w następujący sposób:

Tabela Partycji

Możemy również w tym celu wykorzystać system operacyjny Linux i komendę file, która wyświetli nam część informacji.

Ostatecznie, możemy pokusić się o interpretację danych zapisanych w tabeli partycji wykorzystując edytor hex oraz przeliczając odpowiednio poszczególne wartości. Przy czym:

  • typ partycji – możemy sprawdzić jaki typ partycji odpowiada wartości HEX tutaj.
  • sektor początkowy i końcowy partycji, podany w formacie CHS należy przeliczyć biorąc pod uwagę fakt (szczegóły tutaj, w tabelce znajdującej się w części Disk Partitioning), że:
    • pierwszy bajt (8 bitów) oznacza głowicę (Head – H)
    • trzeci bajt (8 bitów) są to pierwsze wartości cylindra (Cylinder – C)
    • drugi bajt – pierwsze 2 bity są najbardziej znaczącymi bitami wartości cylindra (należy je połączyć z 3 bajtem, który w całości dotyczy cylindra), pozostałe 6 bitów dotyczy sektora (Sector – S)

Przykład CHS

Format CHS - konwersja

  • położenie sektora oraz rozmiar partycji przeliczyć należy z wartości HEX do formatu dziesiętnego, wiedząc, że dane te zapisane są w formie little endian (znane również jako cienkokońcowość).

Typy Partycji

Istnieją dwa typy partycji – podstawowa i rozszerzona. Informacje o partycjach podstawowych znajdują się bezpośrednio w MBR. Informacje o partycjach rozszerzonych natomiast znajdują się w sektorze wskazanym przez wpis w MBR informujący o istnieniu partycji rozszerzonych (tzw. Extended Boot Partition (EBR), który ma taką samą strukturę jak MBR).

PartycjaRozszerzone - pierwszy sektor na dysku

Lokalizacja EBR

Zawartość EBR

Volume Boot Record

Pierwszy sektor partycji, wskazany w tabeli partycji znajdującej się w MBR (lub EBR), jest to tzw. Volume Boot Record (VBR). Przechowuje on podstawowe informacje dotyczące partycji w tym między innymi:

  1. Instrukcje umożliwiające uruchomienie partycji i ewentualne rozpoczęcie wgrywania systemu operacyjnego.
  2. Strukturę partycji – wielkość, liczbę bajtów w każdym sektorze, liczbę sektorów w każdym klastrze itp.
  3. Informacje o typie partycji oraz numerze seryjnym partycji

Bardziej szczegółowe informacje odnośnie VBR najczęściej spotykanych systemów plików FAT oraz NTFS.

Dodatkowo należy pamiętać, że na dysku można znaleźć również kopię zapasową VBR (backup VBR), która jest tworzona automatycznie ze względów bezpieczeństwa. W przypadku FAT32 kopia ta znajduje się 6 sektorów za oryginalnym VBR, natomiast w przypadku NTFS jest to ostatni sektor partycji.



1 komentarzt

  1. buy silver pisze:

    Format tabeli partycji rozumiany przez EFI nazywa si GPT GUID.Partition Table . Program partycjonuj cy ktory rozumie GPT nazywa si . parted wi c jest to narz dzie z ktorego b dziemy korzystali poni ej..Dodatkowo EFI potrafi czyta tylko system plikow FAT wi c takiego formatu.nale y u y dla partycji rozruchowej gdzie elilo zainstaluje j dro…

Napisz komentarz: