Commit Graph

59 Commits

Author SHA1 Message Date
Jeff Tang bba7bcc885 add support for ext_server_unhook 2018-09-19 16:20:26 -04:00
Brent Cook df633247bb expose linux/osx process rename functionality 2018-01-23 09:56:12 -06:00
Brent Cook d8ee4150e6 move client core constants closer to where they are actually used 2017-09-19 03:22:13 -05:00
OJ fdc9864b61 First working packet pivot session! 2017-09-07 01:36:20 -05:00
OJ abc80655b7 Progress in named pipe pivots, more to come 2017-09-07 01:33:54 -05:00
Brent Cook d3775c3919 fix logic for calling on_session callbacks 2017-08-23 18:41:50 -05:00
OJ 999d90687e Make encryption flags 32 bit
This changes the encryption flags on the meterpreter session so that
it's 32 bits (and hence changes the packet header). This also supports
the idea that sessions may use encryption that isn't AES256, so the
flags field will ultimately indicate that. A type flag has been added so
that MSF knows the type that should be done on the wire.

At some point soon we'll add something that makes sure that the packet
encryption type always matches the encryption type expected in MSF, this
will hopefully avoid the risk of having packets injected into the stream
by external entities.
2017-07-03 16:52:58 +10:00
OJ 67b1a19aa1 Finalised MSF-side of AES key negotiation over RSA 2017-06-25 10:24:00 +10:00
OJ a9e03c1efd Initial working version of AES encryption of TLVs 2017-06-21 21:01:59 +10:00
OJ 37b9cd07a2 Add support for the session GUID in the UI
The Session GUID will identify active sessions, and is the beginning of
work that will allow for tracking of sessions that have come back alive
after failing or switching transports.
2017-06-06 17:15:57 +10:00
Tim 78480e31e7 remove AutoLoadAndroid 2016-11-30 21:23:14 +08:00
OJ 6ec76611c3 Fix arch typo in meterpreter_options for x64 2016-11-02 00:38:34 +10:00
OJ 0737d7ca12 Tidy code, remove regex and use comparison for platform checks 2016-10-29 13:41:20 +10:00
OJ 022830634b Rejig platform to use windows instead of win32/win64 2016-10-14 10:10:04 +10:00
Brent Cook 85acfabfca remove various library workarounds for the datastore not preserving types 2016-03-05 23:10:57 -06:00
HD Moore 2807fb4f93 Bump the default timeout to 30 seconds based on feedback 2015-06-24 16:15:01 -05:00
Brent Cook e75287875b hack android-specific commands back to life 2015-06-22 20:41:58 -05:00
OJ 9dbdaf13ea Add AutoVerifySessionTimeout Meterpreter advanced option 2015-06-17 00:20:59 +10:00
Tim 3b8effc589 fix ext_server_android.jar error 2015-05-19 17:26:50 +01:00
OJ 62fa14326d Merge branch 'upstream/master' into multi-transport-support
Merged with HD's stuff as he fixed up a few things that I had done too.

Conflicts:
	lib/msf/base/sessions/meterpreter_options.rb
	lib/rex/post/meterpreter/client_core.rb
	lib/rex/post/meterpreter/packet_dispatcher.rb
2015-05-05 17:18:01 +10:00
OJ c540ba4b98 Land #5297 : Track machine_id and dead sessions 2015-05-05 17:08:39 +10:00
HD Moore a577bef9c3 Rework dirty cleanup to use skip_cleanup instead 2015-05-04 03:52:55 -05:00
HD Moore e7ba6e8a9a Speed up dead session cleanup by skipping shutdown/cleanup 2015-05-04 03:40:48 -05:00
HD Moore 3080feb188 Track the machine_id and drop non-responsive sessions automatically 2015-05-04 03:22:29 -05:00
OJ 4f9c8d04a2 Add support for moving transports and uuid fetching
The 'next' and 'prev' commands were added so that the session can jump
transports without having to add new ones at the same time.

There's also a command which gives the UUID now so that this can be
reused across sessions.
2015-04-28 20:24:44 +10:00
OJ fca4d852a1 Remove the passing on off listen socket values 2015-04-28 13:51:48 +10:00
OJ 809409d8c4 Lots of changes to support moving timeouts to common spots
Session expiry, comms timeout, retry total/wait are all now part of all
of the meterpreter payloads as these are going to be used for
maintaining access with resiliency and will aim for consistency across
the payload types.
2015-04-09 17:57:43 +10:00
HD Moore d53ccb32a0 Turn off unicode filtering by default for non-Windows platforms (UTF-8 consoles)
This is a followup to support for unicode added in #4950
2015-03-19 15:45:45 -05:00
HD Moore 673e21cfaf Rework meterpreter SSL & pass datastore to handle_connection()
This allows HandlerSSLCert to be used to pass a SSL certificate into the Meterpreter handler. The datastore has to be passed into handle_connection() for this to work, as SSL needs to be initialized on Session.new. This still doesn't pass the datastore into Meterpreter directly, but allows the Session::Meterpreter code to extract and pass down the :ssl_cert option if it was specified. This also fixes SSL certificate caching by expiring the cached cert from the class variables if the configuration has changed. A final change is to create a new SSL SessionID for each connection versus reusing the SSL context, which is incorrect and may lead to problems in the future (if not already).
2014-11-22 15:35:00 -06:00
joev dbaa377aa1 Final-round of code tweaks. All commands working well. 2014-08-09 13:04:52 -05:00
AnwarMohamed c2be3d6875 fixing autoload bug 2014-07-29 17:51:56 +02:00
Tab Assassin 7e5e0f7fc8 Retab lib 2013-08-30 16:28:33 -05:00
James Lee f4498c3916 Remove $Id tags
Also adds binary coding magic comment to a few files
2013-05-20 16:21:03 -05:00
Luke Imhoff c210260845 Fix Undocumentable method, missing name YARD warning
[#46491831]

Comments at the start of the file with ## caused YARD to think the
comment was documenting the require call.  By removing the ##, the
warning disappeared.  I did not determine what is special about ## in
file comments.
2013-03-30 15:32:38 -05:00
HD Moore d656e3185f Mark all libraries as defaulting to 8-bit strings 2012-06-29 00:18:28 -05: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
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
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
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
HD Moore b143c8eac1 Only load priv on win32/win64 sessions
git-svn-id: file:///home/svn/framework3/trunk@10984 4d416f70-5f16-0410-b530-b9f4589650da
2010-11-11 16:15:26 +00:00
HD Moore 9432991951 Rescue if priv is not available
git-svn-id: file:///home/svn/framework3/trunk@10848 4d416f70-5f16-0410-b530-b9f4589650da
2010-10-30 19:37:01 +00:00
HD Moore 0f8a6b138b Remove the IsAdmin check for now, always load priv instead. This works around a performance issue with railgun demand loading, once thats fixed we can re-enable
git-svn-id: file:///home/svn/framework3/trunk@10844 4d416f70-5f16-0410-b530-b9f4589650da
2010-10-29 04:14:22 +00:00
Joshua Drake e408d5a155 add windows error messages for windows meterpreter sessions, minor cleanups
git-svn-id: file:///home/svn/framework3/trunk@10605 4d416f70-5f16-0410-b530-b9f4589650da
2010-10-08 19:36:34 +00:00
HD Moore 504be7e7e2 Dont put the load_priv into the timeout block
git-svn-id: file:///home/svn/framework3/trunk@10603 4d416f70-5f16-0410-b530-b9f4589650da
2010-10-08 17:31:08 +00:00
HD Moore 2e9138ebbc This commit overhauls much of the meterpreter timeouts and staging processes. This fixes a bug with concurrent session handling, reduces CPU load by caching a single SSL certificate for all sessions, increases all of the critical timeouts, and generally makes mass ownage work better. We still need to limit the maximum number of concurrent on_session() threads to something sane to prevent sesssion spikes from dragging out the process even longer. The C-side meterpreter change is minimal and will only help with future compatibility if we move to non-blocking fd's for the SSL socket.
git-svn-id: file:///home/svn/framework3/trunk@10595 4d416f70-5f16-0410-b530-b9f4589650da
2010-10-08 04:11:47 +00:00
HD Moore 69ce7eed1b Wrap the admin check in case the OS doesn't support this API (WinNT, Win2000)
git-svn-id: file:///home/svn/framework3/trunk@10390 4d416f70-5f16-0410-b530-b9f4589650da
2010-09-20 04:58:25 +00:00
HD Moore 8f7743c999 Check for railgun first
git-svn-id: file:///home/svn/framework3/trunk@10342 4d416f70-5f16-0410-b530-b9f4589650da
2010-09-16 21:49:51 +00:00
HD Moore 21d734201a Closes #2520. Merges Rob's patch to check admin privs on start
git-svn-id: file:///home/svn/framework3/trunk@10341 4d416f70-5f16-0410-b530-b9f4589650da
2010-09-16 21:44:25 +00:00
Joshua Drake f8fcc80874 fix silly typos, thx scriptjunkie - fixes #2330
git-svn-id: file:///home/svn/framework3/trunk@9952 4d416f70-5f16-0410-b530-b9f4589650da
2010-08-03 16:07:48 +00:00