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
| Slot | Start | End | Length | Description |
| 00: | 0000000000 | 0000000001 | 0000000001 | Primary Table (#0) |
| 01: | 0000000001 | 0000000062 | 0000000062 | Unallocated |
| 02: | 0000000063 | 0077947379 | 0077947317 | Win95 FAT32 (0x0C) |
| 03: | 0077947380 | 0077979509 | 0000032130 | Unallocated |
| 04: | 0077979510 | 0078140159 | 0000160650 | Linux (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.