Commit Graph

260 Commits (f1afbacb2a46eff0f749412882564a38c8c9553c)

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 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
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 26aca9d6ba Swap some module locations, add loot and cred reporting
git-svn-id: file:///home/svn/framework3/trunk@11271 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-10 05:47:33 +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
Joshua Drake 8e5cf31e9a big exe/dll update, see #2017
NOTE: These changes specifically affect payload encoding via RPC, "use
payload", and msfencode

1. consolidate user-specified exe generation routine (now
Msf::Util::EXE.to_executable_fmt)
2. supported format types are now queried/checked using arrays
3. cleaned up and standardized exe option passing
4. rename data store options for EXE mixin
5. add generate_payload_exe_service for psexec/smb_relay
6. reworked default template handling in Msf::Util::EXE
  a. added template search path option (not used if template includes
a path separator)
  b. "fallback" flag to enable using default if specified file doesn't
exist
7. added Msf::Util::EXE.to_win64pe_dll
8. improved error messages from exe generation



git-svn-id: file:///home/svn/framework3/trunk@10404 4d416f70-5f16-0410-b530-b9f4589650da
2010-09-21 00:13:30 +00:00
Joshua Drake bd1eeb3722 rework to_jsp_war a bit, fix uses, default msfencode -t war to x86/win32
git-svn-id: file:///home/svn/framework3/trunk@10397 4d416f70-5f16-0410-b530-b9f4589650da
2010-09-20 15:59:46 +00:00