Commit Graph

18 Commits

Author SHA1 Message Date
Brent Cook c250740a81 Fixup finalizers to not double-close Meterpreter objects
We add finalizers to an assortment of Meterpreter-managed objects in order to
clean things up in the event that a post module crashes and does not clean
things up. However, this also means that even a properly-written post module
can lead to an object getting double-closed on the Meterpreter session when the
garbage collector kicks in. This can lead to quite non-deterministic behavior
and crashes.

This change modifies the instance close methods to unregister the finalizer on
close, ensuring we cannot do a double-close automatically if one is requested
explicitly first. As an additional measure, we check an instance variable to
see if we called close directly twice as well. This is not sufficient in
itself, since we do not have a reference to 'self' in the finalizer proc to
check the close state.

This also removes a couple of references to 'self' in the finalizer proc
itself, which may cure some memory leaks as well due to circular references.
2016-03-02 21:43:51 -06:00
Brent Cook db9a3d167a fix deletekey API usage from the meterpreter CLI
There is an old-looking bug where the deletekey command opens the key it tries
to delete, then deletes the same key name again. Basically, it uses the wrong
level of indirection.
2015-04-07 15:34:23 -05:00
Jonathan 575072585f removed shebangs from files within rex 2013-11-07 18:51:59 -05:00
Tab Assassin 7e5e0f7fc8 Retab lib 2013-08-30 16:28:33 -05:00
HD Moore d656e3185f Mark all libraries as defaulting to 8-bit strings 2012-06-29 00:18:28 -05:00
James Lee 70b463b257 msftidy run 2011-11-20 11:39:27 +11:00
HD Moore db413592e9 This commit adds support for the -r (remote machine name) parameter to the reg command and extends the api to support a remote machine name. Closes #1894
git-svn-id: file:///home/svn/framework3/trunk@12924 4d416f70-5f16-0410-b530-b9f4589650da
2011-06-12 00:01:29 +00:00
HD Moore 97d7290440 Fix an inadvertant change to close_key()
git-svn-id: file:///home/svn/framework3/trunk@10878 4d416f70-5f16-0410-b530-b9f4589650da
2010-11-03 04:20:42 +00:00
HD Moore fba2cb6d2d Remove the response wait for close calls triggered by the finalizer, should help in a few corner cases that currently result in a timeout or hang.
git-svn-id: file:///home/svn/framework3/trunk@10876 4d416f70-5f16-0410-b530-b9f4589650da
2010-11-03 03:03:29 +00:00
HD Moore 3e09fc30ae Fixes #2070 by adding finalizers to process, event, thread, registry, and channels.
git-svn-id: file:///home/svn/framework3/trunk@10711 4d416f70-5f16-0410-b530-b9f4589650da
2010-10-16 19:39:11 +00:00
HD Moore 98f83bbab1 Adds reg queryclass
git-svn-id: file:///home/svn/framework3/trunk@8046 4d416f70-5f16-0410-b530-b9f4589650da
2009-12-31 15:52:30 +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
HD Moore 88658064df /usr/bin/ruby vs /usr/bin/env ruby
git-svn-id: file:///home/svn/incoming/trunk@3242 4d416f70-5f16-0410-b530-b9f4589650da
2005-12-17 06:46:23 +00:00
Matt Miller 4e9ef19975 more reg stuff
git-svn-id: file:///home/svn/incoming/trunk@3048 4d416f70-5f16-0410-b530-b9f4589650da
2005-11-18 01:18:33 +00:00
Matt Miller 011f4411f2 added 'reg' command to meterpreter
git-svn-id: file:///home/svn/incoming/trunk@3047 4d416f70-5f16-0410-b530-b9f4589650da
2005-11-18 01:12:45 +00:00
Matt Miller 95f8210853 major doc update
git-svn-id: file:///home/svn/incoming/trunk@3029 4d416f70-5f16-0410-b530-b9f4589650da
2005-11-15 05:22:13 +00:00
Spoon M 7bbae355d6 mass require moving of /lib
git-svn-id: file:///home/svn/incoming/trunk@2690 4d416f70-5f16-0410-b530-b9f4589650da
2005-07-09 21:18:49 +00:00
Matt Miller f4264ed7d5 moved registry/process around to be under sys, implemented process.memory and process attaching
git-svn-id: file:///home/svn/incoming/trunk@2377 4d416f70-5f16-0410-b530-b9f4589650da
2005-04-15 06:23:59 +00:00