1
mirror of https://github.com/rapid7/metasploit-framework synced 2024-11-05 14:57:30 +01:00
Commit Graph

30660 Commits

Author SHA1 Message Date
jvazquez-r7
aeed72f726 Rewrite get_router_info 2015-01-23 17:29:12 -06:00
jvazquez-r7
26b17d5556 Clean get_router_mac_filter_info 2015-01-23 17:18:07 -06:00
jvazquez-r7
a63625ab51 Refactor response parsing 2015-01-23 17:09:01 -06:00
Spencer McIntyre
32746e0088
Land #4631, @bcook-r7's fix for #4625 pkt requeue logic 2015-01-23 18:02:21 -05:00
jvazquez-r7
c9a13bda2f Do a first easy clean up 2015-01-23 16:37:55 -06:00
jvazquez-r7
dcf0d7f596 Make msftidy happy 2015-01-23 16:23:21 -06:00
jvazquez-r7
f83b87f611 Rebase #3019 2015-01-23 16:14:01 -06:00
Brent Cook
fc016fe2ec
Land #4629, @wchen-r7's proper fixes for #4616 and #3798 2015-01-23 14:29:14 -06:00
Brent Cook
52ca6b54b1 remove entire 'default' attribute acccessor override method
This reverts us to the state before
725a17c70b, making OptRegexp simply
inherit from OptBase again.
2015-01-23 14:18:05 -06:00
Brent Cook
65d71a5e18 Fix #4625 Reenable channel receive packet requeueing logic
In #4475, I incorrectly interpreted the role of the 'incomplete' array
in monitor_socket, and that change should be reverted.

What appears to happen is, we play a kind of 3-card monty with the list
of received packets that are waiting for a handler to use them.
monitor_socket continually loops between putting the packets on @pqueue,
then into backlog[] to sort them, then into incomplete[] to list all of
the packets that did not have handlers, finally back into @pqueue again.
If packets don't continually get shuffled back into incomplete, they are
not copied back into @pqueue to get rescanned again.

The only reason anything should really get into incomplete[] is if we
receive a packet, but there is nothing to handle it. This scenario
sounds like a bug, but it is exactly what happens with the Tcp Client
channel - one can open a new channel, and receive a response packet back
from the channel before the subsequent read_once code runs to register a
handler to actually process it. This would be akin to your OS
speculatively accepting data on a TCP socket with no listener, then when
you open the socket for the first time, its already there.

While it would be nice if the handlers were setup before the data was
sent back, rather than relying on a handler being registered some time
between connect and PacketTimeout, this needs to get in now to stop the
bleeding. The original meterpreter crash issue from #4475 appears to be
gone as well.
2015-01-23 08:50:37 -06:00
sinn3r
f3a2d6663f Fix #4616 and Fix #3798 - Correctly use OptRegexp
This patch fixes a problem with OptRegexp. The OptRegexp class is
always forcing the value to be converted to a string first, which
causes the EXCLUDE option in browser_autopwn to kick in and match
every found autopwn module, so it ignores all of them and you load
nothing (#4616).

It is important to understand that nil actually represents an option
not being set, which is a completely different behavior than having
an empty value (technically "" is still a value, and if there's a
value, it means the option is set). We need to watcher for these
scenarios.

I am restoring the #default method to avoid forcing a to_s, which should
fix the browser autopwn loading problem. And then I changed scraper.rb's
default value for datastore option PATTERN to a string, because still
fixes #3798. The way I see it, #3798 is actually a module-specific issue.

Fix #4616
Fix #3798
2015-01-23 02:38:26 -06:00
Samuel Huckins
01bcd72e1c
Land #4546 2015-01-22 16:45:01 -06:00
William Vu
349ea56a3b
Land #4628, revert of #4593
Extraneous commas must die. Trailing commas are okay.

This check was too much.
2015-01-22 14:30:08 -06:00
Tod Beardsley
1d6524b4d9
Revert #4593, msftidy extraneous comma check
Fixes #4626 by ignoring the problem identified.

This reverts commit 7c3378b2e6, reversing
changes made to cb0257bec7.
2015-01-22 14:28:27 -06:00
William Vu
980a010e15
Land #4627, explicit rubygems require fix
And a couple extraneous comma fixes.
2015-01-22 13:49:31 -06:00
Tod Beardsley
bd06b48b30
Extra commas. 2015-01-22 13:45:08 -06:00
Tod Beardsley
2e606cd097
Don't require rubygems 2015-01-22 13:44:58 -06:00
William Vu
75e04705d5
Land #4624, Firefox 33-35 os.js support 2015-01-22 13:35:47 -06:00
William Vu
0612e1906a
Land #4614, {32,64}-bit Registry access 2015-01-22 13:25:51 -06:00
Jon Hart
e46395f592
Land #4596, @pdeardorff-r7's memcached extractor 2015-01-22 08:00:19 -08:00
Jon Hart
1cdcd3ccfa
Use a more consistent format in Rex table and loot for memcache 2015-01-22 07:59:48 -08:00
Jon Hart
e7c21f3205
Land #4503, @m7x's post module for extracting McAfee VSE hashes 2015-01-21 20:44:41 -08:00
Jon Hart
9cc58a8d69
Lastly, rename the file so that it is specific to McAfee VSE 2015-01-21 20:44:34 -08:00
Jon Hart
683a541064
Tighten up prints to make it specific to VSE, not McAfee in general 2015-01-21 20:33:54 -08:00
Jon Hart
52be3d80b7
Minor ruby style cleanup 2015-01-21 20:27:38 -08:00
Jon Hart
ceed293969
Remove unnecessary requires 2015-01-21 20:23:03 -08:00
jvazquez-r7
b61538e980
Land #4291, @headlesszeke's module for ARRIS VAP2500 command execution 2015-01-21 20:52:31 -06:00
jvazquez-r7
33195caff2 Mark compatible payloads 2015-01-21 20:52:04 -06:00
jvazquez-r7
500d7159f1 Use PAYLOAD instead of CMD 2015-01-21 20:49:05 -06:00
jvazquez-r7
f37ac39b4c Split exploit cmd vs exploit session 2015-01-21 20:46:37 -06:00
jvazquez-r7
e1d1ff17fd Change failure code 2015-01-21 20:38:33 -06:00
jvazquez-r7
169052af5c Use cookie option 2015-01-21 20:37:38 -06:00
Joe Vennix
5bfb88d55c
Update os.js to detect newer firefox versions. 2015-01-21 16:12:17 -06:00
Jon Hart
65805d43d7
Land #4612, @wez3's suggestion to bump the Outlook gather time 2015-01-21 13:28:06 -08:00
Jon Hart
f73052710d
Correct recent msftidy change in outlook gather 2015-01-21 13:27:48 -08:00
Jon Hart
46a0ec8a68
Make timeout for Powershell scripts configurable 2015-01-21 13:24:43 -08:00
William Vu
cf7555447c
Land #4621, msftidy whitelist constant
Now I'm happy... almost.
2015-01-21 14:03:39 -06:00
William Vu
bbe9fc208e
Update formatting (80 columns)
Piped to fmt -78 to account for the indent.
2015-01-21 14:01:44 -06:00
Tod Beardsley
264adf14d1
Add 'tnftp' software to the title whitelist 2015-01-21 11:52:39 -06:00
Tod Beardsley
efebaae251
Make the title whitelist a constant 2015-01-21 11:50:50 -06:00
William Vu
a52f491d81
Land #4615, stopgap fix for module load race 2015-01-21 07:39:07 -06:00
HD Moore
2f4ad9716c
Lands #4618, clarifies error message in msfvenom 2015-01-21 00:33:36 -06:00
William Vu
1dafedf23b
Clarify no encoder/badchars specified 2015-01-21 00:26:42 -06:00
HD Moore
d7cb1c5710
Lands #4617, fixes msfvenom output with no encoder. 2015-01-21 00:26:30 -06:00
William Vu
4cc027c4c1
Move "found" message to a saner location
Thanks to Peleus for the idea.
2015-01-20 23:58:12 -06:00
Brent Cook
5954e2300f updates based on feedback
Add documentation to the view constants.
Use include? rather than regexes
2015-01-20 16:57:49 -06:00
Tod Beardsley
9017aa0f6b
Avoid magic number to make @wvu marginally happier 2015-01-20 16:29:59 -06:00
Tod Beardsley
e88c4f1587
Switching from if mod.nil? to unless mod
Because it reads nicer, though `mod` will never be `FalseClass`
2015-01-20 16:21:00 -06:00
Tod Beardsley
63c66f66a0
Add a second_chance on cmd_use
This is a weak attempt to solve a race condition between modules loading
and cmd_use being fired. Upon startup, saved configurations, running
resource scripts, and running commands will sometimes jump ahead of the
module loading procedure.

I have not discovered where the race actually is and how to cause the
race to happen. However, the timing seems to be fairly close to a second;
by waiting three seconds after trying use again, we seem to be in the
clear, at least according to testing.

Fixes #4549, but better solutions are welcome!
2015-01-20 15:46:29 -06:00
Brent Cook
a42cc2ef1f add support for specifying 32 or 64-bit registry access
This adds an extra parameter to most of the post/windows/registry
methods called 'view' that specifies if a registry key should be
accessed as a native process, 32-bit or 64-bit.

Support is added to both the Meterpreter and command-line backends. For
the command backend, a lot of boilerplate is removed from each method in
favor of a few shared commands. There is an error hash that never gets
used, so I removed it as well.

This passes the post/test/registry module with meterpreter, but fails
the command line backend. However, it fails in the same way without
these changes (tested on Windows 8), so I suspect that the command line
session was already not working well, at least with newer versions of
Windows. I might look into figuring out how to fix that, but it looks
pretty fragile to me, parsing for english phrases in the output.
2015-01-20 15:26:59 -06:00