Commit Graph

108 Commits (daf9f9abe8dbbca22e1b64029b1498bcba7d8876)

Author SHA1 Message Date
Luke Imhoff fb266d5eb9 Refactor demand_load_module
[#36737359]

Refactor the behavior of loading symbolic modules from cache by renaming
methods so it's clearer what they do and ensure that cached modules from
Fastlibs and directories can both be loaded, which was not previously
possible since the demand_load_module only called load_module_from_file.
2012-10-04 11:14:08 -05:00
Luke Imhoff 9c5350606b Fully-qualify Msf constants.
[#36737359]

On Linux, some of the unqualified constants that resolve on Mac OS X,
don't resolve, so to prevent errors (and because I can't justify why the
unqualified constants should resolve on OS X), I'm qualifying all the
Msf constants that are referenced in the code I've refactored.
2012-10-03 17:17:18 -05:00
Luke Imhoff 41a0e58b16 Improved docs for ModuleManager and ModuleSet. 2012-10-02 16:26:57 -05:00
Luke Imhoff 555a9f2559 Refactor Msf::ModuleManager
[Fixes #36737359]

Refactor Msf::ModuleManager into concerns so its easier to understand and
duplicate code can be made DRY.  The refactoring also ensures that when
loading from directories, Fastlibs, or reloading, the wrapper module will
always be named so that activesupport/dependencies will function.
2012-10-01 13:09:30 -05:00
Luke Imhoff 8a2dc0a09f Give ruby Modules that wrap Metasploit modules a name
[#36737359]

active_support/dependencies cannot resolve missing constants in Metasploit
modules because the wrapper module is anonymous.  In order to make the
wrapper module non-anonymous, the module must be assigned to a constant.
Since we don't want modules colliding, the wrapper module needs a unique
name, so use the module lookup name to derive the proper nested module names
to namespace the wrapper module.  All derived modules are nested under
Msf::Modules.  The name derivation handles invalid characters for constant
names such as digits as the first character or non-alphanumeric character.
The invalid constant name characters are converted to their hex value and
prefixed with X, so '-' in a name become 'X2d'.
2012-09-27 12:52:09 -05:00
HD Moore 64364e3f16 Handle failed reloads in a nicer way 2012-07-03 19:49:44 -05:00
HD Moore d656e3185f Mark all libraries as defaulting to 8-bit strings 2012-06-29 00:18:28 -05:00
sinn3r 0e55141fd9 Rename counts to count 2012-06-28 11:43:33 -05:00
sinn3r 5092152949 Fix the broken reload_modules method
When using the reload_all command, the framework will trigger an
'undefined method module_history' error, because we're missing
an accessor.

Also, even though reload_modules returns "counts". That actually
returns a hash instead of a real count of modules... the return
value is also never actually used anywhere.  But to make this
part not broken, we return the actual count.
2012-06-28 11:39:14 -05:00
HD Moore 584e0dbd98 Load console config AFTER module path initialization 2012-06-25 01:16:35 -05:00
HD Moore 6dd8fd2e05 Move the cache rebuild into a background job 2012-06-16 15:41:37 -05:00
HD Moore 8425c8438d Switch to a MDM/SQL-based module cache 2012-06-16 14:51:09 -05:00
HD Moore 03b29fff68 Merge up the latest, does not automaticlly load
the module tree into the database right now.
2012-06-14 04:35:43 -05:00
James Lee 5bf973871c Space at EOF cleanup 2012-05-24 16:28:20 -06:00
HD Moore cfa128a2c8 Show the actual module name in the stack trace (instead of eval) 2011-12-13 09:47:37 -06:00
HD Moore 591ef73f7d Merge in updated module_manager that loads all .fastlibs 2011-11-28 22:24:27 -06:00
HD Moore 7059e20315 Add support for .fastlib module archives to the module manager 2011-11-21 15:58:19 -06:00
James Lee e7a545c483 spaces at EOL in core stuff 2011-11-20 12:10:08 +11:00
HD Moore f4e42420ad Small change to abstract the actual source read 2011-11-12 14:48:11 -06:00
Joshua Drake 415777c25b fix missing initialization
git-svn-id: file:///home/svn/framework3/trunk@13023 4d416f70-5f16-0410-b530-b9f4589650da
2011-06-25 04:57:01 +00:00
HD Moore 73137c8dc1 Implement some future proofing
git-svn-id: file:///home/svn/framework3/trunk@13020 4d416f70-5f16-0410-b530-b9f4589650da
2011-06-25 01:40:16 +00:00
James Lee 06779bc8c0 remove unnecessary requires for stuff in rex. autoload and a high-level require 'rex' in lib/msf/core.rb should take care of everything. see #4371, #4373, r12587, and r12554.
git-svn-id: file:///home/svn/framework3/trunk@12588 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-12 00:53:33 +00:00
Matt Weeks 490471e129 Include necessary require.
git-svn-id: file:///home/svn/framework3/trunk@12558 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-07 02:16:09 +00:00
HD Moore 6bdf2a4e2b Proactively wrap each() in other Hash based classes to avoid situations that trigger modification during enumeration
git-svn-id: file:///home/svn/framework3/trunk@12479 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-30 04:59:27 +00:00
HD Moore 3d59be3586 This patch adds a 'reload_all' command to msfconsole. This will flush and reload all modules from all module paths
git-svn-id: file:///home/svn/framework3/trunk@12040 4d416f70-5f16-0410-b530-b9f4589650da
2011-03-20 22:22:07 +00:00
James Lee b05fd2c9a3 fix a stack trace when trying to loadpath a non-existant directory
git-svn-id: file:///home/svn/framework3/trunk@11714 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-04 20:53:08 +00:00
Joshua Drake 4f3cdf0b26 See #3470, forgot a debug line, oops
git-svn-id: file:///home/svn/framework3/trunk@11669 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-29 03:35:42 +00:00
Joshua Drake 647b41cc96 Fixes #3470 by canonicalizing module paths as they are added
git-svn-id: file:///home/svn/framework3/trunk@11668 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-29 03:34:48 +00:00
Joshua Drake a1b74eee0d Fixes #3607, Removes the module count cache since it seems to have no performance impact (and was broken)
git-svn-id: file:///home/svn/framework3/trunk@11653 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-27 00:13:13 +00:00
Joshua Drake 4b777686d8 whitespace fixes
git-svn-id: file:///home/svn/framework3/trunk@11645 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-26 03:13:40 +00:00
Joshua Drake 53bba0bd54 Move cache logic from statistics->module_manager, More modularization in ModuleManager
git-svn-id: file:///home/svn/framework3/trunk@11643 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-26 00:07:34 +00:00
James Lee f0cc6ff596 big commit for converting meterpreter scripts to modules, see #3377. also fixes payload tab-completion and 'show payloads' after TARGET has changed
git-svn-id: file:///home/svn/framework3/trunk@11421 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-27 17:46:42 +00:00
James Lee 1c9059eeb1 standardize job context as an Array and always copy datastore for jobs. fixes #2096 and fixes #2098
git-svn-id: file:///home/svn/framework3/trunk@9652 4d416f70-5f16-0410-b530-b9f4589650da
2010-07-01 22:02:46 +00:00
Mike Smith d90656be0e Improve error logging when modules fail to load.
* Don't print module file path twice on the same line
* Use print_error instead of print
* Remove unnecessary newlines

git-svn-id: file:///home/svn/framework3/trunk@9358 4d416f70-5f16-0410-b530-b9f4589650da
2010-05-24 23:07:52 +00:00
HD Moore f76a9a43e6 Switch compat payloads to normal vs ranked
git-svn-id: file:///home/svn/framework3/trunk@7877 4d416f70-5f16-0410-b530-b9f4589650da
2009-12-15 13:14:01 +00:00
HD Moore bce6355df1 Make sure we use a real module class instance when ranking
git-svn-id: file:///home/svn/framework3/trunk@7844 4d416f70-5f16-0410-b530-b9f4589650da
2009-12-13 23:41:25 +00:00
HD Moore e3f68f2639 Another large number of warnings fixed by Yoann Guillot
git-svn-id: file:///home/svn/framework3/trunk@7248 4d416f70-5f16-0410-b530-b9f4589650da
2009-10-25 17:18:23 +00:00
HD Moore 1ba927f80e Updated and verbose errors to assist with error handling. See #278
git-svn-id: file:///home/svn/framework3/trunk@7047 4d416f70-5f16-0410-b530-b9f4589650da
2009-09-20 20:25:08 +00:00
HD Moore b5da2c72f2 Fixes #333. Adds core and api version checks to all module loads. To specify a minimum version, add the following constant to the top of the module (outside of the class definition):
RequiredVersions = [3.3, 1.0] # MSF 3.3+ API 1.0+


git-svn-id: file:///home/svn/framework3/trunk@7037 4d416f70-5f16-0410-b530-b9f4589650da
2009-09-15 13:50:32 +00:00
James Lee 1b84ca5282 make the error easier to track down when module loading fails
git-svn-id: file:///home/svn/framework3/trunk@6906 4d416f70-5f16-0410-b530-b9f4589650da
2009-07-27 03:40:45 +00:00
HD Moore e27691c543 Performance and debugging improvements from Yoann Guillot
git-svn-id: file:///home/svn/framework3/trunk@6712 4d416f70-5f16-0410-b530-b9f4589650da
2009-06-25 17:59:51 +00:00
HD Moore 9fabd18c24 Ruby 1.9 compatibility changes
git-svn-id: file:///home/svn/framework3/trunk@6591 4d416f70-5f16-0410-b530-b9f4589650da
2009-05-29 13:46:12 +00:00
HD Moore 8b32f139d3 Skip svn directories for module searches, remove delay loading system (no longer used), enumerate available database drivers at load
git-svn-id: file:///home/svn/framework3/trunk@6416 4d416f70-5f16-0410-b530-b9f4589650da
2009-03-28 20:45:46 +00:00
HD Moore af1675bf19 This patch allows the framework to be created with only specific module types enabled, speeding up msfpayload and msfencode.
git-svn-id: file:///home/svn/framework3/trunk@6055 4d416f70-5f16-0410-b530-b9f4589650da
2009-01-02 07:29:56 +00:00
HD Moore 42c80b5018 Fixes #255. Catch the case of an empty module cacche file
git-svn-id: file:///home/svn/framework3/trunk@5925 4d416f70-5f16-0410-b530-b9f4589650da
2008-11-16 19:26:59 +00:00
Ramon de C Valle f124597a56 Code cleanups
git-svn-id: file:///home/svn/framework3/trunk@5773 4d416f70-5f16-0410-b530-b9f4589650da
2008-10-19 21:03:39 +00:00
HD Moore fd256ec4a1 This massive commit changes the metasploit 3 module format. The new syntax allows for greater scalability and future improvements to the metasploit module loader. This change also makes it easier for users to add new modules, since the class name no longer needs to match the directory structure.
git-svn-id: file:///home/svn/framework3/trunk@5709 4d416f70-5f16-0410-b530-b9f4589650da
2008-10-02 05:23:59 +00:00
HD Moore ddc47955f2 Simplified module loader, update to the platform module to be more compat with ruby 1.9
git-svn-id: file:///home/svn/framework3/trunk@5677 4d416f70-5f16-0410-b530-b9f4589650da
2008-09-24 04:15:10 +00:00
HD Moore 6677beb174 Merged revisions 5366-5377 via svnmerge from
svn+ssh://metasploit.com/home/svn/framework3/branches/framework-3.1

........
  r5366 | hdm | 2008-01-26 20:30:53 -0600 (Sat, 26 Jan 2008) | 2 lines
  
  Update version information
........
  r5367 | hdm | 2008-01-26 21:10:57 -0600 (Sat, 26 Jan 2008) | 3 lines
  
  Updated for version 3.1
........
  r5369 | hdm | 2008-01-26 21:13:31 -0600 (Sat, 26 Jan 2008) | 3 lines
  
  Wipe the private directories from the branch. 
........
  r5371 | hdm | 2008-01-27 17:24:24 -0600 (Sun, 27 Jan 2008) | 5 lines
  
  Timeout options added for dcerpc connect and read times. Addition of novell netware as a supported target platform. Inclusion of the serverprotect exploit (still works on the latest version). Addition of the first remote netware kernel exploit that leads to a shell, addition of netware stager and shell, and first draft of the release notes for 3.1
........
  r5372 | hdm | 2008-01-27 17:30:08 -0600 (Sun, 27 Jan 2008) | 3 lines
  
  Formatting, indentation, fixed the static IP embedded in the request
........
  r5373 | hdm | 2008-01-27 20:02:48 -0600 (Sun, 27 Jan 2008) | 3 lines
  
  Correctly trap exploit errors in a way that works with all of the UIs
........
  r5374 | hdm | 2008-01-27 20:23:25 -0600 (Sun, 27 Jan 2008) | 3 lines
  
  More last-minute bug fixes
........
  r5375 | hdm | 2008-01-27 20:37:43 -0600 (Sun, 27 Jan 2008) | 3 lines
  
  Force multi-bind off in netware, correct label display in gtk gui labels
........
  r5376 | hdm | 2008-01-27 20:50:03 -0600 (Sun, 27 Jan 2008) | 3 lines
  
  More exception handling fun
........


git-svn-id: file:///home/svn/framework3/trunk@5378 4d416f70-5f16-0410-b530-b9f4589650da
2008-01-28 03:06:31 +00:00
HD Moore eeed1c8a87 Added consoles to the GUI
git-svn-id: file:///home/svn/framework3/trunk@5283 4d416f70-5f16-0410-b530-b9f4589650da
2008-01-07 07:00:42 +00:00