Commit Graph

188 Commits

Author SHA1 Message Date
dwelch-r7 1617b3ec9b Use zeitwerk for lib/msf/core folder 2020-12-07 10:31:45 +00:00
OJ 48290ac38a Fix a stupid mistake with core_patch_url
This was not originally ported to an int when it should have been.
2020-06-09 08:58:27 +10:00
Spencer McIntyre 059dd59d90 Use the new max_length check elsewhere 2020-03-11 11:56:15 -04:00
Spencer McIntyre db9626153b Minor refactoring for style, whitespace, etc. 2020-03-11 11:56:15 -04:00
Timo Mueller 2283948fcf Fixed description in reverse_http payload, for real 2020-03-11 11:55:18 -04:00
Timo Mueller 364b6c1359 Fixed description in reverse_http payload 2020-03-11 11:55:18 -04:00
Timo Mueller f10f5701dd Added maximum string length check 2020-03-11 11:43:10 -04:00
OJ 5621d200cc Stop error rendering in multi/meterpreter
The reverse_http/s listeners result in awful errors when
multi/meterpreter is set as the payload. Anyone that hits the endpoint
with an invalid or missing UUID will spam the MSF console with
exceptions.

This patch avoids this issue in cases where the UUID isn't specific. We
avoid setting it as a default, which doesn't make sense anyway.
2019-06-11 13:39:52 +10:00
Brent Cook 73c8e803fe Land #11892, Fix parse IPv6 address in reverse_http 2019-05-31 12:41:36 -05:00
ssyy201506 ecda8d864a Fix incorrect parsing of IPv6 uri. 2019-05-28 16:41:34 +09:00
Matt Robinson 26eebb9620 Fix multi handler reverse_http to not care so much about the workspace. 2019-05-25 16:25:06 -04:00
Erin Bleiweiss b51d016a93 Store and search payloads with workspace id 2018-09-24 14:11:48 -05:00
Erin Bleiweiss 7e6c3261b6 Update payload count method 2018-09-18 16:36:11 -05:00
Erin Bleiweiss 9b5326994f Add remote data endpoint support for searching payloads 2018-09-18 15:50:55 -05:00
Erin Bleiweiss 8f4e17c277 Replace uuid methods for payload count and url validation 2018-09-13 12:28:04 -05:00
RageLtMan f1a1e1a357 Implement specific dispatch extensions for tunnels
All meterpreter Clients are created equal, and as such they all
include the PacketDispatcher mixin and call its init methods when
a passive dispatcher is needed. However, since tunneling protocols
have different requirements for implementation, the methods which
provide protocol-specific functionality need to be mixed into the
Client before it attempts to initialize the dispatcher.

Provide a dispatch_ext option in the has passed to the client on
init from the session handler which is an Array containing mixin
references which are sent to :extend calls in the :init_meterpreter
method just prior to calling :initialize_passive_dispatcher.

Each handler implementation can thus push chains of mixins to the
client in order to provide middleware specific to the tunnel. Down
the road, this should permit stacking C2 encapsulations or tunnel
protocols/permutators to create unique session transports on the
fly.
2017-12-29 00:56:06 -05:00
Brent Cook bb5ea540ab fix a number of TODO's in the HTTP handler, remove duplication in handlers 2017-12-12 03:12:36 -06:00
Brent Cook f49006222c remove unneeded uri 2017-12-12 03:12:36 -06:00
Brent Cook 8e76c4cb4f handle override at the meterpreter config layer 2017-12-12 03:12:36 -06:00
Brent Cook 017374be71 pass lhost/lport back into generate_stage with reverse_http/s 2017-12-12 03:12:36 -06:00
Brent Cook 1fd7f7c8bc prefix MeterpreterUserAgent and PayloadProxy* with Http for consistency,
this also adds aliases where needed
2017-11-21 13:47:19 -06:00
OJ a78d8f83fc Add HTTP header support for Host/Cookie/Referer
This is to start the support for things like domain fronting.
2017-11-21 13:47:18 -06:00
darkbushido 81bcf2ca70 updating all LHOST to use the new opt type 2017-05-04 12:57:50 -05:00
William Vu af3cd18c9f Fix #8041 so it works 2017-03-16 13:27:47 -05:00
Noah Berman ccf345f696 move method to module level 2017-03-09 14:32:51 -07:00
Noah Berman 40204703f0 remove unnecessary newline 2017-03-09 12:26:11 -07:00
Noah Berman e7b47865be ruby formatting fix 2017-03-09 12:23:02 -07:00
Noah Berman 274089a7f1 cleanup for lhost loopback warn 2017-03-09 11:33:27 -07:00
Noah Berman 2f55b5e00e reconfigure lhost warn for loopback address 2017-03-09 11:10:27 -07:00
Tim 870621d169 Add OverrideScheme option, fixes #7841 2017-02-08 23:30:29 +08:00
Brent Cook 99047fa8a1 be stricter in what we accept for payload uri
datastore needs to contain something to produce a valid URI
2017-01-22 10:20:04 -06:00
OJ e8d7a074fa Tweak to stageless handling for python payloads 2016-11-29 07:54:51 +10:00
OJ 496836fc06 Remove debug junk, rejig order of ops in initializer 2016-11-28 15:25:07 +10:00
OJ e8158bd200 Add multi platform type, wire into the multi stage 2016-11-28 09:34:09 +10:00
OJ 09d9733a75 Interim commit while working on multi payloads 2016-11-03 06:44:39 +10:00
OJ 494b4e67bd Refactor http/s handler & payloads
This commit moves much of the platform-specific logic from the
reverse_http handler down into the payloads. This makes the handler
a bit more agnostic of what the payload is (which is a good thing).
There is more to do here though, and things can be improved.

Handling of datastore settings has been changed to make room for the
ability to override the datastore completely when generating the
payloads. If a datastore is given via the `opts` then this is used
instead otherwise it falls back to the settings specified in the usual
datatstore location.

Down the track, we'll have a payload that supports multiple stages, and
the datastore will be generated on the fly, along with the stage itself.
Without this work, there's no other nice way of getting datastore
settings to be contained per-stager.
2016-11-02 11:33:59 +10:00
OJ 0fca4483c0 Correctly call generate_stage on native init 2016-11-02 00:52:25 +10:00
Tim c13ab28a5b remove debug statement 2016-09-22 16:27:11 +01:00
David Maloney 43942e6029 refactor pem parser to use the rex-socket gem version
use rex-socket's pem aprser instead of the old one we used
to have in rex::parser

MS-1715
2016-09-07 11:38:27 -05:00
Brent Cook 5dc7d4b16e Land #7043, Fix-up double slash handling with the LURI parameter 2016-07-05 01:21:33 -05:00
Brent Cook 85dfec0cf5 minor whitespace 2016-07-05 01:20:54 -05:00
Brent Cook 9b4028d2d7 Revert #6581, it causes regressions
We need a more clever solution without breaking HttpUnknownRequestResponse.
2016-07-05 00:11:15 -05:00
HD Moore 23399326c2 Fix up double slashes, tweak syntax 2016-06-30 12:56:29 -05:00
James Lee f7382f5b3b Make jobs display a full uri
Addresses the problem of LURI taking the place of URIPATH, which has
different semantics.

See #4623
2016-05-27 11:15:12 -05:00
James Lee 5921ac7b47 Add a spec and fix ReverseHttp#luri 2016-05-24 17:22:14 -05:00
dmaloney-r7 3b893cf740 Merge pull request #6581 from bcook-r7/uuidretry
don't send a response on invalid UUID, allow stagers to survive another day
2016-05-02 11:23:02 -05:00
wchen-r7 98f89ca23a Land #6794, Fixed yard doc errors 2016-04-21 13:16:45 -05:00
thao doan 5e36a3128c Fix #5197, Fixed yard doc errors
Fix #5197 Fixed issues that caused errors during yard doc generation
2016-04-21 13:06:00 -05:00
OJ 555352b210 Force lurl string duplication to avoid stageless issues
I have NO idea why this is even a problem. Mutating state is the spawn of satan.
2016-04-18 08:25:19 -05:00
OJ a74a7dde55 More fixies for LURI in Python, and native too 2016-04-18 08:25:19 -05:00