Commit Graph

5667 Commits (5921ac7b47dd28c006ea3ff8cb641c07ecb01a9e)

Author SHA1 Message Date
Brent Cook a87cf02b50
Land #6524, fix reverse_http to try binding to LHOST first 2016-02-25 20:25:02 -06:00
Gregory Mikeska cbc5b296e4
implement engines method locally instead of adding refinement 2016-02-25 11:05:17 -06:00
RageLtMan d7ba37d2e6 Msf::Exploit::Remote::HttpServer print_* fix
Exploit::Remote::HttpServer and every descendant utilizes the
print_prefix method which checks whether the module which mixes in
these modules is aggressive. This is done in a proc context most
of the time since its a callback on the underlying Rex HTTP server.

When modules do not define :aggressive? the resulting exceptions
are quietly swallowed, and requestors get an empty response as the
client object dies off.

Add check for response to :aggressive? in :print_prefix to address
this issue.
2016-02-21 20:20:22 -05:00
Micheal 3e22de116f Changes to fix peer and style as recommended by jhart-r7. 2016-02-20 13:53:32 -08:00
Brent Cook b409b2237d update to use the common bind_addresses method 2016-02-18 18:17:56 -06:00
Brent Cook b5ae4c0322 remove the sleep 2016-02-18 08:33:44 -06:00
wchen-r7 a5f3bddfc8 Support RPC API 2016-02-18 00:39:12 -06:00
Brent Cook aff118a3a5 don't send a response on invalid UUID 2016-02-16 09:19:45 -06:00
Brent Cook 95484c81fd
Land #6526, fix browser exploit server spec 2016-02-15 16:23:04 -06:00
Brent Cook 1f58ad15ac Browser::Exploit::Server needs to have vprint* 2016-02-15 16:21:24 -06:00
Brent Cook 3d1861b3f4 Land #6526, integrate {peer} string into logging by default 2016-02-15 15:19:26 -06:00
Brent Cook 4db2840af9
Land #6385, add .apk template support for msfvenom 2016-02-15 14:27:08 -06:00
Brent Cook 2386cb1344
Land #6527, add support for importing Burp suite vuln exports 2016-02-10 13:19:21 -06:00
wchen-r7 d5c3fcae04
Land #6511, Bump Jsobfu version to support preserved_identifiers 2016-02-05 15:57:53 -06:00
Brian Patterson 4dcbd7c1ae
Add a nokogiri xml stream parser for Burp issue xml and rename original burp parser to burp session parser so both are supported. 2016-02-04 10:30:56 -06:00
wchen-r7 d55e68e76b Fix bug in js_obfuscate 2016-02-02 11:25:39 -06:00
James Lee 208420d741
Sort methods 2016-02-02 10:02:32 -06:00
William Vu b4ed55b4d4 Fix reverse_http{,s} LHOST bind address 2016-02-02 09:57:11 -06:00
William Vu 1828b7fda6
Land #6512, Acunetix importer missing scheme fix 2016-01-29 13:17:44 -06:00
Brent Cook cd56470759
Land #6493, move SSL to the default options, other fixes 2016-01-29 11:09:51 -06:00
Adam Cammack e542a6c8cf
Fix importing with Acunetix
Add a default scheme of `http://` to URIs without a scheme. Also update
some documentation.
2016-01-28 16:37:14 -06:00
wchen-r7 f4139f85cb Change to JsIdentifiers 2016-01-28 15:18:25 -06:00
wchen-r7 4bd2be5dfa Add preserved_identifiers support 2016-01-28 14:36:42 -06:00
James Lee c2f8e95492
Missed one 2016-01-28 14:18:19 -06:00
James Lee ad026b3a7a
Add #peer to Tcp 2016-01-28 13:58:24 -06:00
James Lee 537c7e790e
Use vprint_status instead of reimplementing it 2016-01-28 12:51:20 -06:00
wchen-r7 51efb2daee
Land #6422, Add support for native target in Android webview exploit 2016-01-27 14:27:41 -06:00
Brent Cook a587975f90 be more robust and careful breaking from the accept thread 2016-01-23 01:46:58 -06:00
Christian Mehlmauer e6147d60e2 fix rspecs 2016-01-22 23:43:13 +01:00
Christian Mehlmauer 158b1e473c revert value 2016-01-22 23:38:45 +01:00
Christian Mehlmauer 02841c79c3 some slight changes 2016-01-22 23:38:45 +01:00
Christian Mehlmauer 0546911eef fix error when invalid classname eg "class Metasploit1 < .." 2016-01-22 23:38:45 +01:00
Christian Mehlmauer 8f4752d11e show load warnings to the user 2016-01-22 23:38:45 +01:00
Christian Mehlmauer 7dac21f58c do not fail on old class name 2016-01-22 23:36:37 +01:00
Christian Mehlmauer 51eb79adc7 first try in changing class names 2016-01-22 23:36:37 +01:00
Brent Cook 91700f17e3 tidy up the ruby style while we're in here testing 2016-01-22 14:43:19 -06:00
Brent Cook ac8b483d32 don't break the accept loop just because we got a client connection that closed early 2016-01-22 13:52:00 -06:00
Christian Mehlmauer 0871fe25e8
change text 2016-01-22 07:38:44 +01:00
Christian Mehlmauer e0de78280d
move SSL to the default options 2016-01-22 07:05:23 +01:00
James Lee 0f7e3e954e
HttpServer's print prefix with... wait for it...
print_prefix
2016-01-20 13:44:18 -06:00
Brent Cook 28cf943bcb Fix a couple of missing requires in payloads.
This pops up occasionally. This fixes a couple of anecdotal reports of missing
requires that cause the loader to fail, depending on the directory sort order.

It also fixes the problem as reported in #6460
2016-01-14 13:17:26 -06:00
Brent Cook 8479d01029
Land #6450, add TLS support to MSSQL 2016-01-14 12:17:40 -06:00
James Lee a7869975d8
Remove useless variable 2016-01-14 10:04:23 -06:00
James Lee 1f61eb50be
Sort methods 2016-01-14 09:09:29 -06:00
Jonathan Harms 5266860cec Squashed more commits back into 1 2016-01-07 17:53:49 -06:00
wchen-r7 6a2b4c2530 Fix #6445, Unexpected HttpServer terminations
Fix #6445

Problem:
When an HttpServer instance is trying to register a resource that
is already taken, it causes all HttpServers to terminate, which
is not a desired behavior.

Root Cause:
It appears the Msf::Exploit::Remote::TcpServer#stop_service method
is causing the problem. When the service is being detected as an
HttpServer, the #stop method used actually causes all servers to
stop, not just for a specific one. This stopping route was
introduced in 04772c8946, when Juan
noticed that the java_rmi_server exploit could not be run again
after the first time.

Solution:
Special case the stopping routine on the module's level, and not
universal.
2016-01-07 16:55:41 -06:00
Brent Cook eb0b66a4cf
Land #6390, report exceptions on bind/listen failure 2016-01-06 21:44:06 -06:00
joev 00dc6364b5 Add support for native target in addjsif exploit. 2016-01-03 01:07:36 -06:00
Jon Hart beb2fa9f92
Use bind_addresses rather than bind_address; fixes #6394 2015-12-24 09:20:21 -08:00
Jon Hart efdb6a8885
Land #6392, @wchen-r7's 'def peer' cleanup, fixing #6362 2015-12-24 08:53:32 -08:00
Tim 5d0e868fd6 facebook.orca fixes 2015-12-24 12:21:08 +00:00
Tim 69b65e7d39 fix error handling 2015-12-24 09:13:56 +00:00
Brent Cook e4f9594646
Land #6331, ensure generic payloads raise correct exceptions on failure 2015-12-23 15:43:12 -06:00
wchen-r7 cea3bc27b9 Fix #6362, avoid overriding def peer repeatedly
def peer is a method that gets repeated a lot in modules, so we
should have it in the tcp mixin. This commit also clears a few
modules that use the HttpClient mixin with def peer.
2015-12-23 11:44:55 -06:00
wchen-r7 a16a10aaf6 Fix #6371, being able to report an exception in #job_run_proc
Fix #6371

When a browser fails to bind (probably due to an invalid port or
server IP), the module actually fails to report this exception from
exception, the method calls exploit.handle_exception(e). But since
handle_exception is not a valid method for that object, it is unable
to do so, and as a result the module fails to properly terminate
the module, or show any error on the console. For the user, this will
make it look like the module has started, the payload listener is up,
but there is no exploit job.

Rex::BindFailed actually isn't the only error that could be raised
by #job_run_proc. As far as I can tell registering the same resource
again could, too. With this patch, the user should be able to see this
error too.

Since the exploit object does not have access to the methods in
Msf::Simple::Exploit, plus there is no other code using
handle_exception and setup_fail_detail_from_exception, I decided
to move these to lib/msf/core/exploit.rb so they are actually
callable.
2015-12-22 16:35:29 -06:00
Brent Cook 3f4c6eb370
Land #5383, allow tunneling reverse_tcp meterpreter sessions without 'route add' 2015-12-22 15:42:42 -06:00
Tim d2a9aa18d8 fix sillyness 2015-12-22 16:06:01 +00:00
Tim eeea4bde9d integrate ./msfvenom -x for android payloads 2015-12-22 15:58:27 +00:00
Tim 662a6dfd53 ¯\_(ツ)_/¯ 2015-12-22 14:49:00 +00:00
Tim d2cc32a389 integrate apk_backdoor with msfvenom 2015-12-22 14:49:00 +00:00
wchen-r7 2cc54a7a43 Make joomla.xml go first
Reason is here:
https://github.com/rapid7/metasploit-framework/pull/6373#issuecomment-166446092
2015-12-21 22:59:13 -06:00
wchen-r7 17b67b8f1b Add trailing / 2015-12-19 17:18:34 -06:00
wchen-r7 5ff02956c9 Lower joomla.xml 2015-12-19 13:46:13 -06:00
wchen-r7 0fda963601 Have multiple paths to find the generator tag 2015-12-19 13:45:41 -06:00
wchen-r7 6dada5f20f add another we can check
administrator/manifests/files/joomla.xml
2015-12-19 12:06:06 -06:00
wchen-r7 7d8ecf2341 Add Joomla mixin 2015-12-18 21:14:04 -06:00
Jon Hart b78f7b4d55
Land #6319, @all3g's module for abusing redis to achieve file uploads 2015-12-14 18:00:44 -08:00
Jon Hart 6611da9239
strip, not stripgit diff. strip! returns nil if the string was unmodified 2015-12-11 19:22:57 -08:00
Jon Hart dcdc21e2db
Correct unbalanced quotes
You down with OCD (Yeah you know me).
2015-12-11 18:44:14 -08:00
Jon Hart e23908d672
Improve verbose output related to authentication handling 2015-12-11 18:32:00 -08:00
Jon Hart 1a0f71b6fa
Try to catch case where post-auth commands are failing 2015-12-11 17:23:03 -08:00
Jon Hart 9cec3d9e6b
Move redis password option to non-advanced 2015-12-11 17:03:49 -08:00
Jon Hart 1fecd9846c
Bury some helper methods behind private 2015-12-11 10:13:13 -08:00
Jon Hart 9ef46140c0
Improve output when success 2015-12-11 10:10:44 -08:00
Jon Hart 32a64c3d8e
Make auth easier, work automatically and on older redis versions
Also, improve check
2015-12-11 10:04:47 -08:00
Jon Hart ac47c87af4
Move Password option to redis mixin 2015-12-11 08:53:11 -08:00
Jon Hart 38d0b0a0f2
Wire in @all3g's redis auth code 2015-12-11 08:42:59 -08:00
Jon Hart 555e52e416
Document the redis upload process more 2015-12-10 09:35:46 -08:00
Jon Hart 00f72b279b
Cleaner printing when in verbose 2015-12-10 09:12:54 -08:00
Jon Hart 21ab4e96e5
First pass at redis mixin 2015-12-10 08:29:59 -08:00
wchen-r7 07ef09e0b6 Avoid Msf::Module::Platform
We don't know how to generate an exe payload if the platform is
Msf::Module::Platform, so don't use it.
2015-12-08 21:40:30 -06:00
wchen-r7 9e52663705 Doc
Fix #6330
2015-12-08 21:24:39 -06:00
wchen-r7 11c1eb6c78 Raise Msf::NoCompatiblePayloadError if generate_payload_exe fails
Most exploits don't check nil for generate_payload_exe, they just
assume they will always have a payload. If the method returns nil,
it ends up making debugging more difficult. Instead of checking nil
one by one, we just raise.
2015-12-08 21:13:23 -06:00
wchen-r7 5b27d3a99c This looks right 2015-12-08 20:42:35 -06:00
wchen-r7 cea8c40432 Fix generate_payload_exe for generic payload support
Platform can be seen from different sources:

1. From the opts argument. For example: When you are using
   generate_payload_exe, and you want to set a specific platform.
   This is the most explicit. So we check first.

2. From the metadata of a payload module. Normally, a payload module
   should include the platform information, with the exception of
   some generic payloads. For example: generic/shell_reverse_tcp.
   This is the most trusted source.

3. From the exploit module's target.

4. From the exploit module's metadata.

Architecture shares the same load order.
2015-12-08 20:26:07 -06:00
wchen-r7 080ec26afb
Land #4489, Update SMB admin modules to use Scanner & fixes 2015-12-08 14:49:26 -06:00
Stuart Morgan 0cb18004ec Rubocop 2015-12-05 15:28:56 +00:00
Stuart Morgan 61ad1a60f5 Removed EOL spaces (msftidy) 2015-12-05 15:27:13 +00:00
Stuart Morgan e190dcb61a Merge branch 'master' of https://github.com/rapid7/metasploit-framework into add_delay_jitter_to_scan 2015-12-05 15:25:11 +00:00
Stuart Morgan d645052391 Moved the 'add_delay_jitter' function to scanner.rb so that all modules can benefit from it if needed 2015-12-05 15:02:31 +00:00
wchen-r7 14b1b3a1f0
Land #6299, Stageless HTTP(S) Python Meterpreter 2015-12-04 16:16:54 -06:00
Sonny Gonzalez d7aeabbb71
Land #6293, listener bind_port fix 2015-12-02 13:16:23 -06:00
Spencer McIntyre 388edd3207 Fix the scheme for the pymet ProxyHandler 2015-11-30 13:45:24 -05:00
Spencer McIntyre fba9715a56 Add stageless python meterpreter http & https payloads 2015-11-28 17:41:55 -05:00
Jon Cave 0c8eb6fb37 Display ReverseListenerBindPort if it is set
ReverseListenerBindPort overrides LPORT if it is used. The `listener_uri`
method should use the output `bind_port` to account for this.
2015-11-27 09:16:20 +00:00
Brent Cook e5119e6446 use payload_uri's result to derive lhost / lport 2015-11-26 15:21:51 -06:00
Brent Cook 216119c05c unfold override lhost/lport logic 2015-11-26 15:15:21 -06:00
Spencer McIntyre 1b495e73ac Further reduce python reverse_http duplicate code 2015-11-26 14:31:00 -05:00
Spencer McIntyre bd25ffa48c Consolidate py reverse http uri code into a mixin 2015-11-26 13:32:50 -05:00
Jon Cave d9655fc882 Use LPORT if opts[:lport] is undefined
`nil.to_i` returns 0 which will short circuit the || resulting in port 0
being used. nil should be checked for prior to casting to int.
2015-11-26 16:08:22 +00:00
Kyle Gray 8923252de7
Land #6259, NoMethodError in vim_soap.rb fix
We haven't been able to get the XML data that would cause the error, all we have is a backtrace. So "verification" is purely code reading. Thanks @wchen-r7

Fixes #6085

Merge remote-tracking branch 'origin/pr/6259'
2015-11-24 17:33:35 -06:00
Brent Cook 7ad8adf67f
Land #6240, change default SMBDomain to '.' 2015-11-24 12:58:46 -06:00
Louis Sato 5303079ba4
Land #6262, local exploit add not implemented error 2015-11-23 14:23:13 -06:00
Brent Cook 5654b6b2e2 Land #6227, reverse_hop_http updates and HTTPS unification 2015-11-23 06:29:15 -06:00
Brent Cook 25f2241aa3
Land #6246, show the user errors from create_session 2015-11-23 06:01:08 -06:00
HD Moore 353cad2cc6 Update to match active & github account merge 2015-11-22 13:38:26 -06:00
wchen-r7 b636aeb303 rm print_warning 2015-11-20 19:38:33 -06:00
wchen-r7 d405f31c35 Add a NotImplementedError if run is used to run a local exploit
Running a local exploit like a post is not currently supported,
we should at least raise a warning or something, and not just
let it backtrace and confuse the user.
2015-11-19 14:31:31 -06:00
wchen-r7 a78fa7c3d9 Fix #4273, print error in create_session
Fix #4273
2015-11-16 17:17:20 -06:00
David Maloney 708cbe9479
change the default SMBDomain to .
Due to a recent change using WORKGROUP
as the SMBDomain causes Trust errors.
Using '.' instead works fine.
2015-11-16 12:20:27 -06:00
David Maloney a1ab8f1dc7
added Session info display to module output
output from the mssql_local_auth_bypass module
is now prefixed with the Session id and address
of the target host so it is explicitly clear
where it is performing each action

MS-706
2015-11-16 12:13:26 -06:00
sammbertram cd4aa28d11 Transport priority changes
Pass in the "lhost" and "lport" options to the default transport during the native payload. This takes the following LHOST priorities:
1. OverrideLHOST, only if OverrideRequestHost is TRUE
2. The request Host: header.
3. The LHOST datastore.
2015-11-13 13:21:46 +00:00
sammbertram 9d9865150b Transport priority changes
Default transport request should set the priority to the Host: request header, and the subsequent OverrideRequestHost, OverrideLHOST, and OverrideLPORT options in the handler for reverse_http(s).
2015-11-13 13:19:01 +00:00
scriptjunkie 8703987535 Add HTTPS and new transport support for hop 2015-11-11 21:25:23 -06:00
Jon Hart 15eb135295
Resolve merge conflicts 2015-11-09 18:15:40 -08:00
jvazquez-r7 ceaf7440a7 Send full message 2015-11-06 12:15:17 -06:00
jvazquez-r7 19652e79c3 Delete comments 2015-11-06 12:15:07 -06:00
jvazquez-r7 ca1502c00a Fix SMTP send_message to not block 2015-11-06 12:14:59 -06:00
dmohanty-r7 a71d7ae2ae
Land #6089, @jvazquez-r7 Fix HTTP mixins namespaces 2015-11-05 16:56:41 -06:00
James Lee 4d8ea7fb5c
Refactor more common stuff out of reverse handlers 2015-11-03 23:21:47 -06:00
James Lee 7c2f9531d9
Don't stack trace if listener is on a dead session 2015-11-03 08:31:33 -06:00
void-in f629f98fdc Resolve 6174, require meterpreter_options 2015-10-31 18:47:22 +05:00
Brent Cook be23da1c1f Merge branch 'upstream-master' into land-6120-python-stageless 2015-10-30 17:26:26 -05:00
wchen-r7 977b3449b7 Fix #6085, NoMethodError in vim_soap.rb
Fix #6085
2015-10-30 11:02:02 -05:00
James Lee 344e8a6f90
Refactor common reverse options 2015-10-29 15:15:20 -05:00
James Lee 46159f5dbe
Back out the Comm stuff for HTTP 2015-10-29 14:22:34 -05:00
Louis Sato 657a5481dc
fix rpc session conditional to allow powershell read/write 2015-10-28 11:49:32 -05:00
wchen-r7 f2b4737e4a
Land #6127, Fix #3859 Add support for registry_key_exist? 2015-10-23 10:59:57 -05:00
wchen-r7 b76192dbcb
Land #6099, make_nops doesn't take into account all the compatible encoders 2015-10-22 21:26:25 -05:00
jvazquez-r7 d5a010c230
Add support for registry_key_exist? 2015-10-22 16:07:38 -05:00
Spencer McIntyre 8bb694fa5c Add stageless Python Meterpreter for reverse tcp 2015-10-21 18:23:04 -04:00
Brent Cook 4b271425c9 s/datstore/datastore/g 2015-10-20 13:05:49 -05:00
jvazquez-r7 28ca34c40a
Fix conflicts 2015-10-16 15:38:59 -05:00
James Lee d51f0ebd4c
Refactor "via" string into a method 2015-10-16 15:08:00 -05:00
jvazquez-r7 d85412b0fb
Complete fix for generation of nop sleds 2015-10-16 14:01:00 -05:00
jvazquez-r7 b788772215
break only if 'make_nops' is able generate the nop sled 2015-10-16 13:28:37 -05:00
jvazquez-r7 7da3b4958e
Change mixins namespaces 2015-10-15 10:35:07 -05:00
jvazquez-r7 6571a8f2c3
Move http apps mixins to the old convention folder 2015-10-15 10:22:54 -05:00
jvazquez-r7 8057b3edae
Fix specs to pass again 2015-10-15 09:40:39 -05:00
jvazquez-r7 db5d83a40a
Move namespaces 2015-10-15 09:17:06 -05:00
jvazquez-r7 5e39814860
Move to the old convention folder 2015-10-15 09:03:03 -05:00
Brent Cook 1c880b933f
Land #6066, remove empty, duplicate options for EXITFUNC 2015-10-14 10:34:36 -05:00
William Vu 2a2d8d941d
Land #6054, HTTP Host header injection module 2015-10-13 23:37:31 -05:00
William Vu c642057fa0 Clean up module 2015-10-13 12:03:41 -05:00
HD Moore a590b80211 Update autoregister_ports, try both addresses for the MBean 2015-10-09 20:20:35 -07:00
HD Moore cd2e9d4232 Move Msf::Java to the normal Msf::Exploit::Remote namespace 2015-10-09 13:24:34 -07:00
James Lee b16c284395
Determine comm from ReverseListenerComm in reverse_http
Also some copypasta from reverse_tcp to display where we started the
listener.
2015-10-09 08:54:01 -05:00
wchen-r7 8aed503ad2 Change EXITFUNC acceptable options
This gets rid of the nil option because this is the same as "".
And then we change the empty value to ''.
2015-10-08 16:52:17 -05:00
James Lee 946401ec99
Move SSL options out to a mixin 2015-10-07 09:59:12 -05:00
James Lee fdbbb5fbf4
Whitespace 2015-10-07 09:56:28 -05:00