-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Netfilter all kernels #577
Open
gcmoreira
wants to merge
7
commits into
volatilityfoundation:master
Choose a base branch
from
gcmoreira:netfilter_new_kernels
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Netfilter all kernels #577
gcmoreira
wants to merge
7
commits into
volatilityfoundation:master
from
gcmoreira:netfilter_new_kernels
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Added LKM lookup, showing the kernel module name to which the hook belongs to. * If the module is part of the kernel text, it also resolves the symbol to that specific address. It is showed between square brackets, ie: [selinux_ipv4_forward] * All kernel exisiting protocols were added (unless until kernel v4.20). It now allows to identify for instance IPv6, ARP, BRIDGE (ebtables), etc. * Fixed wrong number of hooks and protos. Removed hardcoded sizes. * Added function to the Linux common API to find LKM module addresses, similar to the one in mac implementation but it also resolve kernel symbols.
- Added support for every single Netfilter implementation in every single kernel version so far (v2.6ish to v5.0-rc2). - It gathers Netfilter hook information for all existing protocol families: IPV4, IPv6, ARP, BRIDGE, DECNET and INGRESS hooks. - Two new columns were added to the output report, the network namespace id and the module name or symbol name to which the hook address belongs to, allowing us to easily identify suspicious kernel modules using network hooks. - If a module is part of the kernel text, it also resolves the symbol to that specific address which is showed between square brackets, ie: [selinux_ipv4_forward] - Added function to the Linux common API to find LKM module addresses, similar to the one in mac implementation but it also resolve kernel symbols.
- Converted unnecesary class methods to instance methods. - Improved docstrings documentation for some of the class methods plus an explanation how the callbacks work.
…d it could be calculated at that point using the protocol index. - Using the same argument name for "hook_container" in get_hook_ops method. It's reassigned to a more meanful variable name in every callback.
Instead, the specific pointer to nf_hook_entries is calculated.
My apologies for not getting to this sooner. This is very nice work. Is this something you would consider porting to Volatility 3? If so, you should consider our plugin contest that is currently running: https://volatility-labs.blogspot.com/2020/05/the-8th-annual-volatility-plugin-contest.html I also plan to your code integrated in Volatility 2 soon. |
Thanks Andrew, no worries. It will be really nice to see this code
integrated.
I need to take a look at Volatility 3, not sure how much effort it means
but I will definitely give it a try.
As per the Volatility 3 plugin contest, it sounds interesting. I hope to
have enough free time to dedicate to this before 1st Oct.
…On Tue, 14 Jul 2020 at 01:30, Andrew Case ***@***.***> wrote:
@gcmoreira <https://github.com/gcmoreira>
My apologies for not getting to this sooner. This is very nice work.
Is this something you would consider porting to Volatility 3? If so, you
should consider our plugin contest that is currently running:
https://volatility-labs.blogspot.com/2020/05/the-8th-annual-volatility-plugin-contest.html
I also plan to your code integrated in Volatility 2 soon.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#577 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACNRMVHZUMAQBP6SJUIKRHDR3MSABANCNFSM4GRAU42A>
.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Netfilter plugin improvements:
Old Netfilter plugin output
New Netfilter plugin output