volatility3.plugins.linux.pagecache module
- class Files(context, config_path, progress_callback=None)[source]
Bases:
PluginInterface
,TimeLinerInterface
Lists files from memory
- Parameters:
- build_configuration()
Constructs a HierarchicalDictionary of all the options required to build this component in the current context.
Ensures that if the class has been created, it can be recreated using the configuration built Inheriting classes must override this to ensure any dependent classes update their configurations too
- Return type:
- property config: HierarchicalDict
The Hierarchical configuration Dictionary for this Configurable object.
- property context: ContextInterface
The context object that this configurable belongs to/configuration is stored in.
- classmethod format_fields_with_headers(headers, generator)[source]
Uses the headers type to cast the fields obtained from the generator
- generate_timeline()[source]
Generates tuples of (description, timestamp_type, timestamp)
These need not be generated in any particular order, sorting will be done later
- classmethod get_inodes(context, vmlinux_module_name, follow_symlinks=True)[source]
Retrieves the inodes from the superblocks
- Parameters:
context (
ContextInterface
) – The context that the plugin will operate withinvmlinux_module_name (
str
) – The name of the kernel module on which to operatefollow_symlinks (
bool
) – Whether to follow symlinks or not
- Yields:
An InodeInternal object
- Return type:
- classmethod get_requirements()[source]
Returns a list of Requirement objects for this plugin.
- Return type:
- classmethod make_subconfig(context, base_config_path, **kwargs)
Convenience function to allow constructing a new randomly generated sub-configuration path, containing each element from kwargs.
- Parameters:
context (
ContextInterface
) – The context in which to store the new configurationbase_config_path (
str
) – The base configuration path on which to build the new configurationkwargs – Keyword arguments that are used to populate the new configuration path
- Returns:
The newly generated full configuration path
- Return type:
- property open
Returns a context manager and thus can be called like open
- run()[source]
Executes the functionality of the code.
Note
This method expects self.validate to have been called to ensure all necessary options have been provided
- Returns:
A TreeGrid object that can then be passed to a Renderer.
- classmethod unsatisfied(context, config_path)
Returns a list of the names of all unsatisfied requirements.
Since a satisfied set of requirements will return [], it can be used in tests as follows:
unmet = configurable.unsatisfied(context, config_path) if unmet: raise RuntimeError("Unsatisfied requirements: {}".format(unmet)
- Return type:
- version = (1, 1, 0)
- class InodeInternal(superblock, mountpoint, inode, path)[source]
Bases:
object
Inode internal representation containing only the core objects
- Fields:
superblock: ‘super_block’ struct mountpoint: Superblock mountpoint path inode: ‘inode’ struct path: Dentry full path
-
inode:
ObjectInterface
-
superblock:
ObjectInterface
- to_user(kernel_layer)[source]
Augment the inode information to be presented to the user
- Parameters:
kernel_layer (
TranslationLayerInterface
) – The kernel layer to obtain the page size- Return type:
- Returns:
An InodeUser dataclass
- class InodePages(context, config_path, progress_callback=None)[source]
Bases:
PluginInterface
Lists and recovers cached inode pages
- Parameters:
- build_configuration()
Constructs a HierarchicalDictionary of all the options required to build this component in the current context.
Ensures that if the class has been created, it can be recreated using the configuration built Inheriting classes must override this to ensure any dependent classes update their configurations too
- Return type:
- property config: HierarchicalDict
The Hierarchical configuration Dictionary for this Configurable object.
- property context: ContextInterface
The context object that this configurable belongs to/configuration is stored in.
- classmethod get_requirements()[source]
Returns a list of Requirement objects for this plugin.
- Return type:
- classmethod make_subconfig(context, base_config_path, **kwargs)
Convenience function to allow constructing a new randomly generated sub-configuration path, containing each element from kwargs.
- Parameters:
context (
ContextInterface
) – The context in which to store the new configurationbase_config_path (
str
) – The base configuration path on which to build the new configurationkwargs – Keyword arguments that are used to populate the new configuration path
- Returns:
The newly generated full configuration path
- Return type:
- property open
Returns a context manager and thus can be called like open
- run()[source]
Executes the functionality of the code.
Note
This method expects self.validate to have been called to ensure all necessary options have been provided
- Returns:
A TreeGrid object that can then be passed to a Renderer.
- classmethod unsatisfied(context, config_path)
Returns a list of the names of all unsatisfied requirements.
Since a satisfied set of requirements will return [], it can be used in tests as follows:
unmet = configurable.unsatisfied(context, config_path) if unmet: raise RuntimeError("Unsatisfied requirements: {}".format(unmet)
- Return type:
- version = (3, 0, 0)
- classmethod write_inode_content_to_file(context, layer_name, inode, filename, open_method)[source]
Extracts the inode’s contents from the page cache and saves them to a file
- Parameters:
context (
ContextInterface
) – The context on which to operatelayer_name (
str
) – The name of the layer on which to operateinode (
ObjectInterface
) – The inode to dumpfilename (
str
) – Filename for writing the inode contentopen_method (
Type
[FileHandlerInterface
]) – class for constructing output files
- Return type:
- classmethod write_inode_content_to_stream(context, layer_name, inode, stream)[source]
Extracts the inode’s contents from the page cache and saves them to a stream
- Parameters:
context (
ContextInterface
) – The context on which to operatelayer_name (
str
) – The name of the layer on which to operateinode (
ObjectInterface
) – The inode to dumpstream (
IO
) – An IO stream to write to, typically FileHandlerInterface or BytesIO
- Return type:
- class InodeUser(superblock_addr, mountpoint, device, inode_num, inode_addr, type, inode_pages, cached_pages, file_mode, access_time, modification_time, change_time, path, inode_size)[source]
Bases:
object
Inode user representation, featuring augmented information and formatted fields. This is the data the plugin will eventually display.
- class RecoverFs(context, config_path, progress_callback=None)[source]
Bases:
PluginInterface
Recovers the cached filesystem (directories, files, symlinks) into a compressed tarball.
Details: level 0 directories are named after the UUID of the parent superblock; metadata aren’t replicated to extracted objects; objects modification time is set to the plugin run time; absolute symlinks are converted to relative symlinks to prevent referencing the analyst’s filesystem. Troubleshooting: to fix extraction errors related to long paths, please consider using https://github.com/mxmlnkn/ratarmount.
- Parameters:
- build_configuration()
Constructs a HierarchicalDictionary of all the options required to build this component in the current context.
Ensures that if the class has been created, it can be recreated using the configuration built Inheriting classes must override this to ensure any dependent classes update their configurations too
- Return type:
- property config: HierarchicalDict
The Hierarchical configuration Dictionary for this Configurable object.
- property context: ContextInterface
The context object that this configurable belongs to/configuration is stored in.
- classmethod get_requirements()[source]
Returns a list of Requirement objects for this plugin.
- Return type:
- classmethod make_subconfig(context, base_config_path, **kwargs)
Convenience function to allow constructing a new randomly generated sub-configuration path, containing each element from kwargs.
- Parameters:
context (
ContextInterface
) – The context in which to store the new configurationbase_config_path (
str
) – The base configuration path on which to build the new configurationkwargs – Keyword arguments that are used to populate the new configuration path
- Returns:
The newly generated full configuration path
- Return type:
- property open
Returns a context manager and thus can be called like open
- run()[source]
Executes the functionality of the code.
Note
This method expects self.validate to have been called to ensure all necessary options have been provided
- Returns:
A TreeGrid object that can then be passed to a Renderer.
- classmethod unsatisfied(context, config_path)
Returns a list of the names of all unsatisfied requirements.
Since a satisfied set of requirements will return [], it can be used in tests as follows:
unmet = configurable.unsatisfied(context, config_path) if unmet: raise RuntimeError("Unsatisfied requirements: {}".format(unmet)
- Return type:
- version = (1, 0, 0)