Commit Graph
1171 Commits
Author SHA1 Message Date
Mike Auty 4e8c8a7232 Fix issues with SymbolRequirement refactoring. 2019-02-11 22:30:22 +00:00
Michael Lighandikelos 12fe297c80 builtin_constraints() returns all constraints by default 2019-02-07 09:08:32 +00:00
Michael Lighandikelos f34cd01b09 small style change for readability 2019-02-07 09:08:32 +00:00
Michael Lighandikelos 33f3f4372c parameterize generate_pool_scan() - let plugins choose which contraints to use
plugins can choose from a list of built-ins or they can create their own and pass them into generate_pool_scan()
2019-02-07 09:08:32 +00:00
Michael Lighandikelos c1341e6278 refactor poolscanner to be leveraged by other plugins. add psscan 2019-02-07 09:08:32 +00:00
Mike Auty f898dca296 Refactor SymbolRequirement to SymbolTableRequirement for clarity. 2019-02-06 21:26:32 +00:00
Michael Lighandikelos d23e6474ce reference windows metadata & PE values from ISF as the primary method of determining OS version 2019-02-06 21:11:20 +00:00
Mike Auty df41a0cf50 Fix up Vad extensions now that Chars are ints rather than bytes. 2019-02-06 21:08:52 +00:00
Mike Auty 9b488f89fd Make the default python-type for Chars an int rather than a bytes. 2019-02-06 21:06:12 +00:00
Mike Auty 0a13942cd7 Add a missing property keyword for the metadata method. 2019-02-06 17:46:07 +00:00
Mike Auty 71fb77f624 Remove the mis-committed print statements. 5;) 2019-02-06 09:14:03 +00:00
Michael Ligh f61fba8e00 the vad end should be the last byte in the last page (i.e. ending in 0xfff) 2019-02-05 21:05:17 -06:00
Mike Auty fcd77b4c5f Update the documentation to support the wrapper with autodoc-typehints. 2019-01-21 22:10:18 +00:00
Mike Auty c64ed6a8dd Remove validity checking in favour of static-type checking.
This removes the assertions that checked plugin devs didn't do anything
overly bad in favour of using mypy to ensure appropriate type-checking.

It also moves the ProgressCallback typing information to constants in
order to avoid circular imports (since constants doesn't import
anything).
2019-01-20 02:35:49 +00:00
Mike Auty 0ee335237a Improve the protection of empty regular expressions (improves issue #61). 2019-01-18 11:27:24 +00:00
Mike Auty 3078141352 Fix typing for python < 3.6.1. 2019-01-03 01:34:04 +00:00
Mike Auty b13fcb186c Improve typing issues. 2019-01-03 01:13:53 +00:00
Mike Auty 8838099845 Don't hard code the error levels for logging. 2019-01-03 00:40:36 +00:00
Mike Auty 6bb927ebfa Fix up terminology to ensure we only refer to layers not spaces. 2019-01-03 00:40:13 +00:00
Mike Auty 040da46deb Fix up the descriptions for non-simple requirements. 2019-01-03 00:39:53 +00:00
Mike Auty 19f908b075 Rejig pdbscan to find potential offsets then check them.
Originally we found physical offsets for pdbs that matched,
then found potential offsets and tested them against each other.

Now, we find the potential offsets and then look for pdbs at that offset
(technically within a 4Mb block after the start).  The scanning is quick
(probably quicker than scanning the whole physical space) and should
catch most pdbs unless they're splayed out in virtual memory.
2019-01-01 01:14:34 +00:00
Mike Auty afdd8b657e Fix memory problems with banner_caches.
Since we stack using Mac layers as well as Linux layers, both sets of
banner caches are required.  As the cache builders are separate at the
moment, we previously ran banner searches without any banners.  This was
bad.  It inflated memory hugely and killed the buildbot.

We now bomb out on stacking a Linux or Mac layer unless we have banners
against which to match.
2018-12-30 15:13:10 +00:00
Mike Auty ac57e62807 Output the requirement description when it can't be fulfilled. 2018-12-29 00:41:20 +00:00
Andrew Caseandikelos 92adf4ffd0 switch mac_pslist to absolute_symbol_addresses interface 2018-12-27 22:43:19 +00:00
Andrew Caseandikelos b77d638ead switch mac_lsmod to absolute_symbol_addresses interface 2018-12-27 22:43:19 +00:00
Andrew Caseandikelos 1845fe9ec5 update syscall to use new API correctly 2018-12-27 22:43:19 +00:00
Andrew Caseandikelos f8fab3a71d switch mac_trustedbsd to absolute_symbol_addresses interface 2018-12-27 22:43:19 +00:00
Andrew Caseandikelos 9eeac53d8d add mac_check_syscall 2018-12-27 22:43:19 +00:00
Andrew Caseandikelos 984615ebba fix plugins for new API 2018-12-27 22:41:03 +00:00
Andrew Caseandikelos 731447000d avoid use of _context in extension 2018-12-27 22:41:03 +00:00
Andrew Caseandikelos 2a0aec8104 switch linux_lsmod to absolute_symbol_addresses interface 2018-12-27 22:41:03 +00:00
Mike Auty 59d3f2b8ee Clean up an unecessary import. 2018-12-25 16:48:15 +00:00
Mike Auty 2bbb3f7878 Fix up issue identified by atcuno. 2018-12-20 15:46:42 +00:00
Mike Auty ecdc89a282 Fix a stupid typo. 2018-12-20 15:46:42 +00:00
Mike Auty 67c9c7e097 Add in fix for absolute symbol offsets within modules. 2018-12-20 15:46:42 +00:00
Mike Auty 4308245499 Revert "prevent double shifting of ASLR slides"
This reverts commit 2655fd1666.
2018-12-20 15:40:53 +00:00
Mike Auty d676d29c8b Remove author lines with permission.
So that we don't get contributions that include author lines remove any
that exist currently in the code.  We need to figure out how we're going
to support attribution, probably through an AUTHORS file, but definitely
not peppering the code.
2018-12-20 09:16:35 +00:00
Mike Auty fdc6efc4ad Add in the LICENSE and the README. 2018-12-19 23:55:03 +00:00
Mike Auty e3ab3b1c8f Make certain methods protected, otherwise they should be classmethods. 2018-12-19 22:48:16 +00:00
Mike Auty 189c8786f1 Rename filt to filter_func (because we value clarity over brevity) and another small fix. 2018-12-19 22:46:33 +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 39634893d6 Reformat with yapf and change filter to filt. 2018-12-19 19:43:56 +00:00
Andrew Caseandikelos 989e8643e9 add mac_bash 2018-12-19 19:43:56 +00:00
Andrew Caseandikelos 06cd454913 add mac_trustedbsd 2018-12-19 19:43:56 +00:00
Andrew Caseandikelos ab877b3907 move plugins into proper directory 2018-12-19 19:43:56 +00:00
Mike Auty af8719d299 Keep a separate list of resolve symbols, in case they share the name of a type. 2018-12-19 19:43:27 +00:00
Mike Auty eb2b96e0ad Reorder the sanitization to ensure booleans are stored as bools. 2018-12-19 19:41:46 +00:00
Mike Auty d4cc02025c Add in sanitization to prevent volatility objects leaking into the configuration data. 2018-12-19 18:54:48 +00:00
Andrew Case 2655fd1666 prevent double shifting of ASLR slides 2018-12-19 11:12:58 -06:00
Mike Auty 2a3b7348be Add in minor changes and remove the duplicate plugins for mac. 2018-12-19 01:01:53 +00:00