Commit Graph

87 Commits (14ea7a85bb2b34919f50f5b36be0a3662deb19b1)

Author SHA1 Message Date
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
James Lee 15cee53b41 move tab completion setup out of init_ui. fixes #1180
git-svn-id: file:///home/svn/framework3/trunk@9332 4d416f70-5f16-0410-b530-b9f4589650da
2010-05-20 23:47:49 +00:00
HD Moore dfa7fb7d0b Move away from Kernel.select in exchange for IO.select, solves some issues with windows compatibility
git-svn-id: file:///home/svn/framework3/trunk@9330 4d416f70-5f16-0410-b530-b9f4589650da
2010-05-20 20:42:17 +00:00
James Lee 928389e8b0 update comments to explain the reason for not running init_ui
git-svn-id: file:///home/svn/framework3/trunk@9114 4d416f70-5f16-0410-b530-b9f4589650da
2010-04-20 07:01:46 +00:00
James Lee 4243ce5bf4 preliminary fix for the meterpreter-breaks-tab-completion bug pending some testing, see #1180
git-svn-id: file:///home/svn/framework3/trunk@9113 4d416f70-5f16-0410-b530-b9f4589650da
2010-04-20 03:59:27 +00:00
HD Moore c6c956ab46 Small patch to enable a new stager
git-svn-id: file:///home/svn/framework3/trunk@8984 4d416f70-5f16-0410-b530-b9f4589650da
2010-04-03 05:21:15 +00:00
Joshua Drake f7f0f03a4a handle the user hitting ^D while interacting properly
git-svn-id: file:///home/svn/framework3/trunk@8911 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-25 01:38:47 +00:00
James Lee 1265cccde7 override the command shell session interaction to use shell_read and shell_write instead of operating on rstream directly
git-svn-id: file:///home/svn/framework3/trunk@8886 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-23 00:33:18 +00:00
HD Moore bb0db3cdf6 Closes command and meterpreter sessions in a much more consistent way
git-svn-id: file:///home/svn/framework3/trunk@8865 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-21 04:24:27 +00:00
James Lee 38fe469ce8 deal with via_exploit being fullname instead of refname by creating it through framework.modules instead of framework.exploits. fixes #1165
git-svn-id: file:///home/svn/framework3/trunk@8836 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-16 19:17:21 +00:00
Joshua Drake 32fb7653ca only set .info if its nil or empty
git-svn-id: file:///home/svn/framework3/trunk@8831 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-16 15:20:48 +00:00
Joshua Drake f9267498e3 save initial command shell session output into session.info
git-svn-id: file:///home/svn/framework3/trunk@8829 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-16 04:50:47 +00:00
Joshua Drake ac06e2d667 only copy user_input and user_output if they are non-nil
git-svn-id: file:///home/svn/framework3/trunk@8806 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-12 21:47:27 +00:00
James Lee 646044f631 move session_output events to the session where they belong (instead of in rpc). add a timeout arg to shell_read
git-svn-id: file:///home/svn/framework3/trunk@8797 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-11 20:07:06 +00:00
HD Moore ac0e6515ab Remove the PID from session.info, it doesn't add much value:
git-svn-id: file:///home/svn/framework3/trunk@8784 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-11 14:21:46 +00:00
HD Moore 286bb09a56 Add a timeout wrapper, remove debug statement
git-svn-id: file:///home/svn/framework3/trunk@8773 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-10 22:06:52 +00:00
HD Moore bfab49b9e9 Change the sessions -l output to show info and type vs description, automatically grab the user/hostname on startup (disabled with set AutoSystemInfo false)
git-svn-id: file:///home/svn/framework3/trunk@8772 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-10 22:02:27 +00:00
Joshua Drake 7a37934a01 process autorun scripts for telnet_login and ssh_login
1. create session.process_autoruns in Msf::Sessions::CommandShell
2. call process_autoruns from within the handler on_session code
4. set user_input and user_output in sessions base set_from_exploit method
5. remove on_session from Msf::Sessions::CommandShellOptions
6. include CommandShellOptions into telnet_login and ssh_login
7. call sess.process_autoruns from telnet_login and ssh_login
8. celebrate (while crossing fingers of course)!

git-svn-id: file:///home/svn/framework3/trunk@8692 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-02 18:07:50 +00:00
Joshua Drake 5ab32ab792 shell_read_until_token should work for any requested idx now
git-svn-id: file:///home/svn/framework3/trunk@8665 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-26 19:07:35 +00:00
Joshua Drake eb8e8d22b5 add wanted_idx parameter to shell_read_until_token, fixes #980
git-svn-id: file:///home/svn/framework3/trunk@8658 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-26 18:37:07 +00:00
Joshua Drake 1011d31613 buf only has one f
git-svn-id: file:///home/svn/framework3/trunk@8629 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-24 23:00:05 +00:00
Joshua Drake 3660cae90e add tokenized shell_command functions for CommandShell sesssions
git-svn-id: file:///home/svn/framework3/trunk@8620 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-24 20:56:31 +00:00
James Lee 999feb879f setup the input/output handles correctly for meterpreter sessions so we can get the output from scripts
git-svn-id: file:///home/svn/framework3/trunk@8618 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-24 16:46:47 +00:00
Joshua Drake b391abd32d adds scripting for command shell sessions
1. InitialAutoRunScript and AutoRunScript vars work
2. scripts/shells was created to hold them
3. *_shell methods were renamed shell_*
4. added "shell_command" method to command shell sessions
5. converted all uses of *_shell to shell_*
6. all payloads that produce command shell sessions include Msf::Sessions::CommandShellOptions



git-svn-id: file:///home/svn/framework3/trunk@8615 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-24 01:19:59 +00:00
HD Moore dd9c441546 Set the user input/output drivers on start
git-svn-id: file:///home/svn/framework3/trunk@8613 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-23 20:56:44 +00:00
Joshua Drake b98868e32f check for script before trying to run it for all sessions
git-svn-id: file:///home/svn/framework3/trunk@8612 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-23 20:54:18 +00:00
HD Moore a71e8d2af0 Fix up meterpreter script changes
git-svn-id: file:///home/svn/framework3/trunk@8611 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-23 20:16:45 +00:00
HD Moore d148c95c84 The ssh login code can now create sessions
git-svn-id: file:///home/svn/framework3/trunk@8598 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-23 07:12:54 +00:00
Joshua Drake f8ca490b98 move meterpreter on_session functionality into a mixin
git-svn-id: file:///home/svn/framework3/trunk@8586 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-22 21:05:08 +00:00
Stephen Fewer 6335fde3e1 Commit the Ruby side for the UDP socket pivoting. Change the TCP client channel so the respective StreamAbstraction is responsible for monitoring its own rsock.
git-svn-id: file:///home/svn/framework3/trunk@8431 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-09 16:45:46 +00:00