Commit Graph
50 Commits
Author SHA1 Message Date
Mike Auty 6c3176b32c Linux: Improve lengths for name_as_str 2020-09-01 23:36:21 +01:00
AsafEitaniandikelos 7ab72a1066 yapf and some corrections 2020-08-31 17:05:20 +01:00
Jack Wengerandikelos 20e4df0bf6 fixed issues 2020-08-23 21:32:27 +01:00
Jack Wengerandikelos 53c36d91c3 added hashdump
Added documentation and logging

added cachedump and lsadump

Fixed requested issues

fixed encoding issues

added requirement

Framework: Move cache_clear function to the framework

Documentation: Document self.config slightly better

Linux/Mac: Refactor *nix Utilities classes

Automagic: Fix issue in recent refactor

Add elf parsing and symbol retrieval for linux kernel modules

Fixes on coding style

Linux: Restore accidentally dropped kobject definition

Core: Rerun yapf across the codebase.

First attempt and better DTB and ASLR validation. Debugging statements left in.

Mac: Stash the verified ASLR shift and improve logging

Linux: Support stashing the KASLR

Remove extra debug prints

added hashdump

Added documentation and logging

Linux - stash the Linux kernel virtual address

Hashdump: Reformat and convert to proper byte handling

Registry: Fix error message

Caching: Only cache remote files

Yarascan: Move most of yarascanning into a versionable plugin

This refactors common yara tasks, so we can use the plugin versioning to
keep track of changes to the YaraScanner class.

Core: Refactor versioning and associated requirements

Configuration: Improve the VersionableInterface documentation

Plugins: Remove unnecessary dependency for yarascan

Objects: Add a convenience function for validating enum values

Objects: Update enumeration method to is_valid_choice

Core: Maintain 3.5.3 compatibility

created tty_check.py; edited automagic/linux.py to add kernel tracking abilities

fixed some formatting for tty_check.py

Fixed tty_check not finding the ttyhook module

added some documentation

Removed unnecessary code from tty_check.py

added docs to automagic methods, fixed missing return types, changed parameters to be more specific

added kernel string to linux constants file; changed automagic methods so that they reconstruct the kernel object within the method for consistancy with other methods

added parameter type to generate_kernel_handler_info

Updated imports to reflect new location of utility class; plugins are no longer outputing anything so commiting for Andrew to take a look at

removed debugging print statements

fixed bug causing no output when tty_check is run

Windows.info: Refactor windows.info as classmethods

Linux: Fix plugin case and re-run yapf

created keyboard_notifiers

removed extra whitespace

Yapf: Minor reformats for recent plugins

Codebase: Ensure all conversions to bytes handle unicode

All conversions using `latin-1` have been converted to
`raw_unicode_escape` which is like `latin-1`, but handles unicode
characters appropriately (with a `\u` prefix).

Since this is like `latin-1` it should have no impact on things that ran
previously, but those that would fail with a unicode error now will
present an encoded unicode string.  There may be situations where the
binary representation of unicode would be better (timeliner file
output?), but those can be changed when/if it's determined necessary.

Fixes #274.

Linux: Fix keyboard_notifiers copyright year

Renderers: Fix the pretty renderer when no rows are emitted

Timeliner: Sort results and provide a filter

Sorts the results (as stated).  Note that user interfaces may decide to
sort their results in an order of their choosing.

Also added a parameter that can be provided multiple times to only allow
plugins that match (any of) the parameters provided.

Timeliner: Actually make use of the TextIoWrapper

Windows: Add a version to the info plugin now its got classmethods

CLI: Add additional help about 'vol.py plugin --help'

created linux_check_idt; plugin currently is not finding the module names for each entry in idt table

fix copyright year

fixed poor variable name, removed unnecessary code

added address mask to fix issue with kernel tracking

CLI: Revert epilog changes

Update lsadump.py

I'm not sure why your are getting this error since it works fine for me, but this may fix it
2020-08-23 21:32:27 +01:00
Mike Auty 8e420cbe62 Core: Multiple typing fixes across the tree 2020-08-16 22:22:24 +01:00
Mike Auty 523156670d Documentation: Clarify the mapping output parameters 2020-08-16 00:50:17 +01:00
Matt Tresslerandikelos 8beac1d67d fixed bug causing no output when tty_check is run 2020-07-30 23:24:23 +01:00
Matt Tresslerandikelos 71dc85ade5 removed debugging print statements 2020-07-30 23:24:23 +01:00
Matt Tresslerandikelos 34ff856a79 Updated imports to reflect new location of utility class; plugins are no longer outputing anything so commiting for Andrew to take a look at 2020-07-30 23:24:23 +01:00
Matt Tresslerandikelos 44911bf54a Fixed tty_check not finding the ttyhook module 2020-07-30 23:24:23 +01:00
Mike Auty 13e36ec58a Core: Rerun yapf across the codebase. 2020-07-28 16:57:48 +01:00
Mike Auty cbd40db053 Linux: Restore accidentally dropped kobject definition 2020-07-28 16:53:24 +01:00
xabiugarteandMike Auty fedd9c5519 Fixes on coding style 2020-07-28 16:46:43 +01:00
xabiugarteandMike Auty 01dea6f3a8 Add elf parsing and symbol retrieval for linux kernel modules 2020-07-28 16:46:40 +01:00
Mike Auty 61563350b3 Linux/Mac: Refactor *nix Utilities classes 2020-07-28 11:15:16 +01:00
Matt Tresslerandikelos 4092bdb5de changed from windows to linux line endings 2020-07-21 23:00:52 +01:00
Matt Tresslerandikelos 82a6b23669 Completed linux_check_modules. Added kobject extension as needed for check_module plugin 2020-07-21 23:00:52 +01:00
Mike Auty 153b3b7d39 Make sure we catch the most general exception for what we mean. 2019-09-27 11:19:53 +01:00
Mike Auty e0b9d72c84 Update the license URL and LICENSE.txt 2019-09-25 21:44:05 +01:00
Mike Auty 37cb541013 Change the layer naming convention to include the underscores when necessary. 2019-09-25 19:38:39 +01:00
Mike Auty 926288a7ac Ensure process layer name contains the process ID. 2019-09-25 01:15:58 +01:00
Mike Auty e922cef316 Improve docstrings for all plugins, and reformat all docstrings. 2019-09-07 22:59:54 +01:00
Mike Auty a3caf39097 Use a mapping to determine kind to class. 2019-08-31 12:57:53 +01:00
Mike Auty 9cde94bceb Change the license blurb on all files. 2019-08-27 23:11:00 +01:00
Mike Auty 42b2fb120a Swap TranslationLayerInterface decendents over to LinearMappedLayers 2019-08-27 21:09:13 +01:00
Mike Auty 272224a1b0 Refactor all references to Context.memory to Context.layers. 2019-07-07 17:42:51 +01:00
Mike Auty 7904be3fd2 Yapf reformat all files. 2019-03-04 22:11:44 +00:00
Andrew Caseandikelos 984615ebba fix plugins for new API 2018-12-27 22:41:03 +00:00
Mike Auty fdc6efc4ad Add in the LICENSE and the README. 2018-12-19 23:55:03 +00:00
Mike Auty 70e8204113 Fix up linux version of mmap_iter property to get_mmap_iter. 2018-12-19 22:38:43 +00:00
Mike Auty 19572b6e1e Reformat all python files using yapf with custom volatility style. 2018-12-16 16:50:17 +00:00
Mike Auty 29d41470a4 Mass reformat of typing imports
Relented on the strict import of direct objects/classes for the typing
module only.  Typing module components can be directly imported because
it makes the code really painful to read and write otherwise.

This is still in-line with the python style guide adopted from Google at
http://google.github.io/styleguide/pyguide.html section 2.2.
2018-12-16 13:04:22 +00:00
Mike Auty 8acbe8bba3 Refactor conversion code from objects.utility to a conversion module in renderers. 2018-12-12 23:39:10 +00:00
Mike Auty b5d532555c Convert the adhoc scanner into a layer scanner using sections. 2018-12-08 18:21:39 +00:00
Mike Auty 649a39a13d Change time_as_integer from a property to get_time_as_integer method. 2018-12-08 18:00:44 +00:00
Andrew Caseandikelos 8705fb3047 update time_object to get_time_object 2018-12-08 17:34:48 +00:00
Andrew Caseandikelos 0e7b6b6702 Updated hist_entry type and references, add bash plugin 2018-12-08 17:34:48 +00:00
Andrew Caseandikelos c6e9763e5a Linux - add bash plugin 2018-12-08 17:34:48 +00:00
Mike Auty e27ba8d089 Fix up naming for objects/symbols_utility imports. 2018-11-08 00:48:38 +00:00
Mike Auty db7320e426 Bulk lint and a couple of typos fixed. 2018-11-08 00:19:17 +00:00
Andrew Caseandikelos 625952680a mass convert hasattr -> has_member 2018-11-08 00:19:17 +00:00
Andrew Caseandikelos 98e472e211 major updates and new plugins 2018-11-08 00:19:17 +00:00
Andrew Caseandikelos 63e9cd4604 initial set of Linux plugins and extensions for ikelos review 2018-11-08 00:19:17 +00:00
Mike Auty 7a52ac9deb Fix a large number of typing issues.
There are several instances where mypy didn't detect

if blah is not None:
    blah = thing

and so were rewritten as:

blah = blah or thing
2018-06-04 01:25:02 +01:00
Mike Auty 623180ddbd Make many typing fixes, based on mypy-0.590. 2018-04-22 20:45:59 +01:00
Mike Auty 942de5f166 Finish adding type-annotations thoughout the code. 2017-12-13 20:48:52 +00:00
Mike Auty aa87c87a22 Remove the additional import that was entirely my fault being there in the first place. 2017-08-16 21:40:58 +01:00
Nick L. Petroni, Jr c4e6b07ee0 refactored constants.linux usage 2017-08-16 16:30:12 -04:00
Nick L. Petroni, Jr 5bb2aef9fc Created linux.proc.Maps plugin.
Added object extensions for the key structures. Also added
constants.linux, which will contain Linux-specific constants
that can't be extracted via dwarf.
2017-08-16 16:14:33 -04:00
Nick L. Petroni, Jr 8fcbf988b5 initial linux.pslist.PsList plugin 2017-05-14 22:24:05 -04:00