1
mirror of https://github.com/rapid7/metasploit-payloads synced 2025-03-18 15:14:10 +01:00

56 Commits

Author SHA1 Message Date
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
OJ
f8154f8e04
Finalise support for VS2013/VS2017/VS2019 & v120_xp/v141_xp
These changes allow us to build across multiple toolsets and VS
versions.
2020-04-21 08:10:42 +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
1aea69806a
Update sniffer SDK libs 2020-04-14 14:09:12 +10:00
OJ
100ffd6d5b
First round of VS2019 changes 2020-04-14 10:28:08 +10:00
OJ
3554aff9de
Remove SSL from all but the python extension
Re-implement MD5 and SHA1 file hashing using CSP.
2017-06-14 21:40:20 +10:00
Brent Cook
0a2d768e77 delete Linux meterpreter support 2017-05-14 02:11:57 -05:00
OJ
bd5ecc8acd Remove all debug builds from the Windows projects
The debug builds of Meterpreter compiled fine, but the resulting binaries were never functional. No debugging is really ever done with the debug builds anyway, so instead of carry them forward, this commit removes both `debug` and `r7_debug` from the source.
2015-11-03 11:05:42 +10:00
Brent Cook
dfd655a6f9
Adjust submodule and pssdk paths 2015-06-01 08:28:12 -05: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
Brent Cook
0d59fc7447 support building on newer Linux systems and Makefile cleanups
- try to share some bits between different makefiles, make modifying
   global compiler flags not such a huge pain.
 - directly specify we should be using the gold rather than bpf linker
 - make compiler output largely quiet except where we care - allow
   warnings to actually be visible
 - don't delete downloaded tarballs with --really-clean
 - add missing dependencies between libraries
   (--no-add-needed/--no-copy-dt-needed-entries causes lots of trouble)
 - update readme to show what to install to build

I made minimal changes to the loader makefile - it breaks easily.
 -Os prevents if from being able to load libc, for instance
2015-01-13 16:33:56 -06: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
35aada915f Fix debug build of various components
No idea why they were broken, but they shouldn't have been. This fixes
them up and tidies a few other things up, especially the guts of the
stdapi project.
2013-10-09 17:20:58 +10:00
OJ
1c07b8650b Remove unused sniffer config, add PssdkVersion setting
* Rather than having various places where the PSSDK path is set scattered
  through the solution I created a property which contains the version.
  This means we can update that version property in the project and it'll
  take effect everywhere it's required.
* Removed debug and release configurations from ext_server_sniffer.
2013-09-18 18:09:32 +10:00
James Lee
e031cc37f1 Land #19, add 'x86' to output filenames
Conflicts:
	workspace/ext_server_mimikatz/ext_server_mimikatz.vcxproj
	workspace/ext_server_sniffer/ext_server_sniffer.vcxproj
2013-09-16 23:56:52 -05:00
OJ
b442d17082 Change output file names
As per @jlee-r7's request I've changed the output of both 32 and 64 bit
components so that the platform is included in the file name.

I also added "make clean" to the make script.
2013-09-17 07:24:27 +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
87031e0d00 Work towards a clean build
* Various code fixes to keep the compiler warnings down.
* Adjustments to project files.
2013-09-03 16:49:09 +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
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
HD Moore
b59289ded7 Fix the include paths for new pssdk directory location
Conflicts:
	workspace/ext_server_sniffer/ext_server_sniffer.vcxproj
2013-04-01 13:32:06 -05:00
James Lee
bc69af44a3 Merge branch 'build/vcxproj-cleanup' 2013-04-01 13:21:40 -05:00
James Lee
60d4830707 Merge branch 'master' into rapid7 2013-04-01 13:06:55 -05:00
James Lee
da3a8052ec Fix CRLF to help smooth conflicts with rapid7/master 2013-04-01 13:06:50 -05:00
HD Moore
4e67f658ea Fix the include paths for new pssdk directory location 2013-03-31 14:47:14 -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
2e38ae917f Fix a few slashes 2013-03-25 15:21:17 -05:00
James Lee
7e32976039 Make everything inherit RuntimeLibrary
Corresponds to the /MD or /MT flag
2013-03-25 12:45:06 -05:00
James Lee
4f0fd9beac Add pssdk to the sniffer includes
pssdk source and libs must live in the same directory as the meterpreter
repo checkout.
2013-03-24 16:54:57 -05:00
James Lee
e004437a02 More Makefile clean up
You can now type 'make && make install' if your framework checkout is in
the same directory as meterpreter.
2013-03-19 17:10:13 -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
James Lee
46c1073bea Remove unnecessary -gstabs and fix a logic error
This drops the sniffer extension to a size of around 55k bytes.
2012-02-10 15:57:01 -07:00
James Lee
d493848e40 Add a 'debug' target for posix meterpreter build
This new target adds debugging symbols and doesn't strip binaries. New
bins are considerably bigger, but may be more helpful when diagnosing
problems or adding new features.

[Fixes #6343]
2012-02-10 15:57:01 -07:00
James Lee
3ded02ae3e Add -m32 to all the Makefiles
This is in an attempt to get it compilation working on 64-bit hosts.
2012-01-27 17:20:36 -07:00
James Lee
ff05a305da Force gcc to compile for i386
Makes meterpreter for linux work on older CPUs.

Fixes #6268
2012-01-23 15:20:36 -07:00
James Lee
808dd72cc5 meterpreter compiles on modern linux! see #2418
git-svn-id: file:///home/svn/framework3/trunk@13333 4d416f70-5f16-0410-b530-b9f4589650da
2011-07-25 07:59:51 +00:00
HD Moore
118d6b2bfb Merge in some recent meterpreter work, still a ways off before this is ready to use.
git-svn-id: file:///home/svn/framework3/trunk@13044 4d416f70-5f16-0410-b530-b9f4589650da
2011-06-28 05:57:36 +00:00