-
Notifications
You must be signed in to change notification settings - Fork 367
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
Want to run all parsers instead of preset #4932
Comments
This is by design
You can create your own preset, we are unable to facilitate for all the different preferences out there. If you want help devise a principled approach recommend you help out with #4951
This is by design
This is highly subjective, IMHO it make no sense to parse the $MFT (by default) if you have a more rich and reliable source of information namely the full NTFS file system.
This does not make sense, for an image with full system you have much better way to extract the metadata than just the $MFT - see https://osdfir.blogspot.com/2020/04/parsing-mft-ntfs-metadata-file.html
You can customize the presets to your needs. This will be different for different use cases. |
Hello @joachimmetz , What are your thoughts on the suggestions here from the original issue?
It would be ideal to have a simple option to run Thanks, |
There are many more tradeoffs here to consider than efficiency; analysis/investigation time, storage limits, processing time, dealing with incorrectly extracted events, duplication, etc.
What do you mean with "completeness"? Isn't "completeness" that of the analysis/investigation more relevant? More files parsed are not necessary going to lead better analysis/investigative outcomes. |
I'm aware of the tradeoffs. I mentioned that it is very inefficient. This would not be a recommended approach on a regular bases. But there are times (not often, but sometimes) when a brute-force process can be useful.
What I mean by "completeness" is that some analysts, like the original creator of this issue, would like to have the ability to use the complete set of parsers rather than the tool picking the parsers for us. And yes, I can create a custom preset myself, but it would be preferable to have it be a built-in option. Any of these 3 options @nflexfo suggested would work well:
|
I get the impression you are not. This can actually produce worse results/findings, there are many intricacies here. If you can factual prove otherwise, I might reconsider.
you can already do it, just define the parsers you want to run. |
If it's such a terrible idea to run all parsers, then why is it the fallback option based on the documentation here: https://plaso.readthedocs.io/en/latest/sources/developer/Internals.html#parsers-and-preset-selection? In other words, if log2timeline can't guess the OS, then it's fine to run all parsers. Otherwise, it's a terrible idea? |
@mpilking the point is that the better approach is to optimize for the general case, not some special case where you wish to run all parsers (which is inefficient as you said). If you want to run all parsers, just create a custom preset and use that. If you are not happy with that approach, this is an open source project and you can always submit a PR and ask for it to be merged, at which point your implementation can be evaluated on its practicality. |
@mpilking given you are resulting to using hyperboles, you don't appear to want to have a constructive conversation. I'm locking this conversation. |
Describe the problem:
It is not possible to run all parsers when no parser filter expression is provided and pre-processor detects a specific OS.
More specifically, when running on a Windows image, it falls backs to the
win7
preset which does not include themft
parser. It can be worked around with something like--parsers win7,mft
,--parsers win7_slow
, or even specifying the complete list. But then, what if the disk also contains data that could be parsed byspotlight_storedb
(randomly chosen), or any "future" parser for that mean.Furthermore, all parsers seems to be enable when the pre-preprocessor cannot detect a suitable preset. That is, dependending on the source format (disk or directory), different set of parsers are enable albeit no parser filter is ever set by user. This is confusing.
I understand the default behavior to use
win7
instead ofwin7_slow
suits most user. In our case, we prefer to extract everything possible and filter data afterwards by other means and tools.What is expected is either:
a) Run all parsers unless specified otherwise
b) Add an additional magic option
--parsers all
(similar to--parsers list
or--partitions all
)c) Add a switch to disable automatic preset detection (like
--skip-preset-detection
)To Reproduce:
Plaso: 20240826
OS: Linux
Install: Sources
Data Source: The Windows 7 disk from Data Leakage Case (CFReDS)
Filter file (
l2t_filter_mft.yaml
):Reproducer cmd:
Pinfo gives:
So, no
mft
events (as it is absent in the parser list), an unprovided "Parser filter expression", and surprisingly (yet it is correctly handled), Pinfo thinks there is no "Filter file".Now, the same run with the
mft
parser provided:It correctly finds
mft
events.Now this is what confused me, using the
test_data/MFT
file from Plaso's dataset (and without any parser filter):And pinfo output:
Now this time, the
mft
parser is turned on by default. So, we kinda have an inconsistent behavior depending on the type of data. Or maybe, it should be made more explicit in the command line help?I tried to add a dirty
and False
at the following line to disable the preset detection and I got the expected behavior.Let me know what you think about it. I'm even fine coding the feature if you would like. Hopefully, I didn't missed any existing feature/option.
EDIT: I should add that this issue is not only about Windows or MFT. If a Linux server hosts EVTX files for archives, I want the winevtx parser to be activated even if those events don't belongs to the server.
Looking forward to read you, thanks.
The text was updated successfully, but these errors were encountered: