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

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.
207 lines
11 KiB
XML
207 lines
11 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<ItemGroup Label="ProjectConfigurations">
|
|
<ProjectConfiguration Include="r7_release|Win32">
|
|
<Configuration>r7_release</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="r7_release|x64">
|
|
<Configuration>r7_release</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release|Win32">
|
|
<Configuration>Release</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release|x64">
|
|
<Configuration>Release</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
</ItemGroup>
|
|
<PropertyGroup Label="Globals">
|
|
<ProjectGuid>{72F0246A-A38D-4547-9057-46020E8E503D}</ProjectGuid>
|
|
<RootNamespace>ReflectiveDLLInjection</RootNamespace>
|
|
<Keyword>Win32Proj</Keyword>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
|
<PlatformToolset>v141_xp</PlatformToolset>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
|
<PlatformToolset>v141_xp</PlatformToolset>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
<CharacterSet>MultiByte</CharacterSet>
|
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
<PlatformToolset>v141_xp</PlatformToolset>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
<CharacterSet>MultiByte</CharacterSet>
|
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
<PlatformToolset>v141_xp</PlatformToolset>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
<ImportGroup Label="ExtensionSettings">
|
|
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
|
|
</ImportGroup>
|
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
<Import Project="..\meterpreter.props" />
|
|
</ImportGroup>
|
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="PropertySheets">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
<Import Project="..\meterpreter.props" />
|
|
</ImportGroup>
|
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
<Import Project="..\meterpreter.props" />
|
|
</ImportGroup>
|
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="PropertySheets">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
<Import Project="..\meterpreter.props" />
|
|
</ImportGroup>
|
|
<PropertyGroup Label="UserMacros" />
|
|
<PropertyGroup>
|
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
|
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
|
|
<IntDir>$(Configuration)\$(Platform)\</IntDir>
|
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
|
<CodeAnalysisRules />
|
|
</PropertyGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
<ClCompile>
|
|
<Optimization>MinSpace</Optimization>
|
|
<IntrinsicFunctions>false</IntrinsicFunctions>
|
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
|
<AdditionalIncludeDirectories>..\..\source\ReflectiveDLLInjection\common;..\..\source\ReflectiveDLLInjection\inject\src;..\..\source\ReflectiveDLLInjection\dll\src;..\..\deps\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
<FunctionLevelLinking>false</FunctionLevelLinking>
|
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
<WarningLevel>Level3</WarningLevel>
|
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
<CompileAs>CompileAsC</CompileAs>
|
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
|
<StringPooling>true</StringPooling>
|
|
<TreatWarningAsError>true</TreatWarningAsError>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
</ClCompile>
|
|
<Lib>
|
|
<OutputFile>$(OutDir)\ReflectiveDllInjection.lib</OutputFile>
|
|
<AdditionalDependencies>
|
|
</AdditionalDependencies>
|
|
<AdditionalLibraryDirectories>
|
|
</AdditionalLibraryDirectories>
|
|
<TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
|
|
<SubSystem>Windows</SubSystem>
|
|
</Lib>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">
|
|
<ClCompile>
|
|
<Optimization>MinSpace</Optimization>
|
|
<IntrinsicFunctions>false</IntrinsicFunctions>
|
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
|
<AdditionalIncludeDirectories>..\..\source\ReflectiveDLLInjection\common;..\..\source\ReflectiveDLLInjection\inject\src;..\..\source\ReflectiveDLLInjection\dll\src;..\..\deps\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
<FunctionLevelLinking>false</FunctionLevelLinking>
|
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
<WarningLevel>Level3</WarningLevel>
|
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
<CompileAs>CompileAsC</CompileAs>
|
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
|
<StringPooling>true</StringPooling>
|
|
<TreatWarningAsError>true</TreatWarningAsError>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
</ClCompile>
|
|
<Lib>
|
|
<OutputFile>$(OutDir)\ReflectiveDllInjection.lib</OutputFile>
|
|
<AdditionalDependencies>
|
|
</AdditionalDependencies>
|
|
<AdditionalLibraryDirectories>
|
|
</AdditionalLibraryDirectories>
|
|
<TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
|
|
<SubSystem>Windows</SubSystem>
|
|
</Lib>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
<Midl>
|
|
<TargetEnvironment>X64</TargetEnvironment>
|
|
</Midl>
|
|
<ClCompile>
|
|
<Optimization>MaxSpeed</Optimization>
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
|
<AdditionalIncludeDirectories>..\..\source\ReflectiveDLLInjection\common;..\..\source\ReflectiveDLLInjection\inject\src;..\..\source\ReflectiveDLLInjection\dll\src;..\..\deps\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
<WarningLevel>Level3</WarningLevel>
|
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
<CompileAs>CompileAsC</CompileAs>
|
|
<TreatWarningAsError>true</TreatWarningAsError>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
</ClCompile>
|
|
<Lib>
|
|
<OutputFile>$(OutDir)\ReflectiveDllInjection.lib</OutputFile>
|
|
<TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
|
|
<SubSystem>Windows</SubSystem>
|
|
</Lib>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">
|
|
<Midl>
|
|
<TargetEnvironment>X64</TargetEnvironment>
|
|
</Midl>
|
|
<ClCompile>
|
|
<Optimization>MaxSpeed</Optimization>
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
|
<AdditionalIncludeDirectories>..\..\source\ReflectiveDLLInjection\common;..\..\source\ReflectiveDLLInjection\inject\src;..\..\source\ReflectiveDLLInjection\dll\src;..\..\deps\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
<WarningLevel>Level3</WarningLevel>
|
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
<CompileAs>CompileAsC</CompileAs>
|
|
<TreatWarningAsError>true</TreatWarningAsError>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
</ClCompile>
|
|
<Lib>
|
|
<OutputFile>$(OutDir)\ReflectiveDllInjection.lib</OutputFile>
|
|
<TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
|
|
<SubSystem>Windows</SubSystem>
|
|
</Lib>
|
|
</ItemDefinitionGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="..\..\source\ReflectiveDLLInjection\inject\src\GetProcAddressR.c" />
|
|
<ClCompile Include="..\..\source\ReflectiveDLLInjection\inject\src\LoadLibraryR.c" />
|
|
<ClCompile Include="..\..\source\ReflectiveDLLInjection\dll\src\ReflectiveLoader.c" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include="..\..\source\ReflectiveDLLInjection\inject\src\GetProcAddressR.h" />
|
|
<ClInclude Include="..\..\source\ReflectiveDLLInjection\inject\src\LoadLibraryR.h" />
|
|
<ClInclude Include="..\..\source\ReflectiveDLLInjection\common\ReflectiveDLLInjection.h" />
|
|
<ClInclude Include="..\..\source\ReflectiveDLLInjection\dll\src\ReflectiveLoader.h" />
|
|
</ItemGroup>
|
|
<Choose>
|
|
<When Condition="'$(Platform)'=='Win32'" />
|
|
</Choose>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
<ImportGroup Label="ExtensionTargets">
|
|
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
|
</ImportGroup>
|
|
</Project> |