Skip to content
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

kernel_cap_struct still required despite #997 #1067

Closed
vobst opened this issue Dec 19, 2023 · 1 comment · Fixed by #1068
Closed

kernel_cap_struct still required despite #997 #1067

vobst opened this issue Dec 19, 2023 · 1 comment · Fixed by #1068

Comments

@vobst
Copy link

vobst commented Dec 19, 2023

Describe the bug
kernel_cap_struct still required despite 713b5f9

Context
Volatility Version: 18e5d7a
Dwarf2Json version: 15baf31210af272dc2b79ba79a6e58abc5d0336b
OS: Linux version 6.5.0-14-generic (buildd@lcy02-amd64-031) (x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0, GNU ld (GNU Binutils for Ubuntu) 2.41) #14-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 14 14:59:49 UTC 2023 (Ubuntu 6.5.0-14.14-generic 6.5.3)

Example output

DEBUG    volatility3.framework.automagic.linux: Identified banner: b'Linux version 6.5.0-14-generic (buildd@lcy02-amd64-031) (x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0, GNU ld (GNU Binutils for Ubuntu) 2.41) #14-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 14 14:59:49 UTC 2023 (Ubuntu 6.5.0-14.14-generic 6.5.3)\n\x00'
Level 7  volatility3.framework.automagic.stacker: Exception during stacking: Symbol type not in LintelStacker1 SymbolTable: kernel_cap_struct
Level 6  volatility3.framework.automagic.stacker: Traceback (most recent call last):

  File "/opt/vol/volatility3/volatility3/framework/automagic/stacker.py", line 216, in stack_layer
    new_layer = stacker.stack(context, initial_layer, progress_callback)

  File "/opt/vol/volatility3/volatility3/framework/automagic/linux.py", line 72, in stack
    table = linux.LinuxKernelIntermedSymbols(

  File "/opt/vol/volatility3/volatility3/framework/symbols/linux/__init__.py", line 32, in __init__
    self.set_type_class("kernel_cap_struct", extensions.kernel_cap_struct)

  File "/opt/vol/volatility3/volatility3/framework/symbols/intermed.py", line 60, in _delegate_function
    return getattr(self._delegate, name)(*args, **kwargs)

  File "/opt/vol/volatility3/volatility3/framework/symbols/intermed.py", line 425, in set_type_class
    raise ValueError(f"Symbol type not in {self.name} SymbolTable: {name}")

ValueError: Symbol type not in LintelStacker1 SymbolTable: kernel_cap_struct

Level 9  volatility3.framework.configuration.requirements: IndexError - No configuration provided: plugins.ProgList.kernel.layer_name
Level 9  volatility3.framework.configuration.requirements: TypeError - Layer is not the required Architecture: FileLayer
DEBUG    volatility3.framework.automagic.stacker: physical_layer maximum_address: 1073741823
DEBUG    volatility3.framework.automagic.stacker: Stacked layers: ['FileLayer']
INFO     volatility3.framework.automagic: Running automagic: SymbolFinder
INFO     volatility3.framework.automagic: Running automagic: LinuxSymbolFinder
Level 9  volatility3.framework.configuration.requirements: Symbol table requirement not yet fulfilled: plugins.ProgList.kernel.symbol_table_name
INFO     volatility3.framework.automagic: Running automagic: KernelModule
Level 9  volatility3.framework.configuration.requirements: IndexError - No configuration provided: plugins.ProgList.kernel.layer_name
Level 9  volatility3.framework.configuration.requirements: Symbol table requirement not yet fulfilled: plugins.ProgList.kernel.symbol_table_name
Level 9  volatility3.framework.configuration.requirements: IndexError - No configuration provided: plugins.ProgList.kernel.layer_name
Level 9  volatility3.framework.configuration.requirements: IndexError - No configuration provided: plugins.ProgList.kernel.layer_name
Level 9  volatility3.framework.configuration.requirements: Symbol table requirement not yet fulfilled: plugins.ProgList.kernel.symbol_table_name

Unsatisfied requirement plugins.ProgList.kernel.layer_name:
Unsatisfied requirement plugins.ProgList.kernel.symbol_table_name:

A translation layer requirement was not fulfilled.  Please verify that:
        A file was provided to create this layer (by -f, --single-location or by config)
        The file exists and is readable
        The file is a valid memory image and was acquired cleanly

A symbol table requirement was not fulfilled.  Please verify that:
        The associated translation layer requirement was fulfilled
        You have the correct symbol file for the requirement
        The symbol file is under the correct directory or zip file
        The symbol file is named appropriately or contains the correct banner

Unable to validate the plugin requirements: ['plugins.ProgList.kernel.layer_name', 'plugins.ProgList.kernel.symbol_table_name']

Additional information
On the latest Ubuntu 23.10 I still get the error due to the change in capability types discussed in #985

I guess this is since self.set_type_class("kernel_cap_struct", extensions.kernel_cap_struct) was not removed in the PR.

@vobst vobst changed the title kernel_cap_struct still required despite https://github.com/volatilityfoundation/volatility3/pull/997 kernel_cap_struct still required despite #997 Dec 19, 2023
@ikelos ikelos linked a pull request Dec 20, 2023 that will close this issue
@ikelos
Copy link
Member

ikelos commented Dec 20, 2023

Fixed by #1068, thanks 5:)

@ikelos ikelos closed this as completed Dec 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants