Case Studies On File System Analysis
Case Studies On File System Analysis
Case Studies On File System Analysis
Analysis
45 00 00 1d 7b bd 00 00
} File system interpretation c0 a8 01 37 23 82 23 83
examines data in a volume (i.e., a ...
201
EOF
This is more
data that
couldn’t fit into
the first cluster
0
0
byte (0xE5)
13 CSF - Nuno Santos 2018/19
Layout of the root directory
} Root directory keeps files’ names, first cluster, size, and other metadata
32 bytes
(fixed) FAT
00
# root directory entries
02
03 0x00 8B File Name
04 0x08 3B Extension
05 0x0b 1B File Attribute
} Subdirectories are special files that follow the same format as the root folder
} Each directory contains two special entries: “..” (refers the parent) and “.” (refers itself)
} Three entries
} Top: a short entry
} Then a long followed by the associated short entry
} First Entry
} File attribute is 28 -> 0010 1000 b
} Volume marker is set
} Archive marker is set
} Volume Label
} Name is Lexar Media
} Go to this sector:
} Two deleted directories kittieporn and adultporn
} First directory starts at cluster 0x4708
} The file system has no files or directories in the root directory, but we want to
recover some of the files from the previous file system
} Our approach
} When a FS is formatted, a new MFT is created with minimal number of MFT
entries
} Therefore, the MFT entries from the previous file system should still exist in the
unallocated clusters of the new file system
} If we find the entries, we can use them to recover their original attribute contents
$STANDARD_INFORMATION
Master File Table resident
(MFT) Creation time: …,
33
… Modification time: …,
...
100
101 34
102 $DATA
non-resident
103
Clusters: 34-36
104 35
...
105
…
36
Attributes
} We use sigfind to limit hits at an offset of 0 bytes from the start of the sector
} We convert "FILE" in ASCII to hexadecimal and get 0x46494c45
} In this scenario, we looked for evidence of files prior to a volume being formatted
} We searched for "FILE" signature that exists for MFT entries and then parsed one by hand
} We could proceed by parsing the individual data structures for each attribute in more detail
} However, there are many bad sectors in it including the first sector
} The first sector is where the partition table is located
} This produces fewer hits, and when the two results are
compared we find that some sectors occur in both results:
sector # sector #
2 056 319 2 056 319
Scenario 1 Scenario 2
64 CSF - Nuno Santos 2018/19
Compare the sector sizes
sector #
63 sectors
2 056 319
} We are now convinced that there could have been an NTFS file system that
started in sector 63 and had a size of 2 056 256 sectors
} We make a copy of our disk image and copy the boot sector backup to sector 63
sector # 63 sector # 2 056 319
NTFS boot sector 2 056 256 sectors Backup of NTFS boot sector
} The journal records what block updates will occur, and after the
update it identifies that the update is finished
Transaction 839
Transaction 840
} Hence, our inode of interest is entry 10 of the group’s inode table and is in
the first block of the table
first inode in group inode of file passwords.txt
# 488 641 # 488 650
} Run jls on the journal and look for an entry for FS block 983
044
} The file was recently created, and its inode was still in
the journal
} Primary bibliography
} Bryan Carrier, File System Analysis, 2005, Chapter 8