1
mirror of https://github.com/rapid7/metasploit-payloads synced 2025-06-09 12:03:41 +02:00

762 Commits

Author SHA1 Message Date
James Lee
7260569bd1 Land , command overloads 2014-01-02 16:57:59 -06:00
James Lee
842cd54d30 Remove the lie introduced by 2013-12-30 20:37:38 -06:00
OJ
445df8ad36 Merge branch 'upstream/master' into command_req_update
Conflicts:
	source/ReflectiveDLLInjection
2013-12-21 13:31:28 +10:00
OJ
015c92ddf6 Merge branch 'master' into basic_asdi_support
Conflicts:
	source/ReflectiveDLLInjection
2013-12-20 10:36:48 +10:00
OJ
22ae01fb50 Fix indenting problem 2013-12-20 08:18:56 +10:00
Meatballs
0f4f470761 Land Reflective DLL Submodule
Conflicts:
	source/ReflectiveDLLInjection
2013-12-19 21:00:20 +00:00
OJ
dffcb3ab4f Fix page size and max results 2013-12-11 01:02:06 +11:00
OJ
b7f1c2c538 Add support for page size 2013-12-09 00:30:08 +11:00
OJ
ad86ac5b5c Fix handling of numerics 2013-12-08 20:58:25 +10:00
OJ
4e01c9ef98 Refactor into generic query
Querying is now generic so that more flexibility is made available to
the attacker.
2013-12-08 20:30:51 +10:00
OJ
3ba9b0549b Small code refactor 2013-12-08 14:47:52 +10:00
OJ
7b19766f3c Add support for computer and user enum via ADSI 2013-12-07 00:15:19 +10:00
James Lee
7c69813215 Land , bad conditional 2013-12-02 10:02:49 -06:00
OJ
1a3368035f Merge branch 'master' into command_req_update
Conflicts:
	source/extensions/stdapi/server/stdapi.c
2013-11-28 21:26:21 +10:00
James Lee
911aa47275 Land , getenv 2013-11-26 23:28:23 -06:00
OJ
71c864cc11 Update bare extension template to use RDI submodule 2013-11-27 14:15:48 +10:00
OJ
c6bdc26a55 Update Meterpreter to use the RDI submodule 2013-11-27 14:01:45 +10:00
OJ
5280bb7b06 Remove RDI from the source
Also move the delay loading code to another location as this isn't part of
the RDI source, but was included there beforehand.
2013-11-27 12:52:17 +10:00
OJ
550da5946e Merge branch 'upstream/master' into command_req_update
A few minor issues around formatting collisions, nothing huge.
.gitignore fixes too

Conflicts:
	source/common/base_dispatch_common.c
	source/extensions/stdapi/server/stdapi.c
2013-11-27 06:51:12 +10:00
OJ
7f2bdf0215 Add a couple more VS things to .gitignore 2013-11-27 06:37:38 +10:00
OJ
df82feedac Add support for getting environment variable values
This is a new command in the stdapi which allows the caller to pass in a set of
environment variable names and retrieve a hash of the names and values.
2013-11-26 09:37:56 +10:00
OJ
8090a6393e Fix migrate exit condition
I felt into the C progrmmer's trap of accidentally using `=` instead of `==`. This is
not good. Good catch @jlee-r7.

This commit fixes this, swaps the values around and tidies up code a bit.
2013-11-26 07:07:26 +10:00
OJ
31fdf23f7b Comment fixes 2013-11-26 06:56:34 +10:00
OJ
9f4a66ba8a Fix small issue with return results 2013-11-25 16:28:47 +10:00
OJ
db764771a2 Add check_key_exists registry function
MSF side has been attempting to open keys to see if they exist, which isn't
fantastic as it results in an error. This change adds a function which indicates
to the caller if the given reg key exists.
2013-11-25 16:17:32 +10:00
OJ
6d68699012 Add basic clipboard monitor plumbing 2013-11-22 13:28:14 +10:00
OJ
ce9c5713fa Set warnings as errors on extapi 2013-11-22 13:27:57 +10:00
OJ
79ac562f9f Added stops for monitoring
Small commit to save interim work, way more to come.
2013-11-22 13:27:43 +10:00
OJ
5812d59059 Fix meterpreter not shutting down properly
The work that was done a while back to fix up command dispatching allowed
inline commands to run so that the server could be told to shutdown. Those
commands that want the server to terminate (such as migrate and shutdown)
should have returned `FALSE` instead of `TRUE` to tell the server thread to
stop.

I have no idea why those values were incorrect, but it's my work so it's
definitely my fault. I will have to sick back and lick my wounds for a while.
I hate it when I'm stupid.

Thanks to Kevin Mitnick for the bug, and @todb-r7 for the investigating the
history.

Redmine: [FixRM ]
2013-11-22 12:38:50 +10:00
OJ
c947f9d1f6 Add more documnetation, tidying
More of the usual, added during investigations.
2013-11-22 12:22:48 +10:00
OJ
f3eaadd184 Change POSIX macros to avoid exit and abort
I found that the BREAK_* macros behaved differently on POSIX and in
some cases this was causing a brutal exit of POSIX meterpteter in
cases where it should just gracefully fail.

After talking to egypt, we decided to use `break` statements instead
given that's how it should function.
2013-11-22 09:07:05 +10:00
OJ
0864ef2e34 Fix incorrect error usage and bind issue
During the call which establishes a TCP client channel, the call
to `connect` can sometimes fail if the settings that are used are
incorrect (such as an invalid port number). When this call fails
the result was being set to `GetLastError()`, which isn't correct.

On Windows it should be `WSAGetLastError()` and on POSIX the `errno`
value should be used instead. This wasnt causing issues on Windows
but on POSIX it was causing problems because the `GetLastError()`
call was returning zero, which was returned to the function that
invokes `create_tcp_client_channel()`.

Given that `ERROR_SUCCESS` == 0, the caller believed the function
had completed successfully and hence relied on context being set up
correctly. This was resulting crashes because this obviously wasn't
the case.

I also added a code chance which makes meterpreter attempt to bind
to `0.0.0.0` if binding to the specified address fails.
2013-11-22 09:02:06 +10:00
James Lee
3fd2153027 Land , extapi 2013-11-21 11:35:26 -06:00
OJ
48f9ae5116 Fix commands to properly invoke base and extensions
In previous work done during the command refactor the mechanism for overriding
commands changed such that it wasn't invoking commands if they were overriden
by an extension. This, it would appear, broke some stuff. Badly.

This commit fixes this issue by reinstating the way things were done before.
If a base command exists, it is always executed. If an extension also exists
which overrides this command then the base command result is ignored, the
extension command is executed, and the result of that command is returned.
2013-11-21 13:40:54 +10:00
OJ
5a1d5bbbe9 Set "warnings as errors"
Now that the build is clean, warnings are now errors to keep it clean.
2013-11-20 11:35:43 +10:00
OJ
d781fde35c Bring POSIX stuff up to date with correct commands
Fix issue where the correct macros weren't being used for
command declarations.
2013-11-20 09:32:58 +10:00
OJ
ad6a0f33ad Code fixes and tidies
Fixed up the cusom command declarations in the sniffer extension so
that they're using the new macros. I don't know how they were missed.

Various bits of tidying up, while trying to sort out the sniffer prob.
2013-11-19 06:51:35 +10:00
Tod Beardsley
b309e30a9f Land , be cool about pssdk being missing 2013-11-14 12:35:58 -06:00
Tod Beardsley
93ab2412f1 Be more explicit about why this is okay.
Also get rid of the quotes, windows ECHO don't care.
2013-11-14 12:23:07 -06:00
jvazquez-r7
a1130e76e1 Land @OJ's fix for something which recover clean builds 2013-11-14 09:02:44 -06:00
jvazquez-r7
fb7a00ec35 Land , @OJ deletion of kitrap0d from getsystem 2013-11-14 08:41:31 -06:00
OJ
8ef0a425f1 Make builds 100% clean 2013-11-14 19:45:09 +10:00
OJ
35fad79cf0 Merge branch 'warning_removal' into ext_server_extapi 2013-11-14 19:34:44 +10:00
OJ
70d958b729 Remove last of the warnings/errors after merging 2013-11-14 19:33:20 +10:00
OJ
1c09ac08d5 Merge branch 'master' into warning_removal 2013-11-14 19:20:27 +10:00
James Lee
572af2c761 Land, doc updates 2013-11-14 02:57:16 -06:00
James Lee
454e56adb3 Land , fix webcam crashes 2013-11-14 02:50:28 -06:00
James Lee
b391792bd1 Land , scheduler and channel refactor 2013-11-14 01:04:45 -06:00
kernelsmith
3662795176 fix typo in comment 2013-11-14 10:23:42 +09:00
OJ
f5090d6697 Fix POSIX crash on unsupported command and channel term
Crashes were occuring when the underlying channel had no more output
because the value of the `bytesRead` variable was not set to zero.
Consumers of the function assumed that bytesRead was value if non-zero.

POSIX would also hang when unsupported commands are executed, this
commit changes this so that a response is returned when the command
isn't supported.
2013-11-13 14:05:08 +10:00