-
Notifications
You must be signed in to change notification settings - Fork 361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mft parser: use orphaned $FILE_NAME attributes of attribute list MFT entries for path reconstruction #3840
Comments
Interesting observations and edge case. As I indicated in https://osdfir.blogspot.com/2020/04/parsing-mft-ntfs-metadata-file.html "Full path reconstruction is an approximation". My guess why most parsers don't this is because it might not be a common or previously observed scenario (not sure). If you have means to reproduce the scenario pro-grammatically I recommend to add it to https://github.com/dfirlabs/ntfs-specimens. But at first glance, I see no obvious reason why the MFT entry: 43 could not be used in the determination of the path hints.
|
Blocked on work on libyal/libfsntfs#29 |
your post (https://osdfir.blogspot.com/2020/04/parsing-mft-ntfs-metadata-file.html) is what inspired me to look for edge cases in the first place! I'm glad I can help, even just a little bit. |
good to hear, thx for looking for additional ones and sharing |
Description of problem:
Consider this scenario that I created on a test image:
File1.txt is now orphan, because the record of Folder1 was reused (path hint: $Orphan\File1.txt)
Observations:
The record at index 42 still describes File1.txt
There's an extension record at MFT index 43
Because these 2 references match, This extension record belonged to the parent of File1.txt
Therefore, the $FILE_NAME attribute inside it can be used to reconstruct the full path of File1.txt -
\Folder1\File1.txt
I haven't seen any MFT parser that is able to reconstruct the path this way. Is there a reason not to do this?
Command line and arguments:
log2timeline.py --parsers mft --storage-file storage.plaso ./Evidence
psort.py -o dynamic -w timeline.csv storage.plaso
Source data:
I used plaso against this MFT file:
$MFT.zip
Here is the full disk image:
image.zip
Plaso version:
20210606
Operating system Plaso is running on:
Ubuntu 20.04.3
Installation method:
The text was updated successfully, but these errors were encountered: