Commit Graph

116 Commits (6c4ee16d585abe42ac5470db4a782cc34d699679)

Author SHA1 Message Date
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 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
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
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
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
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 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
HD Moore a8311fd71d Verify a host is actually a real string before using it
git-svn-id: file:///home/svn/framework3/trunk@11372 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-18 03:37:27 +00:00
HD Moore c28ad8ea0c Minor improvements and corner case bug fixes to session handling. This fixes issues that can come up when a stream is shut down
git-svn-id: file:///home/svn/framework3/trunk@11371 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-18 03:00:26 +00:00
HD Moore fa29afaece Handle character echoing sessions more gracefully
git-svn-id: file:///home/svn/framework3/trunk@11268 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-09 22:44:17 +00:00
HD Moore a12d9f8dbf This patch adds detailed thread tracking across the metasploit framework, along with a new console command (threads) to manage these. This level of tracking is required to accurately monitor background tasks, assist with debugging, and kill orphaned threads.
git-svn-id: file:///home/svn/framework3/trunk@11003 4d416f70-5f16-0410-b530-b9f4589650da
2010-11-12 06:19:49 +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
James Lee 745f31b20f make the sessions command a little more useful, see #2097
git-svn-id: file:///home/svn/framework3/trunk@10791 4d416f70-5f16-0410-b530-b9f4589650da
2010-10-23 00:02:09 +00:00
Joshua Drake c27749db8e add default lookup_error function, fixes #2993
git-svn-id: file:///home/svn/framework3/trunk@10757 4d416f70-5f16-0410-b530-b9f4589650da
2010-10-19 22:53:15 +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
James Lee 08d705c1db add java meterpreter and update java_calendar_deserialize to be able to use it, see #406
git-svn-id: file:///home/svn/framework3/trunk@9874 4d416f70-5f16-0410-b530-b9f4589650da
2010-07-20 00:53:24 +00:00
Joshua Drake 08a75a0c8e make shell_read_until_token more agressive
git-svn-id: file:///home/svn/framework3/trunk@9724 4d416f70-5f16-0410-b530-b9f4589650da
2010-07-07 18:18:55 +00:00
Joshua Drake 171543624a fix typos
git-svn-id: file:///home/svn/framework3/trunk@9581 4d416f70-5f16-0410-b530-b9f4589650da
2010-06-22 16:11:02 +00:00
James Lee ef5c0f77eb move copy-paste into a mixin
git-svn-id: file:///home/svn/framework3/trunk@9576 4d416f70-5f16-0410-b530-b9f4589650da
2010-06-22 00:46:52 +00:00
James Lee 83962cb24a be explicit about returning false when we couldn't find a vncviewer
git-svn-id: file:///home/svn/framework3/trunk@9573 4d416f70-5f16-0410-b530-b9f4589650da
2010-06-22 00:09:50 +00:00
James Lee 161ae211c4 add a capabilities hash to the meterpreter client for determining whether libs are available on the server. eventually there should be a way to request this from the server directly instead of inferring it from platform
git-svn-id: file:///home/svn/framework3/trunk@9561 4d416f70-5f16-0410-b530-b9f4589650da
2010-06-18 23:15:48 +00:00
James Lee 055ec7d768 session handler stub for php meterpreter
git-svn-id: file:///home/svn/framework3/trunk@9387 4d416f70-5f16-0410-b530-b9f4589650da
2010-06-01 17:01:42 +00:00
James Lee c1371c8758 add a method for checking if we support ssl and make sure we do before trying initializing the client
git-svn-id: file:///home/svn/framework3/trunk@9386 4d416f70-5f16-0410-b530-b9f4589650da
2010-06-01 17:00:00 +00:00