Ostatnio przeczytałem, że firma Kroll Ontrack oferuje promocję o nazwie Odzyskaj cyfrowe wspomnienia. W przypadku uszkodzeń logicznych koszt odzyskania danych to tylko 190 PLN. Jednak nawet te 190 PLN można zaoszczędzić i odzyskać dane "we własnym zakresie".
Zaoszczędź 190 PLN, czyli o odzyskiwaniu danych
Jeśli dane (Ontrack mówi o zdjęciach, ja mówię o danych w ogólności) zostały utracone w wyniku przypadkowego usunięcia lub nawet sformatowania nośnika, to szansa na ich odzyskanie jest naprawdę duża, pod warunkiem, że nie zostaną nadpisane. Dlatego też na dysku (nośniku, partycji), na którym znajdowały się usunięte pliki nie wolno nic zapisywać. Czyli jeśli usunięte zostało zdjęcie z aparatu cyfrowego, to absolutnie nie należy wykonywać kolejnych zdjęć. W przypadku utraty danych z dysków komputera, też nie należy na nich nic zapisywać (trzeba pamiętać, że sam system operacyjny coś zapisać może). Na pewno nie należy rozpaczliwie szukać w programów do odzyskiwania danych, instalować ich na dysku, uruchamiać... Wtedy szansa, że utracony plik zostanie nadpisany jest naprawdę duża. W takim przypadku najlepiej odzyskiwać dane z innego systemu operacyjnego.
Dla przykładu zajmę się teraz jednym przypadkiem: zdjęcie usunięte przez przypadek z aparatu.
Wykorzystam do tego narzędzie Sleuthkit.
Usunięte zdjęcie - odzyskiwanieW przypadku większości aparatów wykorzystywany jest system plików FAT, dla przykładu mój aparat:
$fsstat \\.\e: FILE SYSTEM INFORMATION -------------------------------------------- File System Type: FAT16 OEM Name: FF-DSC01 Volume ID: 0x0 Volume Label (Boot Sector): Volume Label (Root Directory): File System Type Label: FAT16
Aparat jest widziany przez system jako dysk wymienny, system przypisał mu literę e:\ (stąd "ścieżka" do urządzenia \\.\e:, wymagane są prawa administratora). Zawartość karty można poznać korzystając z polecenia fls:
$ fls \\.\e: d/d 3: DCIM $ fls \\.\e: 3 d/d 261: 101_FUJI $ fls \\.\e: 261 | more r/r * 1285: _SCF9201.JPG r/r * 1286: _SCF9202.JPG r/r * 1287: _SCF9203.JPG (...) -- More --
Pliki z nazwą zaczynającą się od _ to pliki usunięte.
Można uzyskać też informacje o datach:
$ fls -l \\.\e: 261 | more r/r * 1285: _SCF9201.JPG 2008.08.01 20:21:30 (Central European Standard Time) 2008.08.05 00:00:00 (Central European Standard Time) 2008.08.01 20:21:30 (Central European Standard Time) 1618192 0 0 r/r * 1286: _SCF9202.JPG 2008.08.01 20:21:40 (Central European Standard Time) 2008.08.05 00:00:00 (Central European Standard Time) 2008.08.01 20:21:40 (Central European Standard Time) 1594134 0 0 r/r * 1287: _SCF9203.JPG 2008.08.01 20:21:56 (Central European Standard Time) 2008.08.05 00:00:00 (Central European Standard Time) 2008.08.01 20:21:56 (Central European Standard Time) 1612877 0 0
Inną metodą listowania zawartości dysku jest enumeracja inodów (cokolwiek to znaczy w danym systemie plików). Służy do tego polecenie ils:
$ ils \\.\e: | more class|host|device|start_time ils|unknown||1218305450 st_ino|st_alloc|st_uid|st_gid|st_mtime|st_atime|st_ctime|st_mode|st_nlink|st_siz e|st_block0|st_block1 1285|f|0|0|1217614890|1217887200|1217614890|100777|0|1618192|4|0 1286|f|0|0|1217614900|1217887200|1217614900|100777|0|1594134|54|0 1287|f|0|0|1217614916|1217887200|1217614916|100777|0|1612877|103|0 1288|f|0|0|1217614926|1217887200|1217614926|100777|0|1595963|153|0 (...)
W pierwszej kolumnie znajduje się numer inoda, następnie informacja o typie obiektu, dane właściciela, później informacje o dacie modyfikacji, ostatniego dostępu oraz utworzenia (w formacie unix time). W przeciwieństwie do fls polecenie ils nie pozwala na wyświetlenie dat w bardziej zrozumiały sposób.
Zakładając, że chcę odzyskać plik _SCF9201.JPG potrzebuję informację o numerze inoda. Na podstawie fls jest to 1285. Można obejrzeć więc szczegóły tego pliku:
Directory Entry: 1285 Not Allocated File Attributes: File, Archive Size: 1618192 Name: _SCF9201.JPG Directory Entry Times: Written: Fri Aug 01 20:21:30 2008 Accessed: Tue Aug 05 00:00:00 2008 Created: Fri Aug 01 20:21:30 2008
A następnie zdjęcie mogę odzyskać:
$ icat -r \\.\e: 1285 > f:\forensic\1285.jpg
Wszystkie zdjęcia na karcie można odzyskać w prosty sposób - przepuścić rezultat polecenia ils przez pętlę for i dla każdego usuniętego pliku wywołać polecenie icat (oczywiście dane zapisywać należy na inny nośnik!). Prawda, że proste?
I kilka wyjaśnieńPrzy odzyskiwaniu danych (czy analizie dysków) można wyróżnić kilka warstw:
- media layer - (narzędzia zaczynające się na m, nie używane w tym przykładzie),
- data layer - (narzędzia zaczynające się na d, nie używane w tym przykładzie),
- filesystem layer - (narzędzia zaczynające się na f, np. ffstat, fls),
- metadata layer - (narzędzia zaczynające się na i, np. ils, istat, icat),
Łatwość odzyskania danych w tym scenariuszu jest tak duża, ponieważ nie zostały uszkodzone ich metadane. W chwili usunięcia pliku co prawda plik został oznaczony jako usunięty, a zajmowane przez niego miejsce jako dostępne, wciąż jednak istnieją informacje na jego temat, w tym informacje gdzie szukać stosownego pliku. Dlatego też korzystając z narzędzi takich jak ils czy fls można było uzyskać listę plików, a narzędzie icat wiedziało gdzie znajdują się dane "należące" do danego pliku.
Podałem przykład z wykorzystaniem narzędzia Sleuthkit, poniważ uważam, że w ten sposób łatwiej zrozumieć co tak naprawdę się dzieje w trakcie odzyskiwania usuniętych plików. Sleuthkit dostępny jest w BackTrack 3, więc "platformę" odzyskiwania danych można mieć nawet na pendrive.
Całość można również przeprowadzić choćby z wykorzystaniem ProDiscover Basic Edittion, który również dostępny jest za darmo.
A co, jeśli karta została sformatowana?Co, jeśli informacji o plikach by nie było (przypadek ze sformatowaniem karty)? Narzędzia takie jak ils, fls, istat i icat stają się bezużyteczne. Nie oznacza to jednak, że przypadek jest beznadziejny. Tu można skorzystać z techniki file carving, pod warunkiem, że zawartość nośnika nie została w trakcie operacji formatowania nadpisana. Jak się okazuje mój aparat (FinePix) z kartą xD tak robi... Co ciekawe nie robi tak w przypadku karty CF, więc prawdopodobnie jakaś specyfika kart xD. Jeśli ktoś jednak sformatował kartę CF, pliki może odzyskać przy pomocy narzędzia photorec.
Jeśli po mojej prezentacji na dzisiejszym spotkaniu OWASP kogoś zainteresował temat ogólnie pojętego forensic, być może zainteresują go również starsze wpisy dotyczące tego tematu. Nazbierało się tego trochę, więc małe przypomnienie części z poruszanych t
Przesłany: Jun 10, 20:54