Commit Graph
5603 Commits
Author SHA1 Message Date
David McDonald 76cceb93cb Code Review: Get rid of 'kvo' in favor of kernel.offset 2025-03-05 17:59:49 -06:00
David McDonald a192546eb0 Framework: Minor version bump
There are a lot of things going into this so we're doing a minor
framework version bump.
2025-03-05 17:59:49 -06:00
David McDonald 456d7b7db5 CodeQL Fix: Unused variable
Also underscores an unused unpacked tuple value
2025-03-05 17:59:49 -06:00
David McDonald 7964ca07e4 Code Review: PluginRequirement -> VersionRequirement
Code Review: PluginRequirement -> Version Requirement
2025-03-05 17:59:49 -06:00
David McDonald 5c6107bf33 Code Review (style): Use keyword args for clarity
This updates a whole host of method calls to pass keyword arguments
instead of positional arguments.
2025-03-05 17:59:49 -06:00
David McDonald 2b9f61abea Code Review: Parameter renaming
Makes it explicit that these are symbol table names, not actual symbol
tables.
2025-03-05 17:59:38 -06:00
David McDonald c2c93ad90e Code Review: Simplify dictionary construction
Also adds some keywords in method call args, and fixes an incorrect
type-hint.
2025-03-05 17:59:38 -06:00
David McDonald f139dde121 Code Review: Fix pslist param
Change to self.current_kernel_name so people can change this value.
2025-03-05 17:59:38 -06:00
David McDonald cad15d0c92 Windows DeskScan: Add version to class
code review fix
2025-03-05 17:59:38 -06:00
David McDonald 06a2ebd9ff Windows GUI Symbols: JSON Lint 2025-03-05 17:59:38 -06:00
David McDonald 3750b88ba4 Windows WindowStations: Fix issue with native types 2025-03-05 17:59:38 -06:00
Andrew CaseandDavid McDonald dad5a75aaa Windows GUI Plugins: Adds three plugins
This adds the windowstations, desktops, and deskscan plugins, and
removes the gui.py plugin file that was stubbed out in the introductory
work for the effort.

It also adds a new method to the poolscanner class, but does not bump
the poolscanner version number since there is already a major version
number bump going into this PR.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
Andrew CaseandDavid McDonald 885bf187e2 Windows DeskScan: Update pool extension
This updates the Windows pool extension with a new get_name() method,
and changes the method signature for another. We'll need to figure out
if there is a good way to version extension classes.

Deskscan requires this in order to use get_name with an alternate
(non-kernel) symbol table.
2025-03-05 17:59:38 -06:00
David McDonald ced9056754 Windows Versions: Add version check for win10 17735 or later 2025-03-05 17:59:38 -06:00
David McDonald 76e459b62e Windows Versions: Sort version checks for readability 2025-03-05 17:59:38 -06:00
Andrew CaseandDavid McDonald 844a24f02d Windows Scheduled Tasks: Prevent backtraces
This fixes an `AttributeError` that can crop up when the actionset's
context is `None`.
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 0f05128230 Windows PEDump: Update dependents
This updates all plugins that both depend on PEDump and won't require
breaking changes of their own. They now call the updated method
signature, and have their pedump requirement version bumped
appropriately.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 3ec0e4c43f Windows PEDump: Update PsList dep and change method signature
This updates PEDump to use the latest version of PsList, updates the
dependency version number, changes one of it's own method signatures to
facilitate the pslist change, and does a major bump of its own version
number.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case b6ec262deb Windows PsList: Update dependents
This updates all dependents on windows.pslist.PsList that could be
updated without breaking interface changes of their own to use the
latest windows.pslist.PsList plugin version with a simplified method
signature

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case f06c87cb39 Windows Consoles: Update hivelist dep and change method signature
This updates the windows.consoles.Consoles plugin to use the updated
hivelist method signature, changing one of its own method signatures as
required and doing a major version bump of its own.

Plugins that depend on consoles also have their method calls changed,
and their dependency versions bumped.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case d0f70f67b8 Windows Threads: Update dependents
This updates the debugregisters and suspended threads plugins' threads
requirement with the latest major version bump.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 23cd309045 Windows Threads: Change list_process_threads signature
This updates the windows.threads plugin with a method signature change:
`module_name` is now `kernel_module_name` for clarity.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case d69b231f16 Windows Suspended Threads: Updates pe_symbols req
This bumps the requirement version number for pe_symbols, and uses the
latest method signature.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case e3ce4bc847 Windows PESymbols: Updates requirements, changes interface
This updates the PESymbols plugin to use the latest changes from pslist
and modules. This required breaking interface changes of its own
(altered method signatures) and so receives its own major version bump.
Dependents of PESymbols that _don't_ require any breaking changes have
their method calls and version requirement numbers updated here as well.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 13550aef3f Windows Modules: Update dependents
This updates the ssdt, truecrypt, drivermodule, driverirp, and verinfo
plugins to use the new method signatures from the Modules plugin, and
updates the requirement version numbers as well.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 73baf67d27 Windows Indirect Syscalls: Remove unneeded pslist dep
PsList is not actually used in this plugin, and has therefore been
removed.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 886faec474 Windows Shimcachemem: Updates req's, new major version
This updates the ShimcacheMem plugins with the version bumps on the
modules and pslist requirements, updates the corresponding method calls,
and does a major version bump of its own due to a required breaking
method signature change.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case ae6ced5888 Windows ScheduledTasks: update hivelist dep, breaking change
This updates the ScheduledTasks plugin with an updated hivelist
requirement version number, changes the corresponding method call, and
does a major version bump of its own due to a changed parameter name.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case f703da197b Windows Extensions: Fix traceback when accessing peb.Ldr
This fixes a simple InvalidAddressException traceback by just catching
the exception on the member access and continuing.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 57c6afd0fc Windows Netstat: Update modules req, adds breaking change
This updates the netstat plugin to use the new method signature in the
modules plugin; however, this requires a breaking change of its own
which is done here as well. The major version is bumped accordingly;
this plugin has no dependents that require updates at this time.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case a566c10da7 Windows SvcDiff: Update reqs, adds breaking change
This updates the svcdiff plugin to use the latest changes from svclist
and svcscan, updating the requirement version numbers, and giving itself
a major version bump due to a changed method signature.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case cf9261727b Windows SvcScan: Update reqs, add breaking change
This updates the windows SvcScan plugin with the latest changes from
hivelist/pslist, fixing up method calls and bumping requirement version
numbers. In order to use the new method signatures, breaking changes
were required to the svscan public methods, so a major version bump has
been added.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 6a6fd29d05 Windows svclist: Update svcscan dependency
This updates the svclist plugin with breaking changes to its public
methods in order to update calls to the svcscan methods. Both
requirement and plugin version numbers have been updated accordingly
here.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 0b72e0fdb1 Windows Orphan Kernel Threads: Update modules dep, add breaking change
This updates the orphan kernel threads plugin to use the latest changes
from the modules plugin, updating method signatures and bumping the
requirement version number. This required breaking interface changes in
the plugin itself, so the major version number has been bumped.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 7bfbc26d67 Windows Strings: Update pslist req and add breaking change
This uses the latest changes from windows.pslist, updated the
requirement version number. It also required breaking changes of its
own, so the Strings version number has been given a major version bump
as well.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case d1abad3d87 Windows UnhookedSystemCalls: Update reqs, add breaking change
This update the unhooked system calls plugin to use the latest changes
from pslist, updating the requirement version numbers and bumping its
own major version number due to a changed method signature.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case de21ae4d2d Windows SuspiciousThreads: Adds missing requirement, updates other
This updates the threads version number to the latest (2.0.0) and adds a
missing plugin requirement for thrdscan.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 5ed31d3133 Windows PoolScan: Adds method
This updates the poolscanner plugin with an additional method,
`generate_pool_scan_extended`, and does the corresponding minor version
bump.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case be8b7580dd Windows Amcache: Update dependency and change method signature
This updates the Windows Amcache plugin to use the latest changes in
Windows HiveList. It requires a major version bump of its own due to a
breaking method signature change, and is therefore in its own commit.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 3a7e61b285 Windows Hivelist: Update dependents
This updates all plugins that depend on windows.hivelist.HiveList to use
the updated method signature, and bumps their dependency version
accordingly.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 6092e3ee0a Windows HiveList: Update list_hives method signature
Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonald 5cc0ea967f Windows SSDT: Updates plugin consumers
Updates all plugins that use the `ssdt` module with correct parameters
and updated version requirement values.
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 9239742b6f Windows SSDT: Simplify build_module_collection signature
This simplifies the `build_module_collection` signature to take a single
`kernel_module_name` parameter instead of `layer_name` and
`symbol_table_name` parameters, both of which would only ever belong to
the kernel anyway. This will prevent future confusion for consumers of
this method.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 2f016d7403 Windows Modules/Modscan: Clean up APIs
This cleans up the APIs for some methods in the modscan/modules plugins
that currently take separate symbol_table_name and layer_name
parameters, when it really makes more sense to just pass in the context
and the kernel module name.

It also updates the pslist plugin requirement version, and uses the
updated method signatures.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonaldandAndrew Case 5cbc07887c Windows PsList: Add method for listing procs from kernel
This adds a new classmethod, `list_processes_from_kernel`, updates the
`list_processes` method signature to use only the kernel module name and
the context instead of splitting information about the kernel between
the layer_name and symbol_table_name paramters, and does a major version
number increase on the plugin.

Also updates the documentation to reflect pslist method signature
change.

Co-authored-by: Andrew Case <andrew@dfir.org>
2025-03-05 17:59:38 -06:00
David McDonald 59919dc1da Windows: Adds GUI plugin 2025-03-05 17:59:38 -06:00
David McDonald 319edbb486 Windows: Adds windows OS version checks 2025-03-05 17:59:38 -06:00
David McDonald b92247fe32 Windows: Adds windows GUI vtypes 2025-03-05 17:59:38 -06:00
ikelosandGitHub caa52c08d3 Merge pull request #1670 from volatilityfoundation/fix_module_enum
Avoid smear in module enumeration paths
2025-03-05 23:43:34 +00:00
Andrew Case 437c611cb9 Avoid smear in module enumeration paths 2025-03-05 23:45:38 +00:00