1
mirror of https://github.com/rapid7/metasploit-payloads synced 2025-04-24 10:09:49 +02:00

368 Commits

Author SHA1 Message Date
OJ
fdb785dcee
Few more build fix ups and removal of warnings 2020-06-25 10:30:53 +10:00
OJ
effe6b9827
Lots of changes + stdapi support 2020-06-25 10:30:49 +10:00
OJ
aa3b58628f
Get rid of the clang noise 2020-06-25 10:29:51 +10:00
OJ
c9ca614313
Remove DLL exports from Meterpreter
Add support for loading RDI-related stuff using ordinals instead of
function names. Remove exports from the extensions/etc. This is another
step in the direction to make the DLLs less obvious.

Extensions no longer have their own name in the library metadata.
They're all "extension.dll". Metsrv is now "server.dll" and the two
non-extensions are "plugin.dll". I was going for something a little less
obvious.

This required changes to the RDI functionality.
2020-06-22 08:25:30 +10:00
OJ
6419fa9e40
Fix buffer meta type values, typos and function calls 2020-06-09 10:57:44 +10:00
OJ
3f574e3521
Implement extendion IDs and refactor command enum
Enumeration of commands was a bit of a hack, and still resultsed in
strings (like "stdapi") to appear in binaries, and also meant that
extensions needed to identify themselves.

This code changes the way this works. Extensions no longer have a name.
Instead they have an internal ID tha maps to the command sets they
support. To enumerate extension commands, MSF will ask for a range of
commands, and if any command IDs fit within that range, they'll be
returned.

This moves us towards a nicer way of handling things across all the
meterpreters.
2020-05-01 15:36:07 +10:00
OJ
c7f7bc2fc0
Remove method strings from TLV packets
We now use ints, and hopefully this means we don't have as much obvious
stuff in the binaries!

```
$ # Before:
$ strings metsrv.x86.dll | grep core_ | wc -l
46
$ # After:
$ strings metsrv.x86.dll | grep core_ | wc -l
0
```
Big win, and it's even bigger for the likes of stdapi.

Had to fix a bunch of other stuff along the way, including a subtle
issue with the Powershell Meterp bindings.
2020-04-28 23:41:06 +10:00
OJ
3dbff1e401
Clean and working builds with CMake 2020-04-24 13:31:34 +10:00
OJ
0e9a231e8a
First pass of CMake support (MSVC specific ATM)
This commit includes a bunch of changes that are working towards being
able to build the Meterpreter source from CMake. Changes include:

* Updated `make.bat` which does the stuff that we need.
* Removed a bunch of stuff from the python extension source tree so that
  CMake generator would not include them.
* Moved a few things around in the priv extension.
* Created `CMakeFileLists.txt` for all the projects.

There are a few hacks required in things like stdapi and kiwi to ignore
files that are on disk but shouldn't be included in the build.

Initial testing indicates that sessions run, extensions load, but some
things don't work as intended. It's a start! Still much to do.
2020-04-24 13:31:16 +10:00
OJ
136a58a194
Clean comments & update winpmem to avoid delay loading
Also, added the "GetExtensionName" functions to winpmum and unhook
2020-04-22 13:06:46 +10:00
OJ
9ca881235e
Change unhook extension to remove delay loading of metsrv 2020-04-22 13:06:46 +10:00
OJ
4ffe127f04
Begin removing the delay-load dependency
The 'common' library has been removed. The only project that actually
used it was metsrv, so the code that metsrv required from common is now
directly compiled in as part of that project.

The common folder now contains files that are importanta cross all of
the projects, with a primary focus on the new "API" style function. What
this means is that MetSrv has an API that it exposes through a function
pointer that is passed to the extension when it's initialised. This
pointer references a structure with all the API functions wired in. This
means that:

* Extensions don't need to know anything about metsrv at compile time.
* The delay loading code can be removed, which was one of the last
  instances of "metsrv.dll" as a string.
* Metsrv.dll no longer exports any functions.

More to come.
2020-04-22 13:06:40 +10:00
OJ
23b7a7b9ad
Finalise support for building on all the toolsets. 2020-04-21 09:37:11 +10:00
Brent Cook
2e9943af8d
Land , enhance Windows extapi support for window enumeration
Merge remote-tracking branch 'upstream/pr/385' into upstream-master
2020-04-08 06:04:41 -05:00
cn-kali-team
6d7740cc72 Process Unicode support 2020-04-05 11:53:22 +08:00
cn-kali-team
451a094269 Process Unicode support 2020-04-05 11:53:16 +08:00
cn-kali-team
25f770dcb3 Process Unicode support 2020-04-05 11:53:06 +08:00
cn-kali-team
a8df9b3604 Process Unicode support 2020-04-05 11:52:08 +08:00
bwatters
903620268f
Land , Reducing permissions requested for sys_steal_token
Merge branch 'land-377' into upstream-master
2020-04-02 08:37:42 -05:00
Spencer McIntyre
03ddbd773e Send addrinfo when opening a channel in Windows 2020-02-24 18:40:12 -05:00
Justin Bui
bad3ef7df4
Update config.c
Reduced permissions from ALL_ACCESS to the minimum access needed.
2020-02-12 20:18:18 -08:00
Francesco Soncina
b35cc0ac70
add support for PPID spoofing
fix 
2019-12-17 00:57:49 +01:00
bwatters
f6808dde30
Land , add windows keyevent api
Merge branch 'land-352' into upstream-master
2019-09-03 16:39:51 -05:00
Tim W
6253af16c8 use MapVirtualKey 2019-07-31 13:16:28 +08:00
bwatters
db171fb83a
Those should be usigned ints, not unsigned longs. 2019-07-23 10:21:21 -05:00
bwatters
509c1936a3
Update OS names to be more generic in kernel versions 10.0.x 2019-07-23 08:17:06 -05:00
Tim W
d95d827c8e add windows mouse doubleclick 2019-06-20 15:26:07 +08:00
Tim W
ab53c872fa fix windows move and click 2019-06-19 12:42:11 +08:00
Tim W
a29110ca5c add windows keyevent api 2019-06-17 12:36:55 +08:00
Tim W
48171ecc48 fix crash in keyboard_send on windows 2019-05-31 06:55:02 +08:00
Tim W
16213667b7 add mouse api for windows 2019-05-13 02:32:27 +08:00
Tim W
35d908b6bf add send_keys api for windows 2019-05-13 02:31:44 +08:00
Brent Cook
7e2181700a update stat struct sizes 2019-02-06 17:51:21 -06:00
Tim W
783c52e118 fix windows meterpreter ls of 4gb files 2019-01-03 13:51:39 +08:00
Brent Cook
3762aa1568
Land , add REG_MULTI_SZ read support 2018-12-21 16:10:14 -06:00
Green-m
108081e1da Handle REG_MULTI_SZ correctly. 2018-11-29 15:36:40 +08:00
Green-m
e2029e2342
Handle more strings in one line. 2018-11-22 15:25:45 +08:00
4ntonch3
c04408081a
Update search.c
DWORD dwResult = ERROR_ACCESS_DENIED; -> DWORD dwResult; (in functions search_all_drivers, request_fs_search)
Comments in function request_fs_search were deleted
2018-11-15 15:27:03 +03:00
4ntonch3
1bc4a4902c
Add files via upload 2018-11-13 19:51:23 +03:00
Green-m
f779b809fa
Fix issue about REG_MULTI_SZ. 2018-11-05 16:07:34 +08:00
Tim W
1e97ef7c90 fix playing of > 8MB wavs 2018-07-15 02:39:19 +08:00
Tim W
01d8aacc0f audio output for windows 2018-07-14 23:40:34 +08:00
Brent Cook
a8eebd18f2 remove read-only attribute on delete 2018-01-16 10:16:03 -06:00
Brent Cook
d4e403980c
Land , use utf8 for user and domain names 2017-11-29 05:37:32 -06:00
Brent Cook
fcf69bb7ca pass file-not-found and other errors back to the caller 2017-11-29 05:30:53 -06:00
scriptjunkie
0b89ea3e37 Support non-ascii environment variables 2017-11-21 16:22:51 -06:00
scriptjunkie
936272b59d Encode name characters 2017-11-21 15:59:56 -06:00
Artem
22235e228b
Update fs_win.c
Fix Error Open File VS2017 and Add Delete not empty Folder
2017-11-02 03:43:21 +03:00
OJ
c6eebdf72b
Properly fix half-baked changes to getprivs
This was left over code from me trying to do some fixes to getprivs
which didn't make sense in the middle of the packet pivot work. This was
left over by me as a result of my half-baked revert. This caused issues
with both the `getprivs` and `getsystem` command. I'm pretty sure that
as a result of breaking the latter, I will never live down the "make
getsystem great again" meme.
2017-09-27 16:30:18 +10:00
Tim
c61c565918 fix record_mic TLV values 2017-09-11 10:53:15 +08:00