1
mirror of https://github.com/rapid7/metasploit-payloads synced 2025-02-22 03:19:04 +01:00

34 Commits

Author SHA1 Message Date
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
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
74c9c79892
Enable multie-CPU builds
Added /MP for parallel builds, and removed precompiled headers as /Yc
isn't compat with /MP.

Not enabled for the Powershell extension because of it's .NET-ness.
2020-04-16 15:30:17 +10:00
OJ
100ffd6d5b
First round of VS2019 changes 2020-04-14 10:28:08 +10:00
Brent Cook
9a71a575b7 use OpenSSL with Windows builds for now
LibreSSL does not yet work well with Windows meterpreter for 2 reasons:
  1. because its built with mingw/gcc, it does not have SAFESEH, requiring that
	 protection to be disabled for the whole stack. It could, it just needs a
	 way to be built with MSVS instead.
  2. OpenSSL 1.0.1 and Libressl both make metsrv about 50% larger.

When transports are more abstracted and LibreSSL can build with MSVS, we will
revisit this.
2015-03-25 09:12:11 -05:00
Brent Cook
4ec9205eb0 update openssl refs 2015-03-24 10:56:33 -05:00
OJ
aaa384b51d Remove compiler warning, set warnings as errors 2015-03-13 20:47:30 +10:00
OJ
c6bdc26a55 Update Meterpreter to use the RDI submodule 2013-11-27 14:01:45 +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
7702724fd2 Remove all warnings resulting in totally clean builds
Does as it says on the tin. Various tweaks made to source and to project
files to make the builds come out with ZERO warnings.

Let's keep it clean from here!
2013-11-06 19:02:50 +10:00
OJ
288b2bad41 Upgrade to VS 2013 2013-10-29 13:46:46 +10:00
OJ
73c3a2cfcd Support Rapid7 internal builds, fix sniffer ext
* r7_debug and r7_release configurations added.
* Make now detects if the appropriate libraries are on disk and will build
  whatever it can. If PSSDK is present in the appropriate location then it
  will attempt to build ext_server_sniffer.
* ext_server_sniffer is now buildable with VS 2012 with all the settings
  correct.
* ext_server_sniffer was failing to load once built. The cause of this was
  that the hMetSrv handle wasn't being set to a valid value prior to the
  command_register calls happening, it was being set too late. I'm not
  sure why this results in a crash, but moving this one call to a location
  prior to the command_register calls does resolve that problem.
2013-09-15 00:00:20 +10:00
OJ
fbb84f4718 Basic command line builds 2013-09-03 22:31:38 +10:00
OJ
30928305e9 Fix project platform settings
* Make all the debug builds use /MTd instead of /MT.
* Make all builds use v110_xp for the platform (allows XP support).
2013-09-02 10:28:21 +10:00
OJ
5c5e95eb73 Upgrade from VS2010 to VS 2012
* Perform the upgrade of the projects using the VS wizard.
* Exclude the ext_server_pivot project for now as it doesn't exist on
  disk.

Note: this changeset will not compile.
2013-09-02 09:49:50 +10:00
James Lee
bdf7ae3acd Make the Debug config work
Also changes the output filename for most projects to make x86 match
x64, e.g. ext_server_stdapi.x86.dll
2013-04-03 13:33:04 -05:00
James Lee
eff9e9a558 omg crlf 2013-04-01 15:25:36 -05:00
James Lee
b3f9cd0d18 Merge branch 'master' into omfg-crlf
Conflicts:
	workspace/ext_server_incognito/ext_server_incognito.vcxproj
2013-04-01 15:24:03 -05:00
James Lee
e3b74bcfe7 omg crlf 2013-04-01 15:22:28 -05:00
James Lee
0e80fe7e24 Add platform toolset
I hope this doesn't break other versions of Visual Studio
2013-04-01 15:06:20 -05:00
James Lee
925051af89 Standardize on config/platform for output dir 2013-04-01 15:04:35 -05:00
James Lee
3b2880bf4e Statically link libc for all configs 2013-03-29 15:08:16 -05:00
James Lee
238d992ef7 DRY up some vcxproj cruft
Changes the output directory for all the projects to be dependent on the
target platform (which is really the architecture, but that's a story
for another time).

Also makes all the vcxproj files use variables for the output directory so
changing it isn't so painful next time.
2013-03-27 18:02:05 -05:00
James Lee
0587335279 Slashes to whacks 2013-03-27 15:00:16 -05:00
James Lee
7283131279 Initial source import from metasploit-framework 2012-11-19 16:46:07 -06:00
jlee-r7
964bae0c49 Initial commit 2012-11-19 14:40:03 -08:00
HD Moore
7faaa653ba Update project 2012-06-24 14:03:57 -05:00
HD Moore
8a1193cef1 Add missing project files 2012-06-24 14:03:54 -05:00
Stephen Fewer
95f43bf9c2 Delete the railgun meterpreter extension and add railgun support directly into stdapi. Support now includes Windows x64. Update meterpreter packet core to handle QWORD TLV's.
git-svn-id: file:///home/svn/framework3/trunk@10317 4d416f70-5f16-0410-b530-b9f4589650da
2010-09-14 23:21:36 +00:00
Stephen Fewer
3c9eb16fe0 Replace the use of Critical Sections for locking with Mutex's (thread.c). This appears to resolve a deadlock issue with OpenSSL on some Windows systems. This commit resolves a bug in interactive processes where an interactive waiter thread will chew cpu due to a tight loop introduced by anonymous pipes not blocking (process.c). Dynamic lock creation for OpenSSL has been re-enabled should a future version of OpenSSL require it, AFAIK the current version used, v0.8.9, does not use dynamic lock creation (server_setup.c). Channels have been given locks to help synchronize concurrent access to a single channel.
git-svn-id: file:///home/svn/framework3/trunk@7732 4d416f70-5f16-0410-b530-b9f4589650da
2009-12-07 13:04:41 +00:00
Stephen Fewer
96bf84163d Commit the source code for the cross compilable reflective dll injection module. Some minor modifications to the stdapi extension were also required. All the projects (.vcproj) now have an x64 debug/release target as well as an x86 counterpart.
git-svn-id: file:///home/svn/framework3/trunk@7000 4d416f70-5f16-0410-b530-b9f4589650da
2009-09-04 01:53:58 +00:00
HD Moore
81e434af80 Updated VC++ project files to fix the directory paths/includes for OpenSSL
git-svn-id: file:///home/svn/framework3/trunk@6774 4d416f70-5f16-0410-b530-b9f4589650da
2009-07-13 03:14:20 +00:00
HD Moore
d6f629ad19 Source code and VS project changes for cleaner build and new keyboard logging code
git-svn-id: file:///home/svn/framework3/trunk@6374 4d416f70-5f16-0410-b530-b9f4589650da
2009-03-23 05:26:11 +00:00
HD Moore
fa51ea5d15 Swapping in the latest patched copy of Meterpreter. See #275
git-svn-id: file:///home/svn/framework3/trunk@6357 4d416f70-5f16-0410-b530-b9f4589650da
2009-03-22 18:56:28 +00:00