Zwalczanie Laboratorium 7. Postępowanie z dowodami cyfrowymi. Typowym dowodem cyfrowym jest dysk zajętego komputera. Badanie zawartości dysku może odbywać się na dwa sposoby: bezpośrednio poprzez analizę dysku lub poprzez analizę obrazu dysku czyli skopiowanej jego powierzchni (nie zawartości, analizie podlega powierzchnia całego dysku, również ta aktualnie nie wykorzystana). Joe Jacobs, lat 28, został aresztowany pod zarzutem sprzedaży narkotyków do uczniów szkół średnich. Jacobsa zaobserwowano wielokrotnie w okolicach parkingów szkół około 14:30, kiedy w szkole zazwyczaj kończą się zajęcia. Władze szkół zaobserwowały wzrost zażywania narkotyków od czasu pojawienia się Jacobsa. Jacobs nie przyznaje się do sprzedaży w innych szkołach, prócz Smith Hill, gdzie go aresztowano i odmawia udzielenia policji informacji, kto jest jego dostawca. Po wydaniu nakazu przeszukania w domu podejrzanego policja była w stanie uzyskać niewielką ilość marihuany. Policja przejęła też jedną jedyną dyskietkę ale jej zawartość jest pusta. Podejrzany w domu nie posiada komputera. Z dyskietki wykonana została kopia. (zbiór image.zip). MD5 = b676147f63923e1f428131d59b1d6a72 ( image.zip ) Zadanie do wykonania. Oczekiwana jest odpowiedź na następujące pytania: 1. Kto jest dostawcą Joe Jacobsa i jakie są jego dane adresowe? 2. Co znajduje się w dziwnym pliku coverpage.jpgc? 3. Jakie inne (jeśli w ogóle) szkoły obsługuje Joe Jacobs prócz Smith Hill? 4. Podejrzewa się, że podejrzany użył maskowania zawartości plików na dysku. Oczekuje się specyfikacji, jakie metody zostały użyte. (Np. skasowanie, zmiana zapisów w kartotece lub temu podobne) 5. Należy również wyjaśnić procedurę odkrycia zawartości dla każdego pliku z osobna. Wykorzystane zostaną Autopsy oraz edytor dyskowy R-Studio 1. Proszę sprawdzić, czy zgadza się suma kontrolna przed rozpakowaniem go. 2. Rozpakuj zbór, uruchom Autopsy, ponieważ będzie badany binarny obraz dysku część modułów się nie przyda, odznacz je przy uruchamiania zadania.
3. Zbadaj zawartość obrazu, wybierając opcję "Przeglądanie plików". Są trzy pliki w katalogu głównym: cover page.jpgc Jimmy Jungle.doc (skasowany) Scheduled Visits.exe 4. Jak rozwiązać to zadanie, znajdziesz na stronie http://old.honeynet.org/scans/scan24/sol/carrier/index.html Należy powtórzyć to rozwiązanie, co będzie łatwiejsze jak wynik badania jest znany. a. Istotne dla dalszego postępowania są informacje zawarte w skasowanym dokumencie. Autopsy daje możliwość przeczytania jego treści. Proszę ją zanalizować i wyciągnąć wnioski. b. Autor wymienionego wyżej rozwiązania użył Autopsy w wersji linuksowej i narzędzi dyskowych jakich nie mamy w dyspozycji. Konieczna będzie analiza tablicy FAT w celu odnalezienia na dysku zbiorów, które zostały zamaskowane oraz ich wydobycie i odczytanie. Zawartość tablicy FAT można odczytać korzystając z Autopsy i funkcji prezentacji binarnej zawartości zbioru. c. Interpretacja obrazu wymaga znajomości organizacji dysku. Organizacja FAT 12 przedstawiona jest w załączniku 1.
d. Wszystkie zbiory, jakie trzeba poddać analizie są zapisane w ciągach kolejnych sektorów dyskietki. Analiza zawartości FAT powinna doprowadzić do wskazania tych ciągów. Na dyskietce jest tylko kilka zbiorów, co upraszcza analizę. e. Zawartość dysku z zaznaczeniem przydzielonych obszarów można zobaczyć korzystając z funkcji skanowania dysku. Moduł A f. Skanowanie pozwala również na odnalezienie zbiorów o znanej strukturze (np. obrazków) g. Odnalezione ciągi trzeba zapisać w postaci osobnych zbiorów, spróbować rozpakować (jeżeli są spakowane) a następnie użyć znanych a[aplikacji do ich otwarcia (Excela i czegokolwiek co potrafi przeczytać JPG) Do zapisu użyjemy R-Studio. i. Po uruchomieniu otwieramy obraz Drive Open Image ii. Podświetlamy obraz i pod prawym klawiszem myszy wybieramy View/Edit iii. W oknie edytora przechodzimy do interesującego nas sektora początkowego i zaznaczamy pierwszy bajt (podświetlenie czerwone) iv. Zaznaczamy obszar do końca sektora końcowego zbioru (można top zrobić jak w Excelu Shift + kloknięcie na koniec zaznaczanego obszaru) v. Zapisujemy Tools/Save to Binary File Rozpoznanie struktury informacji na dyskietce. W sprawozdaniu należy umieścić: a. Zawartość dokumentu.doc wraz z omówieniem istotnych dla śledztwa informacji.
b. Wyniki analizy FAT oraz katalogu pod kątem poszukiwania zbiorów cover page.jpgc oraz Scheduled Visits.exe oraz zawartość tablicy FAT z zaznaczeniem ciągów sektorów skonfigurowanych w łańcuch. c. Analizę zawartości i informacji katalogowych o pozostałych dwóch zbiorach. (jest w Autopsy w metadanych). Zawartość zbioru składająca się z samych wartości F6 świadczy o tym, że jest to fragment dysku sformatowany i dotychczas nie używany. Wniosek najprawdopodobniej niewłaściwy jest zapis sektora początkowego zbioru w katalogu. Moduł B Odczytanie zawartości odnalezionych zbiorów W sprawozdaniu należy umieścić: a. odpowiedzi na pytania śledczych i opisać ciąg czynności, jaki doprowadził do przedstawionych wniosków. b. Zawartość odzyskanych zbiorów cover page oraz Scheduled Visits wraz z omówieniem zawartości
Załączniki FAT12. Tablica alokacji plików (FAT) jest tabela przechowywaną na dysku twardym lub dyskietce, która wskazuje status i lokalizację wszystkich klastrów, które są na dysku. File Allocation Table może być uważa się za "spis zawartości dysku. Jeżeli tablica alokacji plików jest uszkodzona lub utracona, zawartość dysku staje się niedostępna. Dokument dotyczy systemu plików FAT 12, w którym organizowane są zbiory na dyskietce. Każda pozycja tablicy jest 12-bitowa, stąd nazwa systemu. Powierzchnia dyskietki jest podzielony na jednostki zwane sektorami. Tworząc zbiór w pamięci masowej przydziela dla niego przestrzeń równą wielokrotności jednostki zwanej klastrem. W większych urządzeń pamięci masowej, klaster tworzy kilka sektorów, jednak dla floppy disku, klaster jest dokładnie równy sektorowi, którego długość na dyskietce 3,5 cala o pojemności 1,4 MB wynosi 512 bajtów. 1. organizacja dysku Na każdej dyskietce znajdują sie cztery główne obszary: boot sektor, tablice FAT (dwie, druga jest kopią pierwszej), kartoteka główna, i obszar danych: Rys 1 System zbiorów FAT12. Organizacja dysku. Pierwszy sektor dyskietki(sektor 0) zawiera sektor startowy (BOOT). Sektor startowy zawiera informacje dotyczące organizacji systemu plików, w tym, ilość kopii tabeli FAT, wielkość sektora na nośniku, ilość sektorów jaka przypada na klaster, itp. Na tablicę FAT składa się ciąg pozycji po jednej dla każdego klastra na dysku, każda zawierająca wskaźnik (numer kolejnego klastra) do kolejnego klastra na dysku w bieżącym łańcuchu klastrów przydzielonych na pomieszczenie danych przynależnych do jakiegoś zbioru lub wartość oznaczającą, że bieżący klaster jest ostatnim klastrem łańcucha (czyli ostatnim klastrem zbioru) lub wartość oznaczającą, że klaster jest nieprzydzielony (do wykorzystania), lub oznaczenie klestra uszkodzonego. Skorzystanie z tabeli FAT jest jedyną metodą znalezienia położenia kolejnych fragmentów plików i katalogów w obszarze przeznaczonym na dane.
Katalog główny, w przeciwieństwie do innych katalogów znajdujących się w obszarze danych dysku, ma skończoną wielkość (dla FAT12 14 sektorów * 16 wpisów na sektor = 224 możliwych wpisów) Obszar danych- Pierwszy sektor w obszarze danych odpowiada drugiemu sektorowi systemu plików (pierwszym klaster systemu plików nosi numer 2). Obszar danych zawiera dane plików i katalogów i obejmuje pozostałą przestrzeń na dysku. Schemat organizacji dysku znajduje się poniżej: Sektor Zawartość 0 Boot Sector 1 First sector in the (first) FAT 10 First sector in the second FAT 19 First sector in the floppy disk's root directory 32 Last sector in the root directory (see bytes 17 and 18 in the boot sector) 3 3 33 Beginning of data area for the floppy disk 2. Boot Sektor Sektor rozruchowy zajmuje sektor 0 na dysku i zawiera informacje o jego organizacji. W tabeli poniżej przedstawiona jest lokalizacja i znaczenie każdej informacji z sektora rozruchowego: Starting byte Length (in bytes) Stored data 0 11 Ignore 11 2 Bytes per sector 13 1 Sectors per cluster 14 2 Number of reserved sectors 16 1 Number of FAT 17 2 Maximum number of root directory entries 19 2 Total sector count 21 1 Ignore
22 2 Sectors per FAT 24 2 Sectors per track 26 2 Number of heads 28 4 Ignore 32 4 Total sector count for FAT32 (0 for FAT12 and FAT16) 36 2 Ignore 38 1 Boot signature 39 4 Volume id 43 11 Volume label 54 8 File system type (e.g. FAT12, FAT16) 62 - Rest of boot sector (ignore) 3. FAT (File Allocation Table) FAT, jak wspomniano wcześniej, jest strukturą danych odwzorowujących użycie sektorów danych z urządzenia pamięci. Każdy wpis w FAT odpowiada klastrowi danych na dysku (klaster na flopy = 1 sektor = 512b, dalej zatem będzie używane zamiennie z klastrem pojecie sektora). Wpis w każdej pozycji FAT może oznaczać: odpowiadający danej pozycji tablicy sektor na dysku jest ostatnim sektorem w pliku odpowiadający danej pozycji sektor jest wolny (nieprzydzielony) odpowiadający danej pozycji sektor jest przydzielony dla zbioru a wartość pozycji wskazuje, który sektor w łańcuchu sektorów przydzielonych dla zbioru jest następny. odpowiadający danej pozycji sektor jest uszkodzony i nie może być użyty Poniżej wymienione są wartości, jakie mogą wystąpić w pozycjach FAT wartość 0x00 0xFF0-0xFF6 0xFF7 0xFF8-0xFFF inna wartość niż wyżej wymienione znaczenie nieużywany Użycie zabronione uszkodzony Ostatni sektor pliku Logiczny numer kolejnego sektora w pliku Analizując FAT trzeba wziąć pod uwagę następujące fakty dotyczące organizacji tablicy: Pierwsze 2 pozycje tablicy (0 i 1) są zastrzeżone
Pozycja 3 odpowiada pierwszemu sektorowi obszaru danych. Jest to sektor o fizycznym numerze 33 (licząc od zera od początku dysku (patrz rys.1), zatem jeżeli znamy nr pozycji FAT i chcemy obliczyć, któremu fizycznie sektorowi na dysku ta pozycja odpowiada to Rzeczywisty numer sektora = 33 + numer pozycji FAT - 2 Pozycji 5 FAT odpowiada sektor o nr fizycznym 36. Jeżeli na pozycji 5 FAT jest np. wartość 0xFFF, to sektor ten to ostatni sektor zbioru. Jeżeli na pozycji 5 FAT jest np. wartość 0x02A, to sektor 36 nie jest sektorem ostatnim, następnym jest sektor 73 (33+42-2, 42 to wartość dziesiętna heksalnej liczby 0x2A) a informacja o tym czy sektor 73 to sektor ostatni czy nie a jeżeli nie to który jest następny znajduje się w FAT na pozycji 42. 4. Katalogi Katalog główny zajmuje 14 sektorów. Każdy sektor (512 bajtów) z katalogu zawiera 16 wpisów długości 32 bajtów każdy. Każdy wpis opisuje i wskazuje jakiś pliku lub katalogu na dysku. Struktura pozycji katalogu przedstawiona jest poniżej. Offset (in bytes) Length (in bytes) Description 0 8 Filename (but see notes below about the first byte in this field) 8 3 Extension 11 1 Attributes (see details below) 12 2 Reserved 14 2 Creation Time 16 2 Creation Date 18 2 Last Access Date 20 2 Ignore in FAT12 22 2 Last Write Time 24 2 Last Write Date 26 2 First Logical Cluster 28 4 File Size (in bytes) Uwagi: 1. Jeśli pierwszy bajt polu Nazwa pliku ma wartość 0xE5, to wpis katalogu jest wolny (np, aktualnie nieużywany), a tym samym nie ma pliku lub podkatalogu, związanego z dana
pozycją. 2. Jeśli pierwszy bajt pola Nazwa pliku ma wartość 0x00, to ta pozycja katalogu jest wolna i wszystkie pozostałe wpisy w tym katalogu są również wolne. 3. Pole First Logical Cluster określa logiczny (ale nie fizyczny! Fizyczny nr sektora należy policzyć zgodnie ze wzorem podanym wyżej) numer sektora w polu danych, od którego zaczyna się obszar przydzielony na zbiór. Należy zauważyć, że jest on równy indeksowi do pola tablicy FAT odpowiadającego pierwszemu sektorowi zbioru. Na przykład, jeśli pole First Logical Cluster dla jakiegoś zbioru zawiera "2" to oznacza to, że pierwsze pole w łańcuchu pół odpowiadających temu zbiorowi w tablicy FAT ma indeks 2 a pierwszy sektor zawierający dane z tego zbioru ma numer (fizyczny) 33. Zero w polu First Logical Cluster oznacza, że wpis dotyczy katalogu głównego W Windows 95 wprowadzono, nie zmieniając zasadniczo formatu katalogu, możliwość użycia długich nazw zbiorów (do 255 znaków). Zrobiono to stosując pewną sztuczkę, w następujący sposób: każdy zbiór posiada wpis podstawowy, o zawartości jak wyżej i szereg (tyle ile trzeba) dodatkowych wpisów przeznaczonych wyłącznie na przechowanie długiej nazwy a umieszczonych przed wpisem głównym. Zawartość każdego takiego wpisu dodatkowego przedstawiona jest niżej. Identyfikuje się ją po zawartości pola Atrybuty 0xF jest kombinacją, jaka nie może występić w opisie zbioru we wpisie podstawowym. Bajty Zawartość 0 Bits 0-4: sequence number; bit 6: final part of name 1-10 Unicode characters 1-5 11 Attribute: 0xf 12 Type: 0 13 Checksum of short name 14-25 Unicode characters 6-11 26-27 Starting cluster: 0 28-31 Unicode characters 12-13 Rys 2 System zbiorów FAT. Mechanizm odwołań do poszczególnych fragmentów zbioru. 4. Zapis w FAT 12 Dyskietki formatowane są w systemie zbiorów FAT. Parametry typowej dyskietki:
Miejsca na dyskietce = 1,44 MB. Liczba bajtów w sektorze = 512 Liczba sektorów w 1,44 MB = x 2812 Zatem minimalna liczba bitów potrzebnych zapisania numerów wszystkich sektorów = 12 bitów (2 11 <2812 <2 12 ) Tablica FAT12 zapisywana jest w taki sposób, że na 3 bajtach umieszczone sa dwa wpisy - dwie 12-to bitowe wartości, jak na ilustracji poniżej: ofset 0000 F 0 0001 F F 0002 F F 0003 0 3 0004 4 0 0005 0 0 0006 0 5 0007 F 0 0008 F F 0009 0 0 000A 0 0 Rys 3 System zbiorów FAT12. Organizacja dysku. Czyta się to we wspomagany kolorowymi zaznaczeniami na powyższej ilustracji sposób: Wartości zaznaczone jednym kolorem stanowią jeden wpis. Część starsza liczby 12-bitowej znajduje się zawsze niżej, część młodsza, mniej znacząca wyżej. na początku (offset 0) na pozycjach 0 i 1 tablicy znajdują się znaczniki FF0 i FFF. Kolejne kolory to kolejne pozycje tablicy. 2 pozycja FAT odpowiada logicznemu sektorowi 2 (fizycznemu 33) i zawiera 003, co oznacza że sektor logiczny 2 jest przydzielony do zbioru i i kolejnym sektorem przydzielonym do tego zbioru jest. Przykład: logiczny sektor 3. 3 pozycja FAT odpowiada logicznemu sektorowi 3 (fizycznemu 34) i zawiera 004, co oznacza że sektor logiczny 3 jest przydzielony do zbioru i i kolejnym sektorem przydzielonym do tego zbioru jest logiczny sektor 4. 4 pozycja FAT odpowiada logicznemu sektorowi 4 (fizycznemu 35) i zawiera 005, co oznacza że sektor logiczny 4 jest przydzielony do zbioru i i kolejnym sektorem przydzielonym do tego zbioru jest logiczny sektor 5 5 pozycja FAT odpowiada logicznemu sektorowi 5 (fizycznemu 36) i zawiera FFF, co oznacza że sektor logiczny 5 jest przydzielony do zbioru i i jest to sektor ostatni. 6 pozycja FAT odpowiada logicznemu sektorowi 6 (fizycznemu 36) i zawiera 000, co oznacza że sektor logiczny 6 jest nieprzydzielony. Ilustracja poniżej pokazuje zawartość tablicy FAT. Kolorami zaznaczone są sekwencje pozycji, przynależnych do jednego zbioru.
Tablica zawiera łańcuchy sektorów (nr-y logiczne): - #2, #3, #4, #5, #6, #7, #8 - #9, #A, #14, #15, #16, #19, #1A - #B, #C, #D, #E, #F, #10, #11 - #23 - #27, #28, #2D Oraz sektory nieprzydzielone