Commit Graph

276 Commits (0c7058662548722836362b1af8b54442bec4a30c)

Author SHA1 Message Date
HD Moore 761f859695 Simplify the module instance (required to call certain methods) 2012-03-07 07:59:41 -06:00
HD Moore 9975d5a220 Always clone modules before running them via the simplified wrappers.
This prevents changes to the datastore or instance variables from
being carried over into a second run
2012-03-07 07:37:36 -06:00
James Lee f5e2d1c19b Grevious typo causing load_session_info failure
That's the problem with rescue ::Exception, it catches crap like this
and it takes a while before anyone notices. =(
2012-02-29 08:14:02 -07:00
James Lee 624e19fd8b Merge session-host-rework branch back to master
Squashed commit of the following:

commit 2f4e8df33c5b4baa8d6fd67b400778a3f93482aa
Author: James Lee <egypt@metasploit.com>
Date:   Tue Feb 28 16:31:03 2012 -0700

    Clean up some rdoc comments

    This adds categories for the various interfaces that meterpreter and
    shell sessions implement so they are grouped logically in the docs.

commit 9d31bc1b35845f7279148412f49bda56a39c9d9d
Author: James Lee <egypt@metasploit.com>
Date:   Tue Feb 28 13:00:25 2012 -0700

    Combine the docs into one output dir

    There's really no need to separate the API sections into their own
    directory.  Combining them makes it much easier to read.

commit eadd7fc136a9e7e4d9652d55dfb86e6f318332e0
Author: James Lee <egypt@metasploit.com>
Date:   Tue Feb 28 08:27:22 2012 -0700

    Keep the order of iface attributes the same accross rubies

    1.8 doesn't maintain insertion order for Hash keys like 1.9 does so we
    end up with ~random order for the display with the previous technique.
    Switch to an Array instead of a Hash so it's always the same.

commit 6f66dd40f39959711f9bacbda99717253a375d21
Author: James Lee <egypt@metasploit.com>
Date:   Tue Feb 28 08:23:35 2012 -0700

    Fix a few more compiler warnings

commit f39cb536a80c5000a5b9ca1fec5902300ae4b440
Author: James Lee <egypt@metasploit.com>
Date:   Tue Feb 28 08:17:39 2012 -0700

    Fix a type-safety warning

commit 1e52785f38146515409da3724f858b9603d19454
Author: James Lee <egypt@metasploit.com>
Date:   Mon Feb 27 15:21:36 2012 -0700

    LHOST should be OptAddress, not OptAddressRange

commit acef978aa4233c7bd0b00ef63646eb4da5457f67
Author: James Lee <egypt@metasploit.com>
Date:   Sun Feb 26 17:45:59 2012 -0700

    Fix a couple of warnings and a typo

commit 29d87f88790aa1b3e5db6df650ecfb3fb93c675b
Author: HD Moore <hdm@digitaloffense.net>
Date:   Mon Feb 27 11:54:29 2012 -0600

    Fix ctype vs content_type typo

commit 83b5400356c47dd1973e6be3aa343084dfd09c73
Author: Gregory Man <man.gregory@gmail.com>
Date:   Sun Feb 26 15:38:33 2012 +0200

    Fixed scripts/meterpreter/enum_firefox to work with firefox > 3.6.x

commit 49c2c80b347820d02348d694cc71f1b3028b4365
Author: Steve Tornio <swtornio@gmail.com>
Date:   Sun Feb 26 07:13:13 2012 -0600

    add osvdb ref

commit e18e1fe97b89c3a2b8c22bc6c18726853d2c2bee
Author: Matt Andreko <mandreko@gmail.com>
Date:   Sat Feb 25 18:02:56 2012 -0500

    Added aspx target to msfvenom.  This in turn added it to msfencode as well.
    Ref: https://github.com/rapid7/metasploit-framework/pull/188
    Tested on winxp with IIS in .net 1.1 and 2.0 modes

commit e6aa5072112d79bbf8a4d2289cf8d301db3932f5
Author: Joshua J. Drake <github.jdrake@qoop.org>
Date:   Sat Feb 25 13:00:48 2012 -0600

    Fixes #6308: Fall back to 127.0.0.1 when SocketError is raised from the resolver

commit b3371e8bfeea4d84f9d0cba100352b57d7e9e78b
Author: James Lee <egypt@metasploit.com>
Date:   Tue Feb 28 17:07:42 2012 -0700

    Simplify logic for whether an inner iface has the same address

commit 5417419f35a40d1c08ca11ca40744722692d3b0d
Author: James Lee <egypt@metasploit.com>
Date:   Tue Feb 28 16:58:16 2012 -0700

    Whitespace

commit 9036875c2918439ae23e11ee7b958e30ccc29545
Author: James Lee <egypt@metasploit.com>
Date:   Tue Feb 28 16:53:45 2012 -0700

    Set session info before worrying about address

    get_interfaces can take a while on Linux, grab uid and hostname earlier
    so we can give the user an idea of what they popped as soon as possible.

commit f34b51c6291031ab25b5bfb1ac6307a516ab0ee9
Author: James Lee <egypt@metasploit.com>
Date:   Tue Feb 28 16:48:42 2012 -0700

    Clean up rdoc

commit e61a0663454400ec66f59a80d18b0baff4cb8cd9
Author: HD Moore <hd_moore@rapid7.com>
Date:   Tue Feb 28 04:54:45 2012 -0600

    Ensure the architecture is only the first word (not the full WOW64
    message in some cases)

commit 4c701610976a92298c1182eecc9291a1b301e43b
Author: HD Moore <hd_moore@rapid7.com>
Date:   Tue Feb 28 04:49:17 2012 -0600

    More paranoia code, just in case RHOST is set to whitespace

commit c5ff89fe3dc9061e0fa9f761e6530f6571989d28
Author: HD Moore <hd_moore@rapid7.com>
Date:   Tue Feb 28 04:47:01 2012 -0600

    A few more small bug fixes to handle cases with an empty string target
    host resulting in a bad address

commit 462d0188a1298f29ac83b10349aec6737efc5b19
Author: HD Moore <hd_moore@rapid7.com>
Date:   Tue Feb 28 03:55:10 2012 -0600

    Fix up the logic (reversed by accident)

commit 2b2b0adaec2448423dbd3ec54d90a5721965e2df
Author: HD Moore <hd_moore@rapid7.com>
Date:   Mon Feb 27 23:29:52 2012 -0600

    Automatically parse system information and populate the db, identify and
    report NAT when detected, show the real session_host in the sessions -l
    listing

commit 547a4ab4c62dc3248f847dd5d305ad3b74157348
Author: HD Moore <hd_moore@rapid7.com>
Date:   Mon Feb 27 22:16:03 2012 -0600

    Fix typo introduced

commit 27a7b7961e61894bdecd55310a8f45d0917c5a5c
Author: HD Moore <hd_moore@rapid7.com>
Date:   Mon Feb 27 22:11:38 2012 -0600

    More session.session_host tweaks

commit e447302a1a9915795e89b5e29c89ff2ab9b6209b
Author: HD Moore <hd_moore@rapid7.com>
Date:   Mon Feb 27 22:08:20 2012 -0600

    Additional tunnel_peer changes

commit 93369fcffaf8c6b00d992526b4083acfce036bb3
Author: HD Moore <hd_moore@rapid7.com>
Date:   Mon Feb 27 22:06:21 2012 -0600

    Additional changes to session.session_host

commit c3552f66d158685909e2c8b51dfead7c240c4f40
Author: HD Moore <hd_moore@rapid7.com>
Date:   Mon Feb 27 22:00:19 2012 -0600

    Merge changes into the new branch
2012-02-28 18:29:39 -07:00
James Lee 46fef357f4 Clean up some rdoc comments
This adds categories for the various interfaces that meterpreter and
shell sessions implement so they are grouped logically in the docs.
2012-02-28 16:31:03 -07:00
James Lee a81868b6b3 Fix a nil comparison bug
I swear there was a ticket for this but now I can't find it.
2012-02-23 16:30:29 -07:00
Tod Beardsley 31dea3844e Reintroduces chao-mu's OptRegexp
Revert "Revert "Merge pull request #101 from chao-mu/master""

[See #101]

This reverts commit c5ce575543.
2012-01-23 14:21:19 -06:00
Tod Beardsley c5ce575543 Revert "Merge pull request #101 from chao-mu/master"
Reverting the OptRegexp commit from chao-mu. Before committing to
master, this option type needs to be tested on the various mainstream
UI's (Metasploit Pro, msfgui, and Armitage) to see if they behave
as reasonably as msfconsole. Each UI tends to handle option setting,
passing, and display in their own special way.

This should make it back in by Wednesday, assuming all goes well.

[See #101]

This reverts commit 84db5a21fc, reversing
changes made to 24aaf85a1b.
2012-01-17 15:33:47 -06:00
chao-mu a8a3d4d2c7 Updatted railgun_reverse_lookups test module to use the new regex options. Corrected spelling mistake in a variable name (my editor ate a p) 2012-01-12 19:39:05 -05:00
chao-mu b23b7b8a88 Adds support for a regular expression based Option (RegexpOpt). Also introduced a method to OptBase called display_value which returns the value to be displayed to the user. 2012-01-10 09:22:14 -05:00
HD Moore 626389f5ba No longer track module archive paths, since the manager will load them from the main dir 2011-11-28 22:27:21 -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 9261d8ec25 spaces at EOL in base 2011-11-20 12:11:40 +11:00
Tom Samstag 7b7413d85e Bash format for msfencode/msfvenom
This patch adds a Bash output format for msfencode and msfvenom. This is especially useful for local exploitation with shellcode in an environment variable.
Example output:

$ echo 'this is a test' | ./msfvenom -f bash
[-] Using X86 architecture and Windows platform for stdin payload to change use -a and --platform
export buf=\
$'\x74\x68\x69\x73\x20\x69\x73\x20\x61\x20\x74\x65\x73\x74'\
$'\x0a'

It adds unit tests for the new format and also fixes a unit test that was broken (assert_equal 'AAAAAAAAA', Rex::Text.pattern_create(9,['A'])) due to a bug in the shortcut in pattern_create.
2011-11-11 00:13:17 -08:00
Tod Beardsley 667175c650 Fixes #5797, adds an environment variable controlled top level directory for msf config goodies. Thanks Kurt Grutzmacher!
git-svn-id: file:///home/svn/framework3/trunk@14125 4d416f70-5f16-0410-b530-b9f4589650da
2011-10-31 16:53:45 +00:00
Tod Beardsley 4b4ef45e33 Fixes #3538, adds store_local, changes the dest directory of all fileformat exploits, allows "save" to be passed to db_nmap to save scan results.
git-svn-id: file:///home/svn/framework3/trunk@14091 4d416f70-5f16-0410-b530-b9f4589650da
2011-10-27 17:01:51 +00:00
HD Moore 3046896204 This commit makes the new unicode string encoding optional, it can be disabled by setting EnableUnicodeEncoding to false or through the 'disable_unicode_encoding' console command in the Meterpreter shell. Fixes #4986
git-svn-id: file:///home/svn/framework3/trunk@13278 4d416f70-5f16-0410-b530-b9f4589650da
2011-07-21 15:44:54 +00:00
James Lee 1f349ff542 Don't close the session for irrelevant exceptions. The shell might still be dead for some other reason, but this will prevent closing it unnecessarily
git-svn-id: file:///home/svn/framework3/trunk@13107 4d416f70-5f16-0410-b530-b9f4589650da
2011-07-06 20:34:52 +00:00
James Lee e321d01cd4 actually do what the comment says it does instead of trying to read a bunch of times with a tiny timeout. fixes some issues with shell commands on meterpreter sessions
git-svn-id: file:///home/svn/framework3/trunk@13070 4d416f70-5f16-0410-b530-b9f4589650da
2011-06-30 05:05:02 +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
HD Moore 846172fa1a Split options based on shellwords, pass as a hash, this prevents commas in option values from breaking things and allows quotes to be used
git-svn-id: file:///home/svn/framework3/trunk@12983 4d416f70-5f16-0410-b530-b9f4589650da
2011-06-20 20:54:46 +00:00
James Lee 1f72859874 set the session info when there is no database. fixes regression introduced by r12523
git-svn-id: file:///home/svn/framework3/trunk@12690 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-23 16:01:24 +00:00
Carlos Perez 0441b0c68c Typo that broke scripts in users home folder
git-svn-id: file:///home/svn/framework3/trunk@12645 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-17 17:03:06 +00:00
HD Moore 9ce47c01bd Reverting the autoload changes until we can upgrade to a new ActiveSupport library or find a workaround
git-svn-id: file:///home/svn/framework3/trunk@12600 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-12 20:03:55 +00:00
Joshua Drake fd4e6db85d Fixes 4373, Migrates lib/msf to use autoload instead of require (first try)
git-svn-id: file:///home/svn/framework3/trunk@12596 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-12 19:07:35 +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
Joshua Drake cd4c38333d See #4371, Fixes logging error with LogLevel set in config
git-svn-id: file:///home/svn/framework3/trunk@12556 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-06 19:10:02 +00:00
James Lee 27c1e757e1 add post count to the banner
git-svn-id: file:///home/svn/framework3/trunk@12537 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-04 08:50:38 +00:00
HD Moore 93b0c5beb3 Check for the database first
git-svn-id: file:///home/svn/framework3/trunk@12523 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-03 04:49:18 +00:00
James Lee 259bf9695a don't kill a session when the user ctrl-C's during a command run by sessions -c or a script/postmod
git-svn-id: file:///home/svn/framework3/trunk@12513 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-02 20:40:19 +00:00
HD Moore 2c3e85af05 Major cleanups to the session manager, serialized processing of incoming connections, concurrent processing (up to a max scheduler thread count) of meterpreter initialization/scripts. This is to avoid a potential deadlock in openssl and ensure consistent, reliable session staging. This commit also fixes a bug that would mark database sessions as closed too early.
git-svn-id: file:///home/svn/framework3/trunk@12485 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-30 18:51:50 +00:00
HD Moore 743a401a47 Add the ability to reset the last read pointer from the ringer buffer
git-svn-id: file:///home/svn/framework3/trunk@12467 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-29 16:02:24 +00:00
James Lee 859fd9216f report module_run and script_run session events
git-svn-id: file:///home/svn/framework3/trunk@12448 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-26 21:57:01 +00:00
HD Moore d2d66f3285 This patch changes how VNC sessions are handled, making them a now-unique type that is not registered in the normal sense. This works around a corner case due to recent session work.
git-svn-id: file:///home/svn/framework3/trunk@12358 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-18 20:07:53 +00:00
James Lee 9c1b4ddca5 add a load command. this will later deprecate the use command under meterpreter for 3.7 release
git-svn-id: file:///home/svn/framework3/trunk@12334 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-16 13:59:57 +00:00
Matt Weeks a0cbbdfab0 Support 'jar' format when generating payloads.
git-svn-id: file:///home/svn/framework3/trunk@12331 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-16 02:11:12 +00:00
James Lee 96af5e2af6 store session info in the db
git-svn-id: file:///home/svn/framework3/trunk@12317 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-14 18:28:44 +00:00
James Lee d6edeebcef actually log errors from reporting the session fingerprint. would have helped greatly in tracking down #4128
git-svn-id: file:///home/svn/framework3/trunk@12313 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-13 23:03:00 +00:00
Mike Smith d5d9d56081 Create a dedicated db table to track sessions & session events.
* Add new db tables for session & session_events
* Migrate existing session data from events db table
* Modify session report methods to log to the new tables


git-svn-id: file:///home/svn/framework3/trunk@12273 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-07 21:59:32 +00:00
James Lee ad5073d6b1 only close the session when we get socket-related exceptions, fixes #4005
git-svn-id: file:///home/svn/framework3/trunk@12118 4d416f70-5f16-0410-b530-b9f4589650da
2011-03-23 22:21:59 +00:00
Tod Beardsley 4a41e4e352 Fixes #3742 by sanitizing utf-8 characters for the username and system name in session.info.
Tested with German Win2k3EE and a session created with exploit/windows/mssql/mssql_payload.



git-svn-id: file:///home/svn/framework3/trunk@11848 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-28 21:39:25 +00:00
Carlos Perez 7e2fb81cb5 Initial set of OSX Shell Post modules for general basic enumeration and for dumping hashes (SHA, LM and NTLM) for OSX 10.4 and above
git-svn-id: file:///home/svn/framework3/trunk@11792 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-22 14:00:47 +00:00
James Lee 5e9fdc28e7 move shell token stuff up to a mixin so meterpreter can use it, too
git-svn-id: file:///home/svn/framework3/trunk@11682 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-31 05:20:16 +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 bd2dcdb5c3 add the scriptable mixin. fixes #3550, see #3541. /me grumbles
git-svn-id: file:///home/svn/framework3/trunk@11600 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-19 16:01:12 +00:00
James Lee d120892e7c post modules working for shell sessions, fixes #3541
git-svn-id: file:///home/svn/framework3/trunk@11599 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-19 02:24:21 +00:00
James Lee 6210fea1f3 add post/ module support for meterpreter autorunscript, see #3541
git-svn-id: file:///home/svn/framework3/trunk@11595 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-17 23:48:19 +00:00
James Lee aca1a0d8e4 allow passive post modules, fixes #3542. add 'Passive' => true to the module info for a passive module
git-svn-id: file:///home/svn/framework3/trunk@11591 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-17 22:00:12 +00:00
James Lee 972fdc8cc3 display module's fullname when dumping options or info, thanks chao-mu for the patch, fixes #3486
git-svn-id: file:///home/svn/framework3/trunk@11539 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-10 23:34:05 +00:00
James Lee 1ac8b5abe9 fix a nil.dup by returning a proper platformlist when we don't have a session, dump actual info with 'info' command instead of nothing
git-svn-id: file:///home/svn/framework3/trunk@11425 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-27 18:21:33 +00:00