Commit Graph

30 Commits (e823a885bc88e51e19944c267799e7f0a5a23656)

Author SHA1 Message Date
HD Moore 4c84181c44 This adds a migrated flag to the framework.db object, to prevent a race condition between session_manager startup and db availability while the schema loads. This also makes the session_manager code try again (up to a max count) when it encounters an exception
git-svn-id: file:///home/svn/framework3/trunk@12529 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-03 07:09:34 +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 23d0c7d7d0 This overrides the framework.sessions.each method to use a temporary list instead of the native hash method. This avoids a rare race condition where a thread is enumerating sessions while another thread tries to register one.
git-svn-id: file:///home/svn/framework3/trunk@12478 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-30 04:50:06 +00:00
James Lee 8cf4733535 change the close_reason to be more accurate now that the close isn't happening at startup
git-svn-id: file:///home/svn/framework3/trunk@12441 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-26 16:19:59 +00:00
HD Moore 1d8dca6268 Merge the stale session reaper code into the session manager
git-svn-id: file:///home/svn/framework3/trunk@12437 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-26 05:10:14 +00:00
James Lee b61d83a0ae add a last-seen column to the sessions table so we can cull dead sessions on startup
git-svn-id: file:///home/svn/framework3/trunk@12432 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-25 16:11:02 +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
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 e94d39af2c un-ghetto meterpreter output logging
git-svn-id: file:///home/svn/framework3/trunk@11750 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-15 05:45:01 +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 7409e34738 See #2717. Fixes session reaping (VNC, specifically)
git-svn-id: file:///home/svn/framework3/trunk@10502 4d416f70-5f16-0410-b530-b9f4589650da
2010-09-28 15:06:09 +00:00
HD Moore cdc97316b5 Automatically close dead sessions (finally), also, automatically mark meterpreter sessions as dead when writes start to trigger exceptions
git-svn-id: file:///home/svn/framework3/trunk@10475 4d416f70-5f16-0410-b530-b9f4589650da
2010-09-25 03:57:30 +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
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
Joshua Drake 24934444b6 only allow living sessions to be deregistered -- in theory this won't cause any issues
git-svn-id: file:///home/svn/framework3/trunk@8854 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-19 03:12:36 +00:00
Joshua Drake 7cf8b4c43f distinguish the error message for sessions that die from EOF
git-svn-id: file:///home/svn/framework3/trunk@8828 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-16 03:15:52 +00:00
HD Moore 6bd2a954cf Lots of small changes, the big one is moving from sysread -> readpartial in the stream base class
git-svn-id: file:///home/svn/framework3/trunk@8764 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-10 06:43:46 +00:00
HD Moore b87f0ac796 Fix the reaper
git-svn-id: file:///home/svn/framework3/trunk@8753 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-08 23:32:57 +00:00
HD Moore 69f50eea7c Kill off any session with eof on the socket
git-svn-id: file:///home/svn/framework3/trunk@8750 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-08 22:58:43 +00:00
James Lee 4ad6c24a95 look for dead sesions with a reaper thread instead of on other session events, add Session#alive accessor for all session types; still need to figure out when a shell session is dead and set it accordingly. Add a reason argument to on_session_close to distinguish between killed sessions and dead sessions
git-svn-id: file:///home/svn/framework3/trunk@8596 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-23 05:59:30 +00:00
James Lee c396129d41 add a liveness test to meterpreter, fixes 698
git-svn-id: file:///home/svn/framework3/trunk@8314 4d416f70-5f16-0410-b530-b9f4589650da
2010-01-28 23:53:15 +00:00
James Lee a9b1462e9d add a callback for session commands. fixes 618
git-svn-id: file:///home/svn/framework3/trunk@8075 4d416f70-5f16-0410-b530-b9f4589650da
2010-01-06 05:06:12 +00:00
Ramon de C Valle f124597a56 Code cleanups
git-svn-id: file:///home/svn/framework3/trunk@5773 4d416f70-5f16-0410-b530-b9f4589650da
2008-10-19 21:03:39 +00:00
Matt Miller 5676117bff last of normalized docs from last night
git-svn-id: file:///home/svn/incoming/trunk@3030 4d416f70-5f16-0410-b530-b9f4589650da
2005-11-15 15:11:43 +00:00
Matt Miller d0a66d9ec1 route integration into the ui
git-svn-id: file:///home/svn/incoming/trunk@3017 4d416f70-5f16-0410-b530-b9f4589650da
2005-11-08 18:00:17 +00:00
Matt Miller 6a5870ddcd updated comments to be more uniformed in class definition
git-svn-id: file:///home/svn/incoming/trunk@3004 4d416f70-5f16-0410-b530-b9f4589650da
2005-11-02 16:49:45 +00:00
Matt Miller 3d976dc22c minor improvements to session interaction, dumping sessions, interacting with sessions that are backgrounded
git-svn-id: file:///home/svn/incoming/trunk@2772 4d416f70-5f16-0410-b530-b9f4589650da
2005-07-17 02:04:39 +00:00
Matt Miller 24c4a2513a some more madness
git-svn-id: file:///home/svn/incoming/trunk@2765 4d416f70-5f16-0410-b530-b9f4589650da
2005-07-16 08:12:58 +00:00
Matt Miller d0d77bfbb2 session shit
git-svn-id: file:///home/svn/incoming/trunk@2527 4d416f70-5f16-0410-b530-b9f4589650da
2005-05-26 06:35:37 +00:00
Matt Miller 1bf8d8b5ac starting to work on session stuff, tired
git-svn-id: file:///home/svn/incoming/trunk@2519 4d416f70-5f16-0410-b530-b9f4589650da
2005-05-25 05:07:22 +00:00