Title: Tijdslijn bestandssysteem
Subject: Tijdslijn
Author: Geert Van Acker
Date: 27 Nov 2005
Version: 1.0
Translation:
Licence: Creative Commons

Tijdslijn bestandssysteem

Inleiding

Wanneer we met datums en uren in bestandssystemen werken, moeten we steeds voorzichtig zijn omdat dit geen essentiële gegevens zijn voor de goede werking van het bestandssysteem.

Zo zal het manueel veranderen van datums het bestandssysteem niet verhinderen om correct te functioneren.
De pointers van een bestandsnaam naar de effectieve inhoud van een bestand (naar de inodes) zijn bijvoorbeeld wel essentiële. Als we deze pointers veranderen, verstoort dit de werking van het bestandssysteem.

Wanneer we in dat geval de inhoud van een bestand opvragen, is het bestandssysteem niet meer capabel om de juiste inhoud op te halen, de pointer wijst de verkeerde inode aan.

Essentiële gegevens kunnen we dus meer vertrouwen in onderzoeken dan niet-essentiële.

Wanneer we datums en uren op een bestandssysteem analyseren, moeten we altijd rekening houden met de systeemklok waarin het bestandssysteem gebruikt werd, alsook met de tijdszone waarin het besturingssysteem ingesteld is.

1. Voorbereiding

Om overzichtelijk te werken blijven we in 1 map (/work), met volgende ondermappen:

results (waar we output bewaren) :# mkdir -p /work/results
image (waar de kopie - "dd" bestand - zich bevindt) :# mkdir /work/image
mnt (te mounten bestandssysteem) :# mkdir /work/mnt

2. Creatie van een tijdslijn met "Sleuthkit"

We kunnen een tijdslijn maken van bestanden gebaseerd op de MAC tijden (Modified, Accessed en Creation tijd).

Autopsy kan gebruikt worden om bepaalde handelingen te automatiseren.

2.1 Actieve bestanden

De eerste stap in de creatie van een tijdslijn met de sleuthkit tools is het verzamelen van gegevens over de bestanden met het "fls" commando. Dit commando zal een lijst geven van de bestanden en de mappen in een forensische kopie. Indien we een kopie hebben van een partitie, kunnen we dit bestand zonder meer doorgeven aan fls.

Hebben we echter een kopie van een volledige harde schijf, dan moeten we een "offset" (in sectoren) meegeven van het bestandssysteem waarvan we een tijdslijn willen maken.

Om de offset te weten te komen, gebruiken we de tool "mmls" van de Sleuthkit (fdisk -lu geeft ook de partitietabel, uitgedrukt in sectoren).

# mmls -t dos image/disk.dd
DOS Partition Table Sector: 0
Units are in 512-byte sectors

SlotStartEndLengthDescription
00:000000000000000000010000000001Primary Table (#0)
01:000000000100000000620000000062Unallocated
02:000000006300779473790077947317Win95 FAT32 (0x0C)
03:007794738000779795090000032130Unallocated
04:007797951000781401590000160650Linux (0x83)

We stellen vast dat er twee partities staan in de partitietabel, nl een FAT32 partitie die begint op sector 63 en een linux partitie die begint op sector 77979510.

Als we een tijdslijn willen maken van het FAT32 bestandssysteem dienen we dus de offset 63 mee te geven.

Ook de optie "-m" is belangrijk, dit zal de "mactimes" geven. Bij de optie "-m" dient ook het mountpoint (dit is het mountpoint zoals de partitie gebruikt werd, hier bvb "C:" onder Windows) meegegeven te worden.

Tenslotte is er de optie "-r" om recursief te werken.
Indien het filesystem type niet automatisch herkend wordt, kan dit meegegeven worden met de optie "-f".

Het resultaat van deze bewerking bewaren we in de directory results:

# fls -o 63 -m "C:" -r image/disk.dd > results/body
Je kan het resultaat vandit bestand controleren:

# tail results/body
Dit dient herhaald te worden voor elke partitie, en het resultaat voegen we toe aan body met ">>".

# fls -o 77979510 -m "/" -r image/disk.dd >> results/body

2.2 Gewiste bestanden

De tweede stap in de creatie van een tijdslijn bestaat erin om de niet meer toegekende metadata erbij te voegen. Wanneer bestanden verwijderd worden, kan het zijn dat datums aangepast worden.

Het is mogelijk dat we de originele bestandsnamen niet meer kunnen linken aan de metadata, maar het kan toch soms een aanwijzing opleveren.

Hiervoor gebruiken we de "ils" tool.
Met de optie "-f" kan terug het bestandssysteem meegegeven worden. De optie "-m" zal terug het MAC time formaat geven. We kunnen een tijdszone (in dit geval CET voor BelgiŽ) meegeven aan "ils":

# set TZ=CET

# ils -o 63 -m image/disk.dd >> results/body

# ils -o 77979510 -m image/disk.dd >> results/body

3. Presentatie

Nu kunnen via de tool "mactime" de output (results/body) beter leesbaar maken.
Het "-b" argument geeft de input aan, hier results/body.

We kunnen bvb een datum meegeven, en dan zal de tijdslijn weergegeven worden van alle bestanden na die datum. Let wel op het formaat van de datum die je hier meegeeft!
Dit moet het maand/dag/jaar formaat zijn, bvb 7/29/2005.

Een tijdsperiode kan je in volgend formaat vragen: 7/29/2001-7/31/2005.

Met de optie "-d" zal de ouput in comma delimited formaat gegeven worden, dit kan handig zijn om het te importeren in een spreadsheet of tabel (in combinatie met "-i", zie verder).

Indien je de ouput eerst wil zien alvorens het naar een bestand weg te schrijven, gebruik een pager zoals "less".

# mactime -d -b results/body7/29/2005-7/31/2005 | less
Dit kan even duren voor er input is op je scherm.
Om het te bewaren in een bestand:

#mactime -d -b results/body 7/29/2005-7/31/2005 > results/tijd_29jul05
Mactime heeft ook een optie "-i", die een index samenvattingsbestand zal maken, maw zal bijhouden hoeveel hits per uur of dag er zijn.
"-i" aanvaardt hour of day als argument waarna je het bestand (output) geeft dat de samenvatting zal bevatten.

# mactime -d -b results/body -i hour results/tijd_samenv_uur.txt \
7/29/2005-7/31/2005 > results/tijd_29jul05
De output van tijd_29jul05 kan er als volgt uitzien:

Fri Jul 29 2005 00:00:00,8192,.a.,d/drwxrwxrwx,0,0,452989495,C:/Program Files/Adobe/setup.exe
Fri Jul 29 2005 00:00:00,53248,.a.,-/-rwxrwxrwx,0,0,101306404,C:/Program Files/CLImageControllerLT.dll
Fri Jul 29 2005 00:00:00,20580,.a.,-/-rwxrwxrwx,0,0,8691381,C:/WINDOWS/ Prefetch/TASKMGR.EXE-20256C55.pf

Het eerste veld bevat de datum en uur, het tweede de grootte van het bestand, het derde kan m, a of c zijn voor respectievelijk modified, accessed en created, het vierde veld bevat informatie over de rechten en het soort bestand, dan volgen twee cijfers, nl user-id en group-id, daarna het inode nummer en als laatste de bestandsnaam.

Opmerking:

Bij FAT bestandssystemen is enkel datum/uur laatste wijziging verplicht volgens de specificaties.
Bij de last accessed time wordt enkel de datum bewaard, het uur wordt niet bijgehouden.

Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.