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