Commit Graph

7956 Commits

Author SHA1 Message Date
Shelby Pace 7130e8dc98 use binread instead of File.open/read 2019-10-10 12:16:09 -05:00
Shelby Pace f39fc3a82d remove extraneous data from shellcode 2019-10-10 12:16:09 -05:00
Shelby Pace db0abdbec8 use correct method 2019-10-10 12:16:09 -05:00
Shelby Pace 7342a4579a add dependency check code 2019-10-10 12:16:09 -05:00
Shelby Pace 23028a1094 add code to read exe/strip null bytes 2019-10-10 12:16:09 -05:00
Shelby Pace b9794d76ac add GlobalFree 2019-10-10 12:16:09 -05:00
Shelby Pace 7dca0ae8e9 remove comments, add option 2019-10-10 12:16:09 -05:00
Shelby Pace 506ca5976d change function names, modify opt 2019-10-10 12:16:09 -05:00
Shelby Pace f73b7826a8 separate options from payload 2019-10-10 12:16:09 -05:00
Shelby Pace f32c33ce13 fix careless mistakes 2019-10-10 12:16:09 -05:00
Shelby Pace 71eff44404 format datastore options, concat c src 2019-10-10 12:16:09 -05:00
Shelby Pace be208106c8 replace hard-coded hashes with block_api call 2019-10-10 12:16:09 -05:00
Shelby Pace 31aa2b7452 add comment, remove puts 2019-10-10 12:16:09 -05:00
Shelby Pace 3e2c8f7779 add Dependency metadata for payloads 2019-10-10 12:16:09 -05:00
Tim 620609c955 Update lib/msf/core/post/linux/compile.rb
Co-Authored-By: bcoles <bcoles@gmail.com>
2019-10-10 13:13:40 +08:00
William Vu 6fac30aec8 Change vprint_status to vprint_error 2019-10-09 11:36:39 -05:00
Brent Cook 62412c8d00 log a bit more about what happened 2019-10-09 08:39:03 -05:00
Brent Cook c4365cfe08 handle extra data on rdp_recv with length check
We should really be doing something like strictly parsing PDU headers in rdp_recv and then parseling out PDUs instead of recv_and_pray, but this should get us past the initial issue where sometimes there is an extra PDU right after
2019-10-09 08:22:02 -05:00
Adam Cammack f9c5939a29 Teach more things about the new check codes 2019-10-08 16:21:40 -05:00
Adam Cammack 2a32c7b9c5 Extend check codes to allow custom messages 2019-10-08 09:57:53 -05:00
Emmett Kelly e0c86b2423 Remove references to file based token provision 2019-10-08 14:29:25 +01:00
Emmett Kelly fe3ec50239 Set API token in env instead of file 2019-10-08 13:46:07 +01:00
Emmett Kelly fcfc78acc5 Use consistent API auth failure error handling 2019-10-08 11:14:23 +01:00
Emmett Kelly 8697b424b2 Use consistent environment variable name 2019-10-08 11:09:04 +01:00
Emmett Kelly 6d74fa2586 Load token config from yml instead of json 2019-10-08 11:03:24 +01:00
Emmett Kelly 1f4649a97c Remove redundant begin block 2019-10-07 15:23:27 +01:00
Emmett Kelly 6e3acd6e9b Refactor nested else if to elsif 2019-10-07 15:23:01 +01:00
Emmett Kelly e1d44e2ae3 Remove redundant braces around hash param 2019-10-07 15:22:27 +01:00
Emmett Kelly 8f33804fe0 Add file based API token authentication
Provides a mechanism to specify an API token from a json file.
If the DB is not enabled then the JSON RPC server will check for the
presence of an environment variable (MSF_API_TOKEN_FILE) which should
point to the path of a JSON file. The JSON file should contain a single
key "token". The value of this token is used as the API token which is
required for all JSON RPC API calls.
2019-10-07 14:57:40 +01:00
h00die 9f29f5f419 fix spelling received 2019-10-05 14:40:27 -04:00
floyd c747221863 Remove invalid email addresses 2019-10-02 13:35:25 +02:00
Brent Cook b223e5e66a Land #12377, Fix stack_adjustment bug 2019-10-01 01:31:53 -05:00
William Vu 9592e85975 Fix stack_adjustment nil bug and refactor method
Also fix incorrect docs.
2019-09-30 19:18:58 -05:00
dwelch-r7 db7e594ef4 land #12065, local file config loader
Adds a couple of modules for loading in cisco/juniper configs from a
file without needing a shell and a post module
2019-09-30 23:26:27 +01:00
Brent Cook 75c58d39a9 Land #12314, Clarify file: handling with the RHOSTS parameter 2019-09-24 06:10:29 -05:00
Brent Cook 0ed09cc9bf Land #11927, Add Brocade post module and config parser 2019-09-24 05:59:21 -05:00
Brent Cook 5b36b6ed71 add docs, simplify some areas 2019-09-23 04:50:54 -05:00
Brent Cook 0715b7688a use client_random, add notes 2019-09-22 17:20:58 -05:00
Brent Cook 0d34de7d2f support sending license requests 2019-09-22 16:47:08 -05:00
Brent Cook 963489e196 add further license PDU parsing 2019-09-20 08:15:07 -05:00
Clément Notin 3044fdf517 RHOSTS: expand description 2019-09-20 09:56:11 +02:00
Brent Cook 3174af03e4 add initial license packet handler 2019-09-19 06:09:41 -05:00
Brent Cook d2da56bd90 use specified RDP_CLIENT_NAME 2019-09-19 06:05:08 -05:00
Spencer McIntyre 0a05ee6577 Use the rdp connect/disconnect methods for WinXP 2019-09-19 06:05:08 -05:00
Brent Cook ab631044af adjust rdp fingerprint code to match self.rdp_sock changes in exploit mixin 2019-09-19 06:05:08 -05:00
OJ f479ed2d73 Small refactors, comments and tidying up 2019-09-19 06:05:08 -05:00
OJ edcc423eea Lots more RDP mixin changes, and first pass of ruby exploit
This code is at the point where we SHOULD see a crash (given that the
payloads in use for kernel/user are both just As and Bs (deliberate at
this point).

Unforunately the exploit does not result in a crash. Things just keep
on going! I've looked at the difference in the traffic across the two
different exploits (py and rb) and what's clear is that the mixin is
doing a lot more work at the start.

Also, the mixin generates packets of smaller size in the way that it
encodes data (ie. it doesn't always use 2 bytes for a short value, it'll
use 1 instead if only 1 is required).

Pretty sure that the size issues aren't the problem, I think there's
something else in play. I'm at the point where diving into the RDP stuff
even more isn't inspiring so I'm hoping that opening this up to collab
will help us move forward.
2019-09-19 06:05:08 -05:00
OJ 1d6e319ac2 Refactor of RDP mixin to make it more configurable
Slowly moving away from a huge hard-coded blob of inflexible bytes
towards a more data-driven approach that allows configuration of various
elements of the packets that are generated.
2019-09-19 06:05:08 -05:00
OJ eb9088a588 Refactor RDP mixin to hide socket details
When dealing with the RDP mixin it makes more sense to not expose
TCP-level things, instead it's better to talk RDP. This changeset makes
it so that consumers of the RDP mixin talk RDP only. They can access the
socket through the `rdp_socket` member if required, but the changes made
here mean they don't have to. Ultimately, this new member should be
`private` instead of `protected`, but I'm leaving it like this for now
in case it is required down the track.

I've also made the assumption that all RDP connects want TCP_NODELAY
set. This might be wrong, but I don't think it is.

From here, users can call `rdp_connect` and `rdp_disconnect` to manage
connectivity to the RDP endpoint. The `rdp_connect` function does not
register the TCP client socket as the global `sock` member on the TCP
module instance, this is to prevent the mixin from clashing with other
users of the TCP client in a given module.
2019-09-19 06:04:58 -05:00
RageLtMan 21dd5f438d Address some of @bcoles comments 2019-09-15 01:14:04 -04:00