mirror of
https://github.com/rapid7/metasploit-payloads
synced 2025-03-24 18:16:24 +01:00
Add new libs and docs for the same.
This commit is contained in:
parent
8d46311f8a
commit
b0a0202956
@ -41,6 +41,17 @@ $ git submodule init && git submodule update
|
||||
At this point the dependencies will be ready to use and Meterpreter should be ready to
|
||||
build.
|
||||
|
||||
* [OpenSSL][openssl]
|
||||
|
||||
Occasionally, new versions of OpenSSL are released and need to be
|
||||
incorporated into the Meterpreter build. See the README under
|
||||
`source/openssl/lib` for build instructions. You will also need to
|
||||
refresh the header files from the source tarball as well. TODO: This
|
||||
entire process appears automatable given a proper build environment.
|
||||
|
||||
An example of updating OpenSSL is detailed in
|
||||
[Pull Request #86](https://github.com/rapid7/meterpreter/pull/86).
|
||||
|
||||
Running the Build
|
||||
-----------------
|
||||
|
||||
@ -190,3 +201,4 @@ Good luck!
|
||||
[framework]: https://github.com/rapid7/metasploit-framework
|
||||
[build_icon]: https://ci.metasploit.com/buildStatus/icon?job=MeterpreterWin
|
||||
[rdi]: https://github.com/rapid7/ReflectiveDLLInjection
|
||||
[openssl]: https://github.com/rapid7/meterpreter/tree/master/source/openssl
|
||||
|
108
c/meterpreter/source/openssl/lib/win/README.md
Normal file
108
c/meterpreter/source/openssl/lib/win/README.md
Normal file
@ -0,0 +1,108 @@
|
||||
# Build instructions for libeay32.lib and ssleay32.lib
|
||||
|
||||
These are the instructions for building static DLLs for OpenSSL for
|
||||
Windows. The procedure here assumes **0.9.8za**, released June 5, 2014.
|
||||
If this is not the correct version, it should be straightforward enough
|
||||
to replace all references **za** with whatever is current.
|
||||
|
||||
## Preparing the build environment
|
||||
|
||||
On a 64-bit build machine (Windows 7 64-bit will do nicely):
|
||||
|
||||
- Download openssl from https://openssl.org
|
||||
- Download ActiveState ActivePerl
|
||||
- Install ActivePerl
|
||||
- Download 7zip
|
||||
- Install 7zip
|
||||
- Download Visual Studio per Meterpreter instructions
|
||||
- Install Visiual Studio Express. Takes many clicks.
|
||||
- Extract source to C:\openssl-0.9.8za (whatever the correct version is)
|
||||
- Create C:\openssl-0.9.8za-bin
|
||||
- Create C:\openssl-0.9.8za-bin-64
|
||||
|
||||
- Open a Developer Command Prompt for VS2013 (from the Start menu)
|
||||
|
||||
## Compiling 32-Bit Binaries
|
||||
|
||||
- Get to the source directory:
|
||||
|
||||
````
|
||||
cd C:\openssl-0.9.8za
|
||||
````
|
||||
|
||||
- Start off with a clean slate:
|
||||
|
||||
````
|
||||
rmdir /s /q out32
|
||||
nmake -f ms\nt.mak clean
|
||||
````
|
||||
|
||||
- Configure for a Win32 build target and installation directory.
|
||||
|
||||
````
|
||||
perl Configure VC-WIN32 no-asm --prefix=C:\openssl-0.9.8za-bin
|
||||
ms\do_ms
|
||||
````
|
||||
|
||||
- Don't treat warnings as errors (because there are warnings). Edit
|
||||
`ms\nt.mak` `CFLAGS` with notepad, replacing `/W3 /WX` with `/W3 /WX-`
|
||||
(Hopefully, this step will not be required in future versions of
|
||||
OpenSSL).
|
||||
|
||||
- Compile:
|
||||
|
||||
````
|
||||
nmake -f ms\nt.mak
|
||||
````
|
||||
|
||||
Test your results.
|
||||
|
||||
````
|
||||
nmake -f ms\nt.mak test
|
||||
````
|
||||
|
||||
- See the "passed all tests" statement. Yay.
|
||||
|
||||
- Copy to the named install directory:
|
||||
|
||||
- nmake -f ms\nt.mak install
|
||||
|
||||
Now your libs are in openssl-0.9.8za-bin\lib . Hooray!
|
||||
|
||||
## Compiling 64-Bit binaries
|
||||
|
||||
The process is quite similar.
|
||||
|
||||
````
|
||||
cd C:/openssl-0.9.8za
|
||||
rmdir /s /q out32
|
||||
nmake -f ms\nt.mak clean
|
||||
perl Configure VC-WIN64A no-asm --prefix=C:\openssl-0.9.8za-bin-64
|
||||
ms\do_win64a
|
||||
nmake -f ms\nt.mak
|
||||
nmake -f ms\nt.mak test
|
||||
nmake -f ms\nt.mak install
|
||||
````
|
||||
|
||||
## Updating Meterpeter source
|
||||
|
||||
Copy the resulting binaries (easiest if your build environment is a
|
||||
Windows VM and your git checkout is either the host OS or another VM on
|
||||
the same host). They should end up in:
|
||||
|
||||
https://github.com/rapid7/meterpreter/tree/master/source/openssl/lib/win
|
||||
|
||||
and
|
||||
|
||||
https://github.com/rapid7/meterpreter/tree/master/source/openssl/lib/win/x64
|
||||
|
||||
## Build Meterpreter
|
||||
|
||||
Follow the instructions at:
|
||||
|
||||
https://github.com/rapid7/meterpreter/blob/master/README.md
|
||||
|
||||
## You're done!
|
||||
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
1. Install Windows SDK in order to get the x64 build enviroment.
|
||||
2. Install perl if not allready present.
|
||||
3. Download the latest stable openssl source.
|
||||
4. Remove the bufferoverflowu.lib references from the openssl make files as this lib is not shipped in new Win SDK.
|
||||
5. Open a Windows SDK command prompt (installed into the start menu)...
|
||||
|
||||
C:\Program Files\Microsoft SDKs\Windows\v6.1>SetEnv /Release /x64
|
||||
C:\Program Files\Microsoft SDKs\Windows\v6.1>cd c:\openssl-0.9.8k
|
||||
C:\openssl-0.9.8k>perl Configure VC-WIN64A
|
||||
C:\openssl-0.9.8k>ms\do_win64a
|
||||
C:\openssl-0.9.8k>nmake -f ms\nt.mak
|
||||
C:\openssl-0.9.8k>cd out32
|
||||
C:\openssl-0.9.8k\out32dll>copy /b ssleay32.lib c:\msf3\external\source\meterpreter\source\openssl\lib\win\x64\
|
||||
C:\openssl-0.9.8k\out32dll>copy /b libeay32.lib c:\msf3\external\source\meterpreter\source\openssl\lib\win\x64\
|
||||
|
||||
6. If the include file need to be updated copy them over.
|
Loading…
x
Reference in New Issue
Block a user