mirror of
https://github.com/rapid7/metasploit-payloads
synced 2025-03-24 18:16:24 +01:00
Final pass of working stuff for the day
This commit is contained in:
parent
98598720c9
commit
b55b186e79
@ -1,3 +1,4 @@
|
||||
ID := $(shell id -u)
|
||||
all: meterpreter
|
||||
|
||||
clean: meterpreter-x64-clean
|
||||
@ -8,10 +9,10 @@ meterpreter: meterpreter-x86 meterpreter-x64
|
||||
meterpreter-x86: meterpreter-x86-gen meterpreter-x86-build
|
||||
|
||||
meterpreter-x86-gen:
|
||||
cmake -S workspace -B workspace/build/mingw-x86 -Wno-dev -DBUILD_SNIFFER=NO -DBUILD_ARCH=Win32 -DUSE_STATIC_MSVC_RUNTIMES=ON -DCMAKE_TOOLCHAIN_FILE=i686-w64-mingw32.cmake -DDBGTRACE=ON
|
||||
@cmake -S workspace -B workspace/build/mingw-x86 -Wno-dev -DBUILD_SNIFFER=NO -DBUILD_ARCH=Win32 -DUSE_STATIC_MSVC_RUNTIMES=ON -DCMAKE_TOOLCHAIN_FILE=i686-w64-mingw32.cmake -DDBGTRACE=ON
|
||||
|
||||
meterpreter-x86-build:
|
||||
cmake --build workspace/build/mingw-x86 --config Release
|
||||
@cmake --build workspace/build/mingw-x86 --config Release
|
||||
|
||||
meterpreter-x86-clean:
|
||||
@rm -rf workspace/build/mingw-x86
|
||||
@ -19,13 +20,25 @@ meterpreter-x86-clean:
|
||||
meterpreter-x64: meterpreter-x64-gen meterpreter-x64-build
|
||||
|
||||
meterpreter-x64-gen:
|
||||
cmake -S workspace -B workspace/build/mingw-x64 -Wno-dev -DBUILD_SNIFFER=NO -DBUILD_ARCH=x64 -DUSE_STATIC_MSVC_RUNTIMES=ON -DCMAKE_TOOLCHAIN_FILE=x86_64-w64-mingw32.cmake -DDBGTRACE=ON
|
||||
@cmake -S workspace -B workspace/build/mingw-x64 -Wno-dev -DBUILD_SNIFFER=NO -DBUILD_ARCH=x64 -DUSE_STATIC_MSVC_RUNTIMES=ON -DCMAKE_TOOLCHAIN_FILE=x86_64-w64-mingw32.cmake -DDBGTRACE=ON
|
||||
|
||||
meterpreter-x64-build:
|
||||
cmake --build workspace/build/mingw-x64 --config Release
|
||||
@cmake --build workspace/build/mingw-x64 --config Release
|
||||
|
||||
meterpreter-x64-clean:
|
||||
@rm -rf workspace/build/mingw-x64
|
||||
|
||||
install:
|
||||
@cp output/*.dll ../../../metasploit-framework/data/meterpreter
|
||||
|
||||
docker:
|
||||
@docker run -u $(ID):$(ID) -it -v ${PWD}:/meterpreter -w /meterpreter --rm meterpreter-build make
|
||||
|
||||
docker-shell:
|
||||
@docker run -u $(ID):$(ID) -it -v ${PWD}:/meterpreter -w /meterpreter --rm meterpreter-build bash
|
||||
|
||||
docker-x64:
|
||||
@docker run -u $(ID):$(ID) -it -v ${PWD}:/meterpreter -w /meterpreter --rm meterpreter-build make meterpreter-x64
|
||||
|
||||
docker-x86:
|
||||
@docker run -u $(ID):$(ID) -it -v ${PWD}:/meterpreter -w /meterpreter --rm meterpreter-build make meterpreter-x86
|
||||
|
@ -781,23 +781,10 @@ int WinPmem::uninstall_driver()
|
||||
char *store_metadata_(struct PmemMemoryInfo *info)
|
||||
{
|
||||
SYSTEM_INFO sys_info;
|
||||
struct tm newtime;
|
||||
__time32_t aclock;
|
||||
|
||||
char time_buffer[32];
|
||||
errno_t errNum;
|
||||
char *arch = NULL;
|
||||
|
||||
_time32(&aclock); // Get time in seconds.
|
||||
_gmtime32_s(&newtime, &aclock); // Convert time to struct tm form.
|
||||
|
||||
// Print local time as a string.
|
||||
errNum = asctime_s(time_buffer, 32, &newtime);
|
||||
if (errNum)
|
||||
{
|
||||
time_buffer[0] = 0;
|
||||
}
|
||||
|
||||
// Get basic architecture information (Note that we always write ELF64 core
|
||||
// dumps - even on 32 bit platforms).
|
||||
ZeroMemory(&sys_info, sizeof(sys_info));
|
||||
@ -823,14 +810,12 @@ char *store_metadata_(struct PmemMemoryInfo *info)
|
||||
"# PMEM\n"
|
||||
"---\n" // The start of the YAML file.
|
||||
"acquisition_tool: 'WinPMEM " PMEM_VERSION "'\n"
|
||||
"acquisition_timestamp: %s\n"
|
||||
"CR3: %#llx\n"
|
||||
"NtBuildNumber: %#llx\n"
|
||||
"NtBuildNumberAddr: %#llx\n"
|
||||
"KernBase: %#llx\n"
|
||||
"Arch: %s\n"
|
||||
"...\n", // This is the end of a YAML file.
|
||||
time_buffer,
|
||||
info->CR3.QuadPart,
|
||||
info->NtBuildNumber.QuadPart,
|
||||
info->NtBuildNumberAddr.QuadPart,
|
||||
|
@ -6,7 +6,7 @@ if(MSVC)
|
||||
cmake_policy(SET CMP0091 NEW)
|
||||
endif()
|
||||
|
||||
project(${PROJECT_NAME} C CXX)
|
||||
project(${PROJECT_NAME} C)
|
||||
|
||||
option(DBGTRACE "Enable debug tracing" OFF)
|
||||
option(DBGTRACE_VERBOSE "Enable verbose debug tracing" OFF)
|
||||
@ -106,6 +106,7 @@ set(
|
||||
ext_server_incognito
|
||||
ext_server_unhook
|
||||
ext_server_winpmem
|
||||
ext_server_lanattacks
|
||||
)
|
||||
|
||||
if(MSVC)
|
||||
@ -113,7 +114,6 @@ if(MSVC)
|
||||
MET_EXTENSIONS
|
||||
${MET_EXTENSIONS}
|
||||
ext_server_extapi
|
||||
ext_server_lanattacks
|
||||
ext_server_peinjector
|
||||
ext_server_mimikatz
|
||||
ext_server_powershell
|
||||
|
@ -1,6 +1,6 @@
|
||||
set(PROJECT_NAME ext_server_lanattacks)
|
||||
|
||||
project(${PROJECT_NAME} C)
|
||||
project(${PROJECT_NAME} C CXX)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeListsFuncs.txt)
|
||||
|
||||
@ -10,11 +10,13 @@ add_definitions(
|
||||
-D_UNICODE
|
||||
)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
|
||||
if(MSVC)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
|
||||
endif()
|
||||
|
||||
include_directories(../../source/common)
|
||||
include_directories(../../source/ReflectiveDllInjection/common)
|
||||
include_directories(../../source/ReflectiveDLLInjection/common)
|
||||
|
||||
set(SRC_DIR ../../source/extensions/lanattacks)
|
||||
file(GLOB SRC_FILES
|
||||
@ -24,12 +26,21 @@ file(GLOB SRC_FILES
|
||||
)
|
||||
add_library(${PROJECT_NAME} SHARED ${SRC_FILES})
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}.${TARGET_ARCH})
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/DEF:\"${MOD_DEF_DIR}/extension.def\"")
|
||||
set_source_files_properties(${MOD_DEF_DIR}/extension.def PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
if(MSVC)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/DEF:\"${MOD_DEF_DIR}/extension.def\"")
|
||||
set_source_files_properties(${MOD_DEF_DIR}/extension.def PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
endif()
|
||||
|
||||
set(LINK_LIBS
|
||||
netapi32
|
||||
mpr
|
||||
ws2_32
|
||||
)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} ${LINK_LIBS})
|
||||
if(MSVC)
|
||||
target_link_options(${PROJECT_NAME} PUBLIC "/ignore:4070")
|
||||
else()
|
||||
endif()
|
||||
|
||||
# Post processing (required for all Meterpreter DLLs)
|
||||
|
@ -11,6 +11,7 @@ add_definitions(
|
||||
)
|
||||
|
||||
if(MSVC)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
|
||||
endif()
|
||||
|
||||
@ -20,7 +21,7 @@ include_directories(../../source/ReflectiveDLLInjection/common)
|
||||
set(SRC_DIR ../../source/extensions/winpmem)
|
||||
file(GLOB SRC_FILES
|
||||
${SRC_DIR}/*.cpp
|
||||
${SRC_DIR}/extension.def
|
||||
${MOD_DEF_DIR}/extension.def
|
||||
)
|
||||
|
||||
if(MSVC)
|
||||
@ -34,10 +35,14 @@ set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}.${T
|
||||
if(MSVC)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/DEF:\"${MOD_DEF_DIR}/extension.def\"")
|
||||
set_source_files_properties(${MOD_DEF_DIR}/extension.def PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
else()
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE "CXX")
|
||||
endif()
|
||||
|
||||
set(LINK_LIBS
|
||||
netapi32
|
||||
mpr
|
||||
ws2_32
|
||||
)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} ${LINK_LIBS})
|
||||
if(MSVC)
|
||||
target_link_options(${PROJECT_NAME} PUBLIC "/ignore:4070")
|
||||
|
@ -1,7 +1,7 @@
|
||||
# To build the dev environment.
|
||||
# docker build -t rapid7/build:meterpreter .
|
||||
|
||||
FROM ubuntu:14.04.5
|
||||
FROM ubuntu:focal
|
||||
MAINTAINER Brent Cook <bcook@rapid7.com> (@busterbcook)
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
@ -11,15 +11,19 @@ RUN apt-get update && \
|
||||
apt-get dist-upgrade -y && \
|
||||
apt-get -y install software-properties-common && \
|
||||
dpkg --add-architecture i386 && \
|
||||
apt-add-repository ppa:ubuntu-wine && \
|
||||
apt-get update && \
|
||||
apt-get -y install \
|
||||
wine php5-cli python python3 \
|
||||
bison flex gcc gcc-multilib jam make wget \
|
||||
ruby rake bundler git \
|
||||
maven openjdk-7-jdk && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
apt-get update
|
||||
RUN apt-get -y install bison flex gcc gcc-multilib jam make wget
|
||||
RUN apt-get -y install ruby rake bundler git
|
||||
RUN apt-get -y install mingw-w64-x86-64-dev mingw-w64-i686-dev
|
||||
RUN apt-get -y install g++-mingw-w64-i686 g++-mingw-w64-x86-64
|
||||
RUN apt-get -y install gcc-mingw-w64-i686 gcc-mingw-w64-x86-64
|
||||
RUN apt-get -y install cmake
|
||||
RUN apt-get -y install maven
|
||||
RUN apt-get -y install wine python python3
|
||||
RUN apt-get -y install openjdk-8-jdk
|
||||
RUN apt-get -y install php-cli
|
||||
#apt-get clean && \
|
||||
#rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
# Android NDK
|
||||
RUN wget http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2 && \
|
||||
@ -41,7 +45,7 @@ RUN echo y | /usr/local/android-sdk/tools/android update sdk --filter android-3
|
||||
|
||||
# Pre-cache Maven artifacts
|
||||
RUN git clone https://github.com/rapid7/metasploit-payloads.git && \
|
||||
cd metasploit-payloads/java && make && cd .. && rm -fr metasploit-payloads
|
||||
cd metasploit-payloads/java && make ; cd .. && rm -fr metasploit-payloads
|
||||
|
||||
ENV ANDROID_HOME /usr/local/android-sdk
|
||||
ENV ANDROID_NDK_HOME /usr/local/android-ndk
|
||||
|
Loading…
x
Reference in New Issue
Block a user