From 6c1073d7083129155c04eedf7ebf86a96358c2fd Mon Sep 17 00:00:00 2001 From: diversenok Date: Mon, 17 Apr 2023 17:56:13 +0200 Subject: [PATCH] Migrate the blog post --- .gitignore | 388 +++++++ .gitmodules | 3 + 1.NtCreateUserProcess/NtCreateUserProcess.sln | 31 + .../NtCreateUserProcess.vcxproj | 177 ++++ .../NtCreateUserProcess.vcxproj.filters | 22 + 1.NtCreateUserProcess/main.c | 85 ++ 2.RtlCloneUserProcess/RtlCloneUserProcess.sln | 31 + .../RtlCloneUserProcess.vcxproj | 177 ++++ .../RtlCloneUserProcess.vcxproj.filters | 17 + 2.RtlCloneUserProcess/main.c | 75 ++ 3.CloneAndMinidump/CloneAndMinidump.rc | 111 ++ 3.CloneAndMinidump/CloneAndMinidump.sln | 31 + 3.CloneAndMinidump/CloneAndMinidump.vcxproj | 183 ++++ .../CloneAndMinidump.vcxproj.filters | 17 + 3.CloneAndMinidump/main.c | 270 +++++ 3.CloneAndMinidump/resource.h | 14 + 4.InspectClonedMemory/InspectClonedMemory.rc | 111 ++ 4.InspectClonedMemory/InspectClonedMemory.sln | 31 + .../InspectClonedMemory.vcxproj | 183 ++++ .../InspectClonedMemory.vcxproj.filters | 17 + 4.InspectClonedMemory/main.c | 957 ++++++++++++++++++ 4.InspectClonedMemory/resource.h | 14 + 5.Library/Example.sln | 31 + 5.Library/Example.vcxproj | 181 ++++ 5.Library/Example.vcxproj.filters | 30 + 5.Library/Library/cloning.c | 489 +++++++++ 5.Library/Library/cloning.h | 103 ++ 5.Library/example.c | 67 ++ Dependencies/phnt | 1 + LICENSE.txt | 21 + Readme.md | 427 ++++++++ pictures/01-intro.jpg | Bin 0 -> 332739 bytes pictures/02-reparenting.png | Bin 0 -> 11868 bytes pictures/03-reflection.png | Bin 0 -> 11037 bytes pictures/04-inspect.png | Bin 0 -> 16560 bytes pictures/05-taxonomy.png | Bin 0 -> 32390 bytes 36 files changed, 4295 insertions(+) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 1.NtCreateUserProcess/NtCreateUserProcess.sln create mode 100644 1.NtCreateUserProcess/NtCreateUserProcess.vcxproj create mode 100644 1.NtCreateUserProcess/NtCreateUserProcess.vcxproj.filters create mode 100644 1.NtCreateUserProcess/main.c create mode 100644 2.RtlCloneUserProcess/RtlCloneUserProcess.sln create mode 100644 2.RtlCloneUserProcess/RtlCloneUserProcess.vcxproj create mode 100644 2.RtlCloneUserProcess/RtlCloneUserProcess.vcxproj.filters create mode 100644 2.RtlCloneUserProcess/main.c create mode 100644 3.CloneAndMinidump/CloneAndMinidump.rc create mode 100644 3.CloneAndMinidump/CloneAndMinidump.sln create mode 100644 3.CloneAndMinidump/CloneAndMinidump.vcxproj create mode 100644 3.CloneAndMinidump/CloneAndMinidump.vcxproj.filters create mode 100644 3.CloneAndMinidump/main.c create mode 100644 3.CloneAndMinidump/resource.h create mode 100644 4.InspectClonedMemory/InspectClonedMemory.rc create mode 100644 4.InspectClonedMemory/InspectClonedMemory.sln create mode 100644 4.InspectClonedMemory/InspectClonedMemory.vcxproj create mode 100644 4.InspectClonedMemory/InspectClonedMemory.vcxproj.filters create mode 100644 4.InspectClonedMemory/main.c create mode 100644 4.InspectClonedMemory/resource.h create mode 100644 5.Library/Example.sln create mode 100644 5.Library/Example.vcxproj create mode 100644 5.Library/Example.vcxproj.filters create mode 100644 5.Library/Library/cloning.c create mode 100644 5.Library/Library/cloning.h create mode 100644 5.Library/example.c create mode 160000 Dependencies/phnt create mode 100644 LICENSE.txt create mode 100644 Readme.md create mode 100644 pictures/01-intro.jpg create mode 100644 pictures/02-reparenting.png create mode 100644 pictures/03-reflection.png create mode 100644 pictures/04-inspect.png create mode 100644 pictures/05-taxonomy.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..34c8dee --- /dev/null +++ b/.gitignore @@ -0,0 +1,388 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Nuget personal access tokens and Credentials +nuget.config + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +.idea/ +*.sln.iml diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..0ddd3e2 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Dependencies/phnt"] + path = Dependencies/phnt + url = https://github.com/processhacker/phnt diff --git a/1.NtCreateUserProcess/NtCreateUserProcess.sln b/1.NtCreateUserProcess/NtCreateUserProcess.sln new file mode 100644 index 0000000..ffc97b1 --- /dev/null +++ b/1.NtCreateUserProcess/NtCreateUserProcess.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32804.467 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NtCreateUserProcess", "NtCreateUserProcess.vcxproj", "{23615833-5F20-4239-BF9F-94DCF3A56969}" +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 + {23615833-5F20-4239-BF9F-94DCF3A56969}.Debug|x64.ActiveCfg = Debug|x64 + {23615833-5F20-4239-BF9F-94DCF3A56969}.Debug|x64.Build.0 = Debug|x64 + {23615833-5F20-4239-BF9F-94DCF3A56969}.Debug|x86.ActiveCfg = Debug|Win32 + {23615833-5F20-4239-BF9F-94DCF3A56969}.Debug|x86.Build.0 = Debug|Win32 + {23615833-5F20-4239-BF9F-94DCF3A56969}.Release|x64.ActiveCfg = Release|x64 + {23615833-5F20-4239-BF9F-94DCF3A56969}.Release|x64.Build.0 = Release|x64 + {23615833-5F20-4239-BF9F-94DCF3A56969}.Release|x86.ActiveCfg = Release|Win32 + {23615833-5F20-4239-BF9F-94DCF3A56969}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {569ED2B7-5C95-4C87-9257-210D336AB9C4} + EndGlobalSection +EndGlobal diff --git a/1.NtCreateUserProcess/NtCreateUserProcess.vcxproj b/1.NtCreateUserProcess/NtCreateUserProcess.vcxproj new file mode 100644 index 0000000..b233354 --- /dev/null +++ b/1.NtCreateUserProcess/NtCreateUserProcess.vcxproj @@ -0,0 +1,177 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {23615833-5f20-4239-bf9f-94dcf3a56969} + NtCreateUserProcess + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + + + true + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + false + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + true + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + false + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + + + Console + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + MultiThreaded + + + Console + true + true + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + /PDBALTPATH:%_PDB% + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + + + Console + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + MultiThreaded + + + Console + true + true + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + /PDBALTPATH:%_PDB% + true + + + + + + + + + \ No newline at end of file diff --git a/1.NtCreateUserProcess/NtCreateUserProcess.vcxproj.filters b/1.NtCreateUserProcess/NtCreateUserProcess.vcxproj.filters new file mode 100644 index 0000000..decff76 --- /dev/null +++ b/1.NtCreateUserProcess/NtCreateUserProcess.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;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 + + + \ No newline at end of file diff --git a/1.NtCreateUserProcess/main.c b/1.NtCreateUserProcess/main.c new file mode 100644 index 0000000..9e49ddd --- /dev/null +++ b/1.NtCreateUserProcess/main.c @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2023 Hunt & Hackett. + * + * This demo project is licensed under the MIT license. + * + * Authors: + * diversenok + * + */ + +#include +#include +#include + +int wmain(int argc, wchar_t* argv[]) +{ + NTSTATUS status; + HANDLE hProcess; + HANDLE hThread; + + wprintf_s(L"Demo for Process Cloning via NtCreateUserProcess by Hunt & Hackett.\r\n\r\n"); + wprintf_s(L"Hello from the parent! My PID is %zd, TID is %zd\r\n", + (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueProcess, + (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueThread + ); + + PS_CREATE_INFO createInfo = { 0 }; + createInfo.Size = sizeof(createInfo); + + status = NtCreateUserProcess( + &hProcess, + &hThread, + PROCESS_ALL_ACCESS, + THREAD_ALL_ACCESS, + NULL, + NULL, + PROCESS_CREATE_FLAGS_INHERIT_HANDLES, + 0, + NULL, + &createInfo, + NULL + ); + + if (status == STATUS_PROCESS_CLONED) + { + // Executing inside the clone... + + // Re-attach to the parent's console to be able to write to it + FreeConsole(); + AttachConsole(ATTACH_PARENT_PROCESS); + + wprintf_s(L"Hello from the clone! My PID is %zd, TID is %zd\r\n", + (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueProcess, + (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueThread + ); + + // Terminate without clean-up + NtTerminateProcess(NtCurrentProcess(), STATUS_PROCESS_CLONED); + } + else + { + // Executing inside the original (parent) process... + + if (!NT_SUCCESS(status)) + { + wprintf_s(L"Failed to clone the current process: 0x%x\r\n", status); + return status; + } + + status = NtWaitForSingleObject(hProcess, FALSE, NULL); + + NtClose(hProcess); + NtClose(hThread); + + if (!NT_SUCCESS(status)) + { + wprintf_s(L"Failed to wait for the clone: 0x%x\r\n", status); + return status; + } + + wprintf_s(L"The clone exited.\r\n"); + } + + return STATUS_SUCCESS; +} diff --git a/2.RtlCloneUserProcess/RtlCloneUserProcess.sln b/2.RtlCloneUserProcess/RtlCloneUserProcess.sln new file mode 100644 index 0000000..49fec19 --- /dev/null +++ b/2.RtlCloneUserProcess/RtlCloneUserProcess.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32804.467 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RtlCloneUserProcess", "RtlCloneUserProcess.vcxproj", "{4EDE077B-9200-4ED5-B471-F99177E90EC3}" +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 + {4EDE077B-9200-4ED5-B471-F99177E90EC3}.Debug|x64.ActiveCfg = Debug|x64 + {4EDE077B-9200-4ED5-B471-F99177E90EC3}.Debug|x64.Build.0 = Debug|x64 + {4EDE077B-9200-4ED5-B471-F99177E90EC3}.Debug|x86.ActiveCfg = Debug|Win32 + {4EDE077B-9200-4ED5-B471-F99177E90EC3}.Debug|x86.Build.0 = Debug|Win32 + {4EDE077B-9200-4ED5-B471-F99177E90EC3}.Release|x64.ActiveCfg = Release|x64 + {4EDE077B-9200-4ED5-B471-F99177E90EC3}.Release|x64.Build.0 = Release|x64 + {4EDE077B-9200-4ED5-B471-F99177E90EC3}.Release|x86.ActiveCfg = Release|Win32 + {4EDE077B-9200-4ED5-B471-F99177E90EC3}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7E6977D7-1824-433F-8DAA-E96BB88A146A} + EndGlobalSection +EndGlobal diff --git a/2.RtlCloneUserProcess/RtlCloneUserProcess.vcxproj b/2.RtlCloneUserProcess/RtlCloneUserProcess.vcxproj new file mode 100644 index 0000000..2696a26 --- /dev/null +++ b/2.RtlCloneUserProcess/RtlCloneUserProcess.vcxproj @@ -0,0 +1,177 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {4ede077b-9200-4ed5-b471-f99177e90ec3} + RtlCloneUserProcess + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + + + true + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + false + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + true + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + false + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + + + Console + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + MultiThreaded + + + Console + true + true + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + /PDBALTPATH:%_PDB% + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + + + Console + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + MultiThreaded + + + Console + true + true + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + /PDBALTPATH:%_PDB% + true + + + + + + + + + \ No newline at end of file diff --git a/2.RtlCloneUserProcess/RtlCloneUserProcess.vcxproj.filters b/2.RtlCloneUserProcess/RtlCloneUserProcess.vcxproj.filters new file mode 100644 index 0000000..a8a6563 --- /dev/null +++ b/2.RtlCloneUserProcess/RtlCloneUserProcess.vcxproj.filters @@ -0,0 +1,17 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;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 + + + \ No newline at end of file diff --git a/2.RtlCloneUserProcess/main.c b/2.RtlCloneUserProcess/main.c new file mode 100644 index 0000000..84cbdd3 --- /dev/null +++ b/2.RtlCloneUserProcess/main.c @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2023 Hunt & Hackett. + * + * This demo project is licensed under the MIT license. + * + * Authors: + * diversenok + * + */ + +#include +#include +#include + +int wmain(int argc, wchar_t* argv[]) +{ + NTSTATUS status; + RTL_USER_PROCESS_INFORMATION processInfo; + + wprintf_s(L"Demo for Process Cloning via RtlCloneUserProcess by Hunt & Hackett.\r\n\r\n"); + wprintf_s(L"Hello from the parent! My PID is %zd, TID is %zd\r\n", + (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueProcess, + (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueThread + ); + + status = RtlCloneUserProcess( + RTL_CLONE_PROCESS_FLAGS_INHERIT_HANDLES, + NULL, + NULL, + NULL, + &processInfo + ); + + if (status == STATUS_PROCESS_CLONED) + { + // Executing inside the clone... + + // Re-attach to the parent's console to be able to write to it + FreeConsole(); + AttachConsole(ATTACH_PARENT_PROCESS); + + wprintf_s(L"Hello from the clone! My PID is %zd, TID is %zd\r\n", + (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueProcess, + (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueThread + ); + + // Terminate without clean-up + NtTerminateProcess(NtCurrentProcess(), STATUS_PROCESS_CLONED); + } + else + { + // Executing inside the original (parent) process... + + if (!NT_SUCCESS(status)) + { + wprintf_s(L"Failed to clone the current process: 0x%x\r\n", status); + return status; + } + + status = NtWaitForSingleObject(processInfo.ProcessHandle, FALSE, NULL); + + NtClose(processInfo.ProcessHandle); + NtClose(processInfo.ThreadHandle); + + if (!NT_SUCCESS(status)) + { + wprintf_s(L"Failed to wait for the clone: 0x%x\r\n", status); + return status; + } + + wprintf_s(L"The clone exited.\r\n"); + } + + return STATUS_SUCCESS; +} diff --git a/3.CloneAndMinidump/CloneAndMinidump.rc b/3.CloneAndMinidump/CloneAndMinidump.rc new file mode 100644 index 0000000..e0c1b21 --- /dev/null +++ b/3.CloneAndMinidump/CloneAndMinidump.rc @@ -0,0 +1,111 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (UK) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK +#pragma code_page(1252) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // English (UK) resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,0 + PRODUCTVERSION 1,0,0,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "080904b0" + BEGIN + VALUE "CompanyName", "Hunt & Hackett" + VALUE "FileDescription", "Clone a process and save its minidump" + VALUE "FileVersion", "1.0.0.0" + VALUE "InternalName", "CloneAndMinidump" + VALUE "LegalCopyright", "Copyright (C) 2023 Hunt & Hackett" + VALUE "OriginalFilename", "CloneAndMinidump.exe" + VALUE "ProductName", "CloneAndMinidump" + VALUE "ProductVersion", "1.0.0.0" + VALUE "Comments", "https://github.com/huntandhackett/process-cloning" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x809, 1200 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/3.CloneAndMinidump/CloneAndMinidump.sln b/3.CloneAndMinidump/CloneAndMinidump.sln new file mode 100644 index 0000000..69ecfdf --- /dev/null +++ b/3.CloneAndMinidump/CloneAndMinidump.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32804.467 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CloneAndMinidump", "CloneAndMinidump.vcxproj", "{3A057020-20EA-47BF-B8E1-59A479857D5C}" +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 + {3A057020-20EA-47BF-B8E1-59A479857D5C}.Debug|x64.ActiveCfg = Debug|x64 + {3A057020-20EA-47BF-B8E1-59A479857D5C}.Debug|x64.Build.0 = Debug|x64 + {3A057020-20EA-47BF-B8E1-59A479857D5C}.Debug|x86.ActiveCfg = Debug|Win32 + {3A057020-20EA-47BF-B8E1-59A479857D5C}.Debug|x86.Build.0 = Debug|Win32 + {3A057020-20EA-47BF-B8E1-59A479857D5C}.Release|x64.ActiveCfg = Release|x64 + {3A057020-20EA-47BF-B8E1-59A479857D5C}.Release|x64.Build.0 = Release|x64 + {3A057020-20EA-47BF-B8E1-59A479857D5C}.Release|x86.ActiveCfg = Release|Win32 + {3A057020-20EA-47BF-B8E1-59A479857D5C}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {AFB05A9B-06D8-411B-AB84-4C1B1452AF60} + EndGlobalSection +EndGlobal diff --git a/3.CloneAndMinidump/CloneAndMinidump.vcxproj b/3.CloneAndMinidump/CloneAndMinidump.vcxproj new file mode 100644 index 0000000..8f12933 --- /dev/null +++ b/3.CloneAndMinidump/CloneAndMinidump.vcxproj @@ -0,0 +1,183 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {3a057020-20ea-47bf-b8e1-59a479857d5c} + CloneAndMinidump + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + + + true + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + false + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + true + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + false + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + + + Console + true + ntdll.lib;Dbghelp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + MultiThreaded + + + Console + true + true + true + ntdll.lib;Dbghelp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + /PDBALTPATH:%_PDB% + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + + + Console + true + ntdll.lib;Dbghelp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + MultiThreaded + + + Console + true + true + true + ntdll.lib;Dbghelp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + /PDBALTPATH:%_PDB% + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/3.CloneAndMinidump/CloneAndMinidump.vcxproj.filters b/3.CloneAndMinidump/CloneAndMinidump.vcxproj.filters new file mode 100644 index 0000000..a8a6563 --- /dev/null +++ b/3.CloneAndMinidump/CloneAndMinidump.vcxproj.filters @@ -0,0 +1,17 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;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 + + + \ No newline at end of file diff --git a/3.CloneAndMinidump/main.c b/3.CloneAndMinidump/main.c new file mode 100644 index 0000000..43bd671 --- /dev/null +++ b/3.CloneAndMinidump/main.c @@ -0,0 +1,270 @@ +/* + * Copyright (c) 2023 Hunt & Hackett. + * + * This demo project is licensed under the MIT license. + * + * Authors: + * diversenok + * + */ + +#include +#include +#include +#include +#include + +typedef enum _H2_CLONING_MODE { + H2CloneViaReflection = 1, + H2CloneViaNativeApi +} H2_CLONING_MODE; + +#define H2_ARGV_MODE_INDEX 1 +#define H2_ARGV_PID_INDEX 2 +#define H2_ARGV_FILENAME_INDEX 3 + +// Report progress on a specific operation to the console +BOOLEAN H2ReportStatus( + _In_ PCWSTR Location, + _In_ PCWSTR LastCall, + _In_ NTSTATUS Status +) +{ + if (NT_SUCCESS(Status)) + wprintf_s(L"%s: Success\r\n", Location); + else + { + PVOID dllBase; + UNICODE_STRING dllName; + UNICODE_STRING description; + + RtlInitUnicodeString(&description, L"Unknown error"); + + // Choose the DLL to look up the error description + RtlInitUnicodeString(&dllName, NT_NTWIN32(Status) ? L"kernel32.dll" : L"ntdll.dll"); + NTSTATUS status = LdrGetDllHandle(NULL, NULL, &dllName, &dllBase); + + if (NT_SUCCESS(status)) + { + PMESSAGE_RESOURCE_ENTRY messageEntry; + + // Lookup the error description + status = RtlFindMessage( + dllBase, + (ULONG)(ULONG_PTR)RT_MESSAGETABLE, + 0, + NT_NTWIN32(Status) ? WIN32_FROM_NTSTATUS(Status) : (ULONG)Status, + &messageEntry + ); + + if (NT_SUCCESS(status) && messageEntry->Flags & MESSAGE_RESOURCE_UNICODE) + RtlInitUnicodeString(&description, (PCWSTR)messageEntry->Text); + } + + // Trim the trailing new line + if (description.Length > 2 * sizeof(WCHAR) && + description.Buffer[description.Length / sizeof(WCHAR) - 1] == L'\n' && + description.Buffer[description.Length / sizeof(WCHAR) - 2] == L'\r') + description.Length -= 2 * sizeof(WCHAR); + + wprintf_s(L"%s: 0x%X at %s - %wZ\r\n", Location, Status, LastCall, &description); + } + + return NT_SUCCESS(Status); +} + +int wmain(int argc, wchar_t* argv[]) +{ + NTSTATUS status; + H2_CLONING_MODE mode; + UNICODE_STRING fileName = { 0 }; + HANDLE hParentProcess = NULL; + HANDLE hCloneProcess = NULL; + HANDLE hFile = NULL; + + wprintf_s(L"Demo for dumping process memory via cloning by Hunt & Hackett.\r\n\r\n"); + + if (argc < 4) + { + wprintf_s(L"Usage: CloneAndMinidump.exe [Mode] [PID] [Filename]\r\n\r\n"); + wprintf_s(L"Supported modes:\r\n"); + wprintf_s(L" -r - clone via RtlCreateProcessReflection\r\n"); + wprintf_s(L" -p - clone via NtCreateProcessEx\r\n"); + + return STATUS_INVALID_PARAMETER; + } + + if (wcscmp(argv[H2_ARGV_MODE_INDEX], L"-r") == 0) + mode = H2CloneViaReflection; + else if (wcscmp(argv[H2_ARGV_MODE_INDEX], L"-p") == 0) + mode = H2CloneViaNativeApi; + else + { + wprintf(L"Error: urecognized mode specified.\r\n"); + return STATUS_INVALID_PARAMETER; + } + + // Enable the Debug privilege when possible + BOOLEAN wasDebugEnabled; + status = RtlAdjustPrivilege(SE_DEBUG_PRIVILEGE, TRUE, FALSE, &wasDebugEnabled); + + H2ReportStatus(L"1. Enabling the debug privilege", L"RtlAdjustPrivilege", status); + + // Open the target process for cloning + OBJECT_ATTRIBUTES objAttr; + CLIENT_ID clientId; + + clientId.UniqueProcess = (HANDLE)(ULONG_PTR)wcstoul(argv[H2_ARGV_PID_INDEX], NULL, 0); + clientId.UniqueThread = NULL; + + InitializeObjectAttributes(&objAttr, NULL, 0, NULL, NULL); + + status = NtOpenProcess( + &hParentProcess, + mode == H2CloneViaReflection ? + PROCESS_VM_OPERATION | PROCESS_CREATE_THREAD | PROCESS_DUP_HANDLE : + PROCESS_CREATE_PROCESS, + &objAttr, + &clientId + ); + + if (!H2ReportStatus(L"2. Opening the target process", L"NtOpenProcess", status)) + goto CLEANUP; + + // Clone the target process + switch (mode) + { + case H2CloneViaReflection: + { + RTLP_PROCESS_REFLECTION_REFLECTION_INFORMATION reflectionInfo; + + status = RtlCreateProcessReflection( + hParentProcess, + RTL_PROCESS_REFLECTION_FLAGS_NO_SYNCHRONIZE, + NULL, + NULL, + NULL, + &reflectionInfo + ); + + if (!H2ReportStatus(L"3. Cloning the target process", L"RtlCreateProcessReflection", status)) + goto CLEANUP; + + NtClose(reflectionInfo.ReflectionThreadHandle); + hCloneProcess = reflectionInfo.ReflectionProcessHandle; + } + break; + + case H2CloneViaNativeApi: + { + InitializeObjectAttributes(&objAttr, NULL, 0, NULL, NULL); + + status = NtCreateProcessEx( + &hCloneProcess, + PROCESS_TERMINATE | PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, + &objAttr, + hParentProcess, + 0, + NULL, + NULL, + NULL, + 0 + ); + + if (!H2ReportStatus(L"3. Cloning the target process", L"NtCreateProcessEx", status)) + goto CLEANUP; + } + break; + } + + NtClose(hParentProcess); + hParentProcess = NULL; + + // Convert the filename to NT format + status = RtlDosPathNameToNtPathName_U_WithStatus( + argv[H2_ARGV_FILENAME_INDEX], + &fileName, + NULL, + NULL + ); + + if (!H2ReportStatus(L"4. Preparing the filename", L"RtlDosPathNameToNtPathName_U_WithStatus", status)) + goto CLEANUP; + + // Create the target file + OBJECT_ATTRIBUTES objAttrib; + IO_STATUS_BLOCK isb; + + InitializeObjectAttributes(&objAttrib, &fileName, OBJ_CASE_INSENSITIVE, NULL, NULL); + + status = NtCreateFile( + &hFile, + FILE_WRITE_DATA | DELETE | SYNCHRONIZE, + &objAttrib, + &isb, + NULL, + FILE_ATTRIBUTE_NORMAL, + 0, + FILE_CREATE, + FILE_SYNCHRONOUS_IO_NONALERT, + NULL, + 0 + ); + + RtlFreeUnicodeString(&fileName); + memset(&fileName, 0, sizeof(fileName)); + + if (!H2ReportStatus(L"5. Creating the file for minidump", L"NtCreateFile", status)) + goto CLEANUP; + + // Start dumping + BOOL result = MiniDumpWriteDump( + hCloneProcess, + 0, + hFile, + MiniDumpWithFullMemory, + NULL, + NULL, + NULL + ); + + if (!H2ReportStatus(L"6. Writing the minidump", L"MiniDumpWriteDump", result ? STATUS_SUCCESS : NTSTATUS_FROM_WIN32(RtlGetLastWin32Error()))) + goto CLEANUP; + + NtClose(hFile); + hFile = NULL; + + status = STATUS_SUCCESS; + +CLEANUP: + if (hParentProcess) + NtClose(hParentProcess); + + if (hCloneProcess) + { + NtTerminateProcess(hCloneProcess, STATUS_PROCESS_CLONED); + NtClose(hCloneProcess); + } + + if (fileName.Buffer) + RtlFreeUnicodeString(&fileName); + + if (hFile) + { + // Undo file creation on failure + FILE_DISPOSITION_INFORMATION fileInfo; + fileInfo.DeleteFile = TRUE; + + NtSetInformationFile( + hFile, + &isb, + &fileInfo, + sizeof(fileInfo), + FileDispositionInformation + ); + + NtClose(hFile); + } + + return status; +} diff --git a/3.CloneAndMinidump/resource.h b/3.CloneAndMinidump/resource.h new file mode 100644 index 0000000..9bc19bf --- /dev/null +++ b/3.CloneAndMinidump/resource.h @@ -0,0 +1,14 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by CloneAndMinidump.rc + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/4.InspectClonedMemory/InspectClonedMemory.rc b/4.InspectClonedMemory/InspectClonedMemory.rc new file mode 100644 index 0000000..27126f1 --- /dev/null +++ b/4.InspectClonedMemory/InspectClonedMemory.rc @@ -0,0 +1,111 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (UK) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK +#pragma code_page(1252) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // English (UK) resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,0 + PRODUCTVERSION 1,0,0,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "080904b0" + BEGIN + VALUE "CompanyName", "Hunt & Hackett" + VALUE "FileDescription", "Inspect address space layout changes during process cloning" + VALUE "FileVersion", "1.0.0.0" + VALUE "InternalName", "InspectClonedMemory" + VALUE "LegalCopyright", "Copyright (C) 2023 Hunt & Hackett" + VALUE "OriginalFilename", "InspectClonedMemory.exe" + VALUE "ProductName", "InspectClonedMemory" + VALUE "ProductVersion", "1.0.0.0" + VALUE "Comments", "https://github.com/huntandhackett/process-cloning" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x809, 1200 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/4.InspectClonedMemory/InspectClonedMemory.sln b/4.InspectClonedMemory/InspectClonedMemory.sln new file mode 100644 index 0000000..1d8e337 --- /dev/null +++ b/4.InspectClonedMemory/InspectClonedMemory.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32804.467 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InspectClonedMemory", "InspectClonedMemory.vcxproj", "{38B708BF-E457-49EB-8E6B-98608A18C947}" +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 + {38B708BF-E457-49EB-8E6B-98608A18C947}.Debug|x64.ActiveCfg = Debug|x64 + {38B708BF-E457-49EB-8E6B-98608A18C947}.Debug|x64.Build.0 = Debug|x64 + {38B708BF-E457-49EB-8E6B-98608A18C947}.Debug|x86.ActiveCfg = Debug|Win32 + {38B708BF-E457-49EB-8E6B-98608A18C947}.Debug|x86.Build.0 = Debug|Win32 + {38B708BF-E457-49EB-8E6B-98608A18C947}.Release|x64.ActiveCfg = Release|x64 + {38B708BF-E457-49EB-8E6B-98608A18C947}.Release|x64.Build.0 = Release|x64 + {38B708BF-E457-49EB-8E6B-98608A18C947}.Release|x86.ActiveCfg = Release|Win32 + {38B708BF-E457-49EB-8E6B-98608A18C947}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {6B0FA1E1-D746-4931-89EC-BFF3516DECB6} + EndGlobalSection +EndGlobal diff --git a/4.InspectClonedMemory/InspectClonedMemory.vcxproj b/4.InspectClonedMemory/InspectClonedMemory.vcxproj new file mode 100644 index 0000000..3c5221f --- /dev/null +++ b/4.InspectClonedMemory/InspectClonedMemory.vcxproj @@ -0,0 +1,183 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {38b708bf-e457-49eb-8e6b-98608a18c947} + InspectClonedMemory + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + + + true + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + false + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + true + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + false + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + + + Console + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + MultiThreaded + + + Console + true + true + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + /PDBALTPATH:%_PDB% + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + + + Console + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + ..\Dependencies\phnt + MultiThreaded + + + Console + true + true + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + /PDBALTPATH:%_PDB% + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/4.InspectClonedMemory/InspectClonedMemory.vcxproj.filters b/4.InspectClonedMemory/InspectClonedMemory.vcxproj.filters new file mode 100644 index 0000000..a8a6563 --- /dev/null +++ b/4.InspectClonedMemory/InspectClonedMemory.vcxproj.filters @@ -0,0 +1,17 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;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 + + + \ No newline at end of file diff --git a/4.InspectClonedMemory/main.c b/4.InspectClonedMemory/main.c new file mode 100644 index 0000000..8c92c07 --- /dev/null +++ b/4.InspectClonedMemory/main.c @@ -0,0 +1,957 @@ +/* + * Copyright (c) 2023 Hunt & Hackett. + * + * This demo project is licensed under the MIT license. + * + * Authors: + * diversenok + * + */ + +#include +#include +#include +#include + +#define H2_ARGV_CLONING_MODE 1 +#define H2_ARGV_PID 2 +#define H2_ARGV_OPTIONS 3 + +typedef enum _H2_CLONING_MODE { + H2CloneViaReflection = 1, + H2CloneViaNativeApi +} H2_CLONING_MODE; + +typedef enum _H2_KNOWN_ADDRESS { + H2KnownAddressUserSharedData, + H2KnownAddressHypervisorSharedUserVa, + H2KnownAddressPebBaseAddress, + H2KnownAddressApiSetMap, + H2KnownAddressReadOnlySharedMemoryBase, + H2KnownAddressAnsiCodePageData, + H2KnownAddressGdiSharedHandleTable, + H2KnownAddressShimData, + H2KnownAddressActivationContextData, + H2KnownAddressSystemDefaultActivationContextData, + H2KnownAddressMaximum // always last +} H2_KNOWN_ADDRESS; + +typedef struct _H2_KNOWN_ADDRESS_TAG { + PVOID Address; + PCWSTR Name; +} H2_KNOWN_ADDRESS_TAG; + +typedef struct _H2_KNOWN_ADDRESSES { + H2_KNOWN_ADDRESS_TAG Tags[H2KnownAddressMaximum]; +} H2_KNOWN_ADDRESSES, *PH2_KNOWN_ADDRESSES; + +VOID +NTAPI +H2CollectKnownAddresses( + _In_ HANDLE ProcessHandle, + _Out_ PH2_KNOWN_ADDRESSES KnownAddresses +); + +NTSTATUS +NTAPI +H2QueryShortNameMappedFile( + _In_ HANDLE Process, + _In_ PVOID Address, + _Out_ UNICODE_STRING* ShortName +); + +PCWSTR +NTAPI +H2ProtectionToString( + _In_ ULONG MemoryProtection +); + +__success(return) +BOOLEAN +NTAPI +H2QueryClassHeap( + _In_ HANDLE ProcessHandle, + _In_ PVOID Address, + _In_ BOOLEAN WoW64, + _Out_ PULONG HeapClass +); + +PCWSTR +NTAPI +H2HeapClassToString( + _In_ ULONG HeapClass +); + +BOOLEAN +NTAPI +H2ReportStatus( + _In_ PCWSTR LastCall, + _In_ NTSTATUS Status +); + +int wmain(int argc, wchar_t* argv[]) +{ + NTSTATUS status; + H2_CLONING_MODE cloningMode; + BOOLEAN skipPrivateRegions; + HANDLE hParentProcess = NULL; + HANDLE hCloneProcess = NULL; + + wprintf_s(L"A tool for inspecting memory layout of cloned processes by Hunt & Hackett.\r\n\r\n"); + + if (argc < 3) + { + wprintf_s(L"Usage: InspectClonedMemory.exe [cloning mode] [PID] [[options]]\r\n\r\n"); + + wprintf_s(L"Supported cloning modes:\r\n"); + wprintf_s(L" -r - clone via RtlCreateProcessReflection\r\n"); + wprintf_s(L" -p - clone via NtCreateProcessEx\r\n\r\n"); + + wprintf_s(L"Supported options:\r\n"); + wprintf_s(L" -np - skip private regions\r\n"); + + return STATUS_INVALID_PARAMETER; + } + + if (wcscmp(argv[H2_ARGV_CLONING_MODE], L"-r") == 0) + cloningMode = H2CloneViaReflection; + else if (wcscmp(argv[H2_ARGV_CLONING_MODE], L"-p") == 0) + cloningMode = H2CloneViaNativeApi; + else + { + wprintf(L"ERROR: urecognized cloning mode specified.\r\n"); + return STATUS_INVALID_PARAMETER; + } + + skipPrivateRegions = argc > H2_ARGV_OPTIONS && wcscmp(argv[H2_ARGV_OPTIONS], L"-np") == 0; + + // Enable the Debug privilege when possible + BOOLEAN wasDebugEnabled; + status = RtlAdjustPrivilege(SE_DEBUG_PRIVILEGE, TRUE, FALSE, &wasDebugEnabled); + + if (!NT_SUCCESS(status)) + wprintf(L"WARNING: Failed to acquire the debug privilege; continuing without it...\r\n"); + + // Open the target process for cloning + OBJECT_ATTRIBUTES objAttr; + CLIENT_ID clientId; + + clientId.UniqueProcess = (HANDLE)(ULONG_PTR)wcstoul(argv[H2_ARGV_PID], NULL, 0); + clientId.UniqueThread = NULL; + + InitializeObjectAttributes(&objAttr, NULL, 0, NULL, NULL); + + status = NtOpenProcess( + &hParentProcess, + PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_READ | + (cloningMode == H2CloneViaReflection ? PROCESS_VM_OPERATION | PROCESS_CREATE_THREAD | PROCESS_DUP_HANDLE : PROCESS_CREATE_PROCESS), + &objAttr, + &clientId + ); + + if (!H2ReportStatus(L"NtOpenProcess", status)) + goto CLEANUP; + + PPEB32 WoW64Peb; + + status = NtQueryInformationProcess( + hParentProcess, + ProcessWow64Information, + &WoW64Peb, + sizeof(WoW64Peb), + NULL + ); + + if (!H2ReportStatus(L"NtQueryInformationProcess[ProcessWow64Information]", status)) + goto CLEANUP; + + // Clone the target process + switch (cloningMode) + { + case H2CloneViaReflection: + { + RTLP_PROCESS_REFLECTION_REFLECTION_INFORMATION reflectionInfo; + + status = RtlCreateProcessReflection( + hParentProcess, + RTL_PROCESS_REFLECTION_FLAGS_NO_SYNCHRONIZE, + NULL, + NULL, + NULL, + &reflectionInfo + ); + + if (!H2ReportStatus(L"RtlCreateProcessReflection", status)) + goto CLEANUP; + + NtClose(reflectionInfo.ReflectionThreadHandle); + hCloneProcess = reflectionInfo.ReflectionProcessHandle; + } + break; + + case H2CloneViaNativeApi: + { + InitializeObjectAttributes(&objAttr, NULL, 0, NULL, NULL); + + status = NtCreateProcessEx( + &hCloneProcess, + PROCESS_ALL_ACCESS, + &objAttr, + hParentProcess, + 0, + NULL, + NULL, + NULL, + 0 + ); + + if (!H2ReportStatus(L"NtCreateProcessEx", status)) + goto CLEANUP; + } + break; + } + + // Save the default text colors + CONSOLE_SCREEN_BUFFER_INFO consoleInfo; + GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &consoleInfo); + + WORD consoleBackground; + consoleBackground = consoleInfo.wAttributes & 0xFFF0; + + // Collect notable addresses + H2_KNOWN_ADDRESSES knownAddresses; + H2CollectKnownAddresses(hParentProcess, &knownAddresses); + + // Iterate the address space of the parent + MEMORY_BASIC_INFORMATION parentInfo; + MEMORY_BASIC_INFORMATION cloneInfo; + + for ( + PVOID address = NULL; + NT_SUCCESS(NtQueryVirtualMemory( + hParentProcess, + address, + MemoryBasicInformation, + &parentInfo, + sizeof(parentInfo), + NULL + )); + address = RtlOffsetToPointer(address, parentInfo.RegionSize) + ) + { + // Skip unused regions + if (parentInfo.State == MEM_FREE) + continue; + + // Allow skipping private regions + if (skipPrivateRegions && parentInfo.Type == MEM_PRIVATE) + continue; + + if (parentInfo.BaseAddress == parentInfo.AllocationBase) + { + // Report the base of allocation + wprintf_s(L"\r\n0x%0.12zX | ", (ULONG_PTR)parentInfo.AllocationBase); + + PCWSTR memoryType; + WORD memoryColor; + + switch (parentInfo.Type) + { + case MEM_PRIVATE: + memoryType = L"Private"; + memoryColor = FOREGROUND_GREEN | FOREGROUND_RED; + break; + case MEM_MAPPED: + memoryType = L"Mapped"; + memoryColor = FOREGROUND_GREEN; + break; + case MEM_IMAGE: + memoryType = L"Image"; + memoryColor = FOREGROUND_BLUE | FOREGROUND_RED; + break; + default: + memoryType = L"Unknown"; + memoryColor = FOREGROUND_RED; + } + + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleBackground | memoryColor); + wprintf_s(L"%s", memoryType); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleInfo.wAttributes); + + // Higighlight potentially writable shared allocations + if (parentInfo.Type == MEM_MAPPED && (parentInfo.AllocationProtect & (PAGE_READWRITE | PAGE_EXECUTE_READWRITE))) + { + wprintf_s(L" | "); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleBackground | FOREGROUND_GREEN | FOREGROUND_INTENSITY); + wprintf_s(L"Writable"); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleInfo.wAttributes); + } + + // Tag files with their names + if (parentInfo.Type == MEM_MAPPED || parentInfo.Type == MEM_IMAGE) + { + UNICODE_STRING fileName; + + if (NT_SUCCESS(H2QueryShortNameMappedFile(hParentProcess, parentInfo.AllocationBase, &fileName))) + { + wprintf_s(L" | "); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleBackground | FOREGROUND_INTENSITY); + wprintf_s(L"%wZ", &fileName); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleInfo.wAttributes); + RtlFreeHeap(RtlGetCurrentPeb()->ProcessHeap, 0, fileName.Buffer); + } + } + + // Tag known locations + for (H2_KNOWN_ADDRESS i = 0; i < H2KnownAddressMaximum; i++) + { + if (knownAddresses.Tags[i].Address && knownAddresses.Tags[i].Address == parentInfo.AllocationBase) + { + wprintf_s(L" | "); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleBackground | FOREGROUND_INTENSITY); + wprintf_s(L"%s", knownAddresses.Tags[i].Name); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleInfo.wAttributes); + } + } + + wprintf_s(L"\r\n"); + } + + // Skip reserved and inaccessible sub-regions + if (parentInfo.State == MEM_RESERVE || (parentInfo.Protect & PAGE_NOACCESS)) + continue; + + wprintf_s(L" 0x%0.12zX - 0x%0.12zX | %s%s", + (ULONG_PTR)parentInfo.BaseAddress, + (ULONG_PTR)RtlOffsetToPointer(parentInfo.BaseAddress, parentInfo.RegionSize - 1), + H2ProtectionToString(parentInfo.Protect), + parentInfo.Protect & PAGE_GUARD ? L"+G" : L"" + ); + + // Tag known locations + if (parentInfo.BaseAddress != parentInfo.AllocationBase) + { + for (H2_KNOWN_ADDRESS i = 0; i < H2KnownAddressMaximum; i++) + { + if (knownAddresses.Tags[i].Address && knownAddresses.Tags[i].Address == parentInfo.BaseAddress) + { + wprintf_s(L" | "); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleBackground | FOREGROUND_INTENSITY); + wprintf_s(L"%s", knownAddresses.Tags[i].Name); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleInfo.wAttributes); + } + } + } + + ULONG heapClass; + + // Tag heaps + if (H2QueryClassHeap(hParentProcess, parentInfo.BaseAddress, !!WoW64Peb, &heapClass)) + { + wprintf_s(L" | "); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleBackground | FOREGROUND_INTENSITY); + wprintf_s(L"%s heap", H2HeapClassToString(heapClass)); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleInfo.wAttributes); + } + + // Query the same address for the clone + status = NtQueryVirtualMemory( + hCloneProcess, + address, + MemoryBasicInformation, + &cloneInfo, + sizeof(cloneInfo), + NULL + ); + + PCWSTR comparison; + + if (!NT_SUCCESS(status)) + comparison = L"Unable to query"; + else if (cloneInfo.State == MEM_FREE) + comparison = L"Missing"; + else if (memcmp(&parentInfo, &cloneInfo, sizeof(MEMORY_BASIC_INFORMATION)) != 0) + comparison = L"Different"; + else + comparison = NULL; + + // Report differences + if (comparison) + { + wprintf_s(L" | "); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleBackground | FOREGROUND_RED | FOREGROUND_INTENSITY); + wprintf_s(L"%s", comparison); + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), consoleInfo.wAttributes); + } + + wprintf_s(L"\r\n"); + } + + wprintf_s(L"\r\nMemory enumeration completed.\r\n"); + status = STATUS_SUCCESS; + +CLEANUP: + if (hParentProcess) + NtClose(hParentProcess); + + if (hCloneProcess) + { + NtTerminateProcess(hCloneProcess, STATUS_PROCESS_CLONED); + NtClose(hCloneProcess); + } + + return status; +} + +VOID +NTAPI +H2CollectKnownAddresses( + _In_ HANDLE ProcessHandle, + _Out_ PH2_KNOWN_ADDRESSES KnownAddresses +) +{ + NTSTATUS status; + memset(KnownAddresses, 0, sizeof(KnownAddresses)); + + // User shared data + KnownAddresses->Tags[H2KnownAddressUserSharedData].Name = L"USER_SHARED_DATA"; + KnownAddresses->Tags[H2KnownAddressUserSharedData].Address = USER_SHARED_DATA; + + // Hypervisor shared data + SYSTEM_HYPERVISOR_SHARED_PAGE_INFORMATION hypervisorInfo; + + status = NtQuerySystemInformation( + SystemHypervisorSharedPageInformation, + &hypervisorInfo, + sizeof(hypervisorInfo), + NULL + ); + + if (NT_SUCCESS(status)) + { + KnownAddresses->Tags[H2KnownAddressHypervisorSharedUserVa].Name = L"HYPERVISOR_SHARED_DATA"; + KnownAddresses->Tags[H2KnownAddressHypervisorSharedUserVa].Address = hypervisorInfo.HypervisorSharedUserVa; + } + + // PEB + PROCESS_BASIC_INFORMATION processInfo; + + status = NtQueryInformationProcess( + ProcessHandle, + ProcessBasicInformation, + &processInfo, + sizeof(processInfo), + NULL + ); + + if (!NT_SUCCESS(status)) + return; + + KnownAddresses->Tags[H2KnownAddressPebBaseAddress].Name = L"PEB"; + KnownAddresses->Tags[H2KnownAddressPebBaseAddress].Address = processInfo.PebBaseAddress; + + // ApiSet map + PVOID pebField; + + status = NtReadVirtualMemory( + ProcessHandle, + &processInfo.PebBaseAddress->ApiSetMap, + &pebField, + sizeof(pebField), + NULL + ); + + if (NT_SUCCESS(status)) + { + KnownAddresses->Tags[H2KnownAddressApiSetMap].Name = L"ApiSetMap"; + KnownAddresses->Tags[H2KnownAddressApiSetMap].Address = pebField; + } + + // CSR shared memory + status = NtReadVirtualMemory( + ProcessHandle, + &processInfo.PebBaseAddress->ReadOnlySharedMemoryBase, + &pebField, + sizeof(pebField), + NULL + ); + + if (NT_SUCCESS(status)) + { + KnownAddresses->Tags[H2KnownAddressReadOnlySharedMemoryBase].Name = L"CSR shared memory"; + KnownAddresses->Tags[H2KnownAddressReadOnlySharedMemoryBase].Address = pebField; + } + + // CodePage data + status = NtReadVirtualMemory( + ProcessHandle, + &processInfo.PebBaseAddress->AnsiCodePageData, + &pebField, + sizeof(pebField), + NULL + ); + + if (NT_SUCCESS(status)) + { + KnownAddresses->Tags[H2KnownAddressAnsiCodePageData].Name = L"CodePage data"; + KnownAddresses->Tags[H2KnownAddressAnsiCodePageData].Address = pebField; + } + + // GDI shared handle table + status = NtReadVirtualMemory( + ProcessHandle, + &processInfo.PebBaseAddress->GdiSharedHandleTable, + &pebField, + sizeof(pebField), + NULL + ); + + if (NT_SUCCESS(status)) + { + KnownAddresses->Tags[H2KnownAddressGdiSharedHandleTable].Name = L"GDI shared handle table"; + KnownAddresses->Tags[H2KnownAddressGdiSharedHandleTable].Address = pebField; + } + + // Shim data + status = NtReadVirtualMemory( + ProcessHandle, + &processInfo.PebBaseAddress->pShimData, + &pebField, + sizeof(pebField), + NULL + ); + + if (NT_SUCCESS(status)) + { + KnownAddresses->Tags[H2KnownAddressShimData].Name = L"Shim data"; + KnownAddresses->Tags[H2KnownAddressShimData].Address = pebField; + } + + // Activation context data + status = NtReadVirtualMemory( + ProcessHandle, + &processInfo.PebBaseAddress->ActivationContextData, + &pebField, + sizeof(pebField), + NULL + ); + + if (NT_SUCCESS(status)) + { + KnownAddresses->Tags[H2KnownAddressActivationContextData].Name = L"Activation context data"; + KnownAddresses->Tags[H2KnownAddressActivationContextData].Address = pebField; + } + + // Default activation context data + status = NtReadVirtualMemory( + ProcessHandle, + &processInfo.PebBaseAddress->SystemDefaultActivationContextData, + &pebField, + sizeof(pebField), + NULL + ); + + if (NT_SUCCESS(status)) + { + KnownAddresses->Tags[H2KnownAddressSystemDefaultActivationContextData].Name = L"Default activation context data"; + KnownAddresses->Tags[H2KnownAddressSystemDefaultActivationContextData].Address = pebField; + } +} + +PCWSTR +NTAPI +H2ProtectionToString( + _In_ ULONG MemoryProtection +) +{ + switch (MemoryProtection & 0xFF) + { + case PAGE_NOACCESS: + return L"NA"; + case PAGE_READONLY: + return L"R"; + case PAGE_READWRITE: + return L"RW"; + case PAGE_WRITECOPY: + return L"WC"; + case PAGE_EXECUTE: + return L"X"; + case PAGE_EXECUTE_READ: + return L"RX"; + case PAGE_EXECUTE_READWRITE: + return L"RWX"; + case PAGE_EXECUTE_WRITECOPY: + return L"WCX"; + default: + return L"???"; + } +} + +NTSTATUS +NTAPI +H2QueryShortNameMappedFile( + _In_ HANDLE Process, + _In_ PVOID Address, + _Out_ UNICODE_STRING* ShortName +) +{ + NTSTATUS status; + PUNICODE_STRING buffer; + SIZE_T bufferSize = RtlGetLongestNtPathLength() * sizeof(WCHAR); + + do + { + buffer = RtlAllocateHeap(RtlGetCurrentPeb()->ProcessHeap, 0, bufferSize); + + if (!buffer) + return STATUS_NO_MEMORY; + + status = NtQueryVirtualMemory( + Process, + Address, + MemoryMappedFilenameInformation, + buffer, + bufferSize, + &bufferSize + ); + + if (!NT_SUCCESS(status)) + RtlFreeHeap(RtlGetCurrentPeb()->ProcessHeap, 0, buffer); + else + break; + + } while (status == STATUS_BUFFER_OVERFLOW); + + if (!NT_SUCCESS(status)) + return status; + + // Extract the filename only + USHORT nameStart = 0; + USHORT nameLength = buffer->Length; + + if (buffer->Length > sizeof(WCHAR)) + { + for (USHORT i = buffer->Length / sizeof(WCHAR) - 1; i > 0; i--) + { + if (buffer->Buffer[i] == OBJ_NAME_PATH_SEPARATOR) + { + nameStart = i + 1; + nameLength = buffer->Length - nameStart * sizeof(WCHAR); + break; + } + } + } + + // Copy it + UNICODE_STRING name; + name.Length = nameLength; + name.MaximumLength = nameLength; + name.Buffer = RtlAllocateHeap(RtlGetCurrentPeb()->ProcessHeap, 0, nameLength); + + if (name.Buffer) + { + memmove(name.Buffer, &buffer->Buffer[nameStart], name.Length); + *ShortName = name; + } + else + { + status = STATUS_NO_MEMORY; + } + + RtlFreeHeap(RtlGetCurrentPeb()->ProcessHeap, 0, buffer); + return status; +} + +// Not the actual structure, but has the same size. +typedef struct _HEAP_ENTRY +{ + PVOID Data1; + PVOID Data2; +} HEAP_ENTRY, *PHEAP_ENTRY; + +#define HEAP_SEGMENT_SIGNATURE 0xffeeffee + +typedef struct _HEAP_SEGMENT +{ + HEAP_ENTRY Entry; + ULONG SegmentSignature; + ULONG SegmentFlags; + LIST_ENTRY SegmentListEntry; + union _HEAP *Heap; + PVOID BaseAddress; + ULONG NumberOfPages; + PHEAP_ENTRY FirstEntry; + PHEAP_ENTRY LastValidEntry; + ULONG NumberOfUnCommittedPages; + ULONG NumberOfUnCommittedRanges; + USHORT SegmentAllocatorBackTraceIndex; + USHORT Reserved; + LIST_ENTRY UCRSegmentList; +} HEAP_SEGMENT, *PHEAP_SEGMENT; + +#define HEAP_SIGNATURE 0xeeffeeff + +typedef union _HEAP +{ + struct + { + HEAP_SEGMENT Segment; + ULONG Flags; + ULONG ForceFlags; + ULONG CompatibilityFlags; + ULONG EncodeFlagMask; + HEAP_ENTRY Encoding; + ULONG_PTR PointerKey; // Windows 7 only + ULONG Interceptor; + ULONG VirtualMemoryThreshold; + ULONG Signature; + // ... + } Old; // Windows 7 + + struct + { + HEAP_SEGMENT Segment; + ULONG Flags; + ULONG ForceFlags; + ULONG CompatibilityFlags; + ULONG EncodeFlagMask; + HEAP_ENTRY Encoding; + ULONG Interceptor; + ULONG VirtualMemoryThreshold; + ULONG Signature; + // ... + } New; // Windows 8+ +} HEAP, *PHEAP; + +#define SEGMENT_HEAP_SIGNATURE 0xddeeddee + +typedef struct _SEGMENT_HEAP +{ + ULONG_PTR Padding[2]; + ULONG Signature; + ULONG GlobalFlags; + // ... +} SEGMENT_HEAP, PSEGMENT_HEAP; + +typedef struct _HEAP_ENTRY32 +{ + WOW64_POINTER(PVOID) Data1; + WOW64_POINTER(PVOID) Data2; +} HEAP_ENTRY32, *PHEAP_ENTRY32; + +typedef struct _HEAP_SEGMENT32 +{ + HEAP_ENTRY32 HeapEntry; + ULONG SegmentSignature; + ULONG SegmentFlags; + LIST_ENTRY32 SegmentListEntry; + WOW64_POINTER(struct _HEAP32 *) Heap; + WOW64_POINTER(PVOID) BaseAddress; + ULONG NumberOfPages; + WOW64_POINTER(PHEAP_ENTRY32) FirstEntry; + WOW64_POINTER(PHEAP_ENTRY32) LastValidEntry; + ULONG NumberOfUnCommittedPages; + ULONG NumberOfUnCommittedRanges; + USHORT SegmentAllocatorBackTraceIndex; + USHORT Reserved; + LIST_ENTRY32 UCRSegmentList; +} HEAP_SEGMENT32, *PHEAP_SEGMENT32; + +typedef union _HEAP32 +{ + struct + { + HEAP_SEGMENT32 Segment; + ULONG Flags; + ULONG ForceFlags; + ULONG CompatibilityFlags; + ULONG EncodeFlagMask; + HEAP_ENTRY32 Encoding; + WOW64_POINTER(ULONG_PTR) PointerKey; + ULONG Interceptor; + ULONG VirtualMemoryThreshold; + ULONG Signature; + // ... + } Old; // Windows 7 + + struct + { + HEAP_SEGMENT32 Segment; + ULONG Flags; + ULONG ForceFlags; + ULONG CompatibilityFlags; + ULONG EncodeFlagMask; + HEAP_ENTRY32 Encoding; + ULONG Interceptor; + ULONG VirtualMemoryThreshold; + ULONG Signature; + // ... + } New; // Windows 8+ +} HEAP32, *PHEAP32; + +typedef struct _SEGMENT_HEAP32 +{ + WOW64_POINTER(ULONG_PTR) Padding[2]; + ULONG Signature; + ULONG GlobalFlags; + // ... +} SEGMENT_HEAP32, PSEGMENT_HEAP32; + +typedef union _H2_ANY_HEAP +{ + HEAP Heap; + HEAP32 Heap32; + SEGMENT_HEAP SegmentHeap; + SEGMENT_HEAP32 SegmentHeap32; +} H2_ANY_HEAP; + +__success(return) +BOOLEAN +NTAPI +H2QueryClassHeap( + _In_ HANDLE ProcessHandle, + _In_ PVOID Address, + _In_ BOOLEAN WoW64, + _Out_ PULONG HeapClass +) +{ + NTSTATUS status; + H2_ANY_HEAP buffer; + + status = NtReadVirtualMemory(ProcessHandle, Address, &buffer, sizeof(buffer), NULL); + + if (!NT_SUCCESS(status)) + return FALSE; + + if (RtlGetCurrentPeb()->OSMajorVersion == 6 && RtlGetCurrentPeb()->OSMinorVersion == 1) + { + // Windows 7 + + if (WoW64) + { + if (buffer.Heap32.Old.Signature == HEAP_SIGNATURE) + { + *HeapClass = buffer.Heap32.Old.Flags & HEAP_CLASS_MASK; + return TRUE; + } + } + else + { + if (buffer.Heap.Old.Signature == HEAP_SIGNATURE) + { + *HeapClass = buffer.Heap.Old.Flags & HEAP_CLASS_MASK; + return TRUE; + } + } + } + else + { + // Windows 8+ + + if (WoW64) + { + if (buffer.Heap32.New.Signature == HEAP_SIGNATURE) + { + *HeapClass = buffer.Heap32.New.Flags & HEAP_CLASS_MASK; + return TRUE; + } + else if (buffer.SegmentHeap32.Signature == SEGMENT_HEAP_SIGNATURE) + { + *HeapClass = buffer.SegmentHeap32.GlobalFlags & HEAP_CLASS_MASK; + return TRUE; + } + } + else + { + if (buffer.Heap.New.Signature == HEAP_SIGNATURE) + { + *HeapClass = buffer.Heap.New.Flags & HEAP_CLASS_MASK; + return TRUE; + } + else if (buffer.SegmentHeap.Signature == SEGMENT_HEAP_SIGNATURE) + { + *HeapClass = buffer.SegmentHeap.GlobalFlags & HEAP_CLASS_MASK; + return TRUE; + } + } + } + + return FALSE; +} + +PCWSTR +NTAPI +H2HeapClassToString( + _In_ ULONG HeapClass +) +{ + switch (HeapClass) + { + case HEAP_CLASS_0: + return L"Process"; + case HEAP_CLASS_1: + return L"Private"; + case HEAP_CLASS_2: + return L"Kernel"; + case HEAP_CLASS_3: + return L"GDI"; + case HEAP_CLASS_4: + return L"User"; + case HEAP_CLASS_5: + return L"Console"; + case HEAP_CLASS_6: + return L"User desktop"; + case HEAP_CLASS_7: + return L"CSR shared"; + case HEAP_CLASS_8: + return L"CSR port"; + default: + return L"Unknown"; + } +} + +BOOLEAN +NTAPI +H2ReportStatus( + _In_ PCWSTR LastCall, + _In_ NTSTATUS Status +) +{ + if (NT_SUCCESS(Status)) + return TRUE; + + UNICODE_STRING description; + RtlInitUnicodeString(&description, L"Unknown error"); + + // Find ntdll + PLDR_DATA_TABLE_ENTRY ntdllLdrEntry = CONTAINING_RECORD( + NtCurrentTeb()->ProcessEnvironmentBlock->Ldr->InInitializationOrderModuleList.Flink, + LDR_DATA_TABLE_ENTRY, + InInitializationOrderLinks + ); + + // Lookup the error description + PMESSAGE_RESOURCE_ENTRY messageEntry; + + NTSTATUS status = RtlFindMessage( + ntdllLdrEntry->DllBase, + (ULONG)(ULONG_PTR)RT_MESSAGETABLE, + 0, + NT_NTWIN32(Status) ? WIN32_FROM_NTSTATUS(Status) : (ULONG)Status, + &messageEntry + ); + + if (NT_SUCCESS(status) && messageEntry->Flags & MESSAGE_RESOURCE_UNICODE) + { + RtlInitUnicodeString(&description, (PCWSTR)messageEntry->Text); + + // Trim the trailing new lines + while (description.Length > 2 * sizeof(WCHAR) && + description.Buffer[description.Length / sizeof(WCHAR) - 1] == L'\n' && + description.Buffer[description.Length / sizeof(WCHAR) - 2] == L'\r') + description.Length -= 2 * sizeof(WCHAR); + } + + wprintf_s(L"ERROR: %s failed with 0x%X - %wZ\r\n", LastCall, Status, &description); + return FALSE; +} diff --git a/4.InspectClonedMemory/resource.h b/4.InspectClonedMemory/resource.h new file mode 100644 index 0000000..524aede --- /dev/null +++ b/4.InspectClonedMemory/resource.h @@ -0,0 +1,14 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by InspectClonedMemory.rc + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/5.Library/Example.sln b/5.Library/Example.sln new file mode 100644 index 0000000..33d3fee --- /dev/null +++ b/5.Library/Example.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32804.467 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Example", "Example.vcxproj", "{3513E32A-E05B-4E03-BB2D-869B311BD935}" +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 + {3513E32A-E05B-4E03-BB2D-869B311BD935}.Debug|x64.ActiveCfg = Debug|x64 + {3513E32A-E05B-4E03-BB2D-869B311BD935}.Debug|x64.Build.0 = Debug|x64 + {3513E32A-E05B-4E03-BB2D-869B311BD935}.Debug|x86.ActiveCfg = Debug|Win32 + {3513E32A-E05B-4E03-BB2D-869B311BD935}.Debug|x86.Build.0 = Debug|Win32 + {3513E32A-E05B-4E03-BB2D-869B311BD935}.Release|x64.ActiveCfg = Release|x64 + {3513E32A-E05B-4E03-BB2D-869B311BD935}.Release|x64.Build.0 = Release|x64 + {3513E32A-E05B-4E03-BB2D-869B311BD935}.Release|x86.ActiveCfg = Release|Win32 + {3513E32A-E05B-4E03-BB2D-869B311BD935}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {CCBAD7D5-6DF7-49EE-9ABB-9DFB339B91A8} + EndGlobalSection +EndGlobal diff --git a/5.Library/Example.vcxproj b/5.Library/Example.vcxproj new file mode 100644 index 0000000..916811a --- /dev/null +++ b/5.Library/Example.vcxproj @@ -0,0 +1,181 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {3513e32a-e05b-4e03-bb2d-869b311bd935} + Example + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + $(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\ + + + true + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + false + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + true + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + false + $(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\ + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Library;..\Dependencies\phnt + + + Console + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Library;..\Dependencies\phnt + MultiThreaded + + + Console + true + true + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + /PDBALTPATH:%_PDB% + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Library;..\Dependencies\phnt + + + Console + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Library;..\Dependencies\phnt + MultiThreaded + + + Console + true + true + true + ntdll.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + /PDBALTPATH:%_PDB% + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/5.Library/Example.vcxproj.filters b/5.Library/Example.vcxproj.filters new file mode 100644 index 0000000..2e6bb0c --- /dev/null +++ b/5.Library/Example.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;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 + + + Source Files + + + + + Header Files + + + \ No newline at end of file diff --git a/5.Library/Library/cloning.c b/5.Library/Library/cloning.c new file mode 100644 index 0000000..98ec3bc --- /dev/null +++ b/5.Library/Library/cloning.c @@ -0,0 +1,489 @@ +/* + * Copyright (c) 2023 Hunt & Hackett. + * + * This file is licensed under the MIT license. + * + * Authors: + * diversenok + * + */ + +#include + +/* Handle inheritance */ + +// Snapshot current handle values and attributes +NTSTATUS +NTAPI +H2CaptureHandleAttributes( + _Outptr_ PH2_HANDLE_SNAPSHOT *Snapshot +) +{ + NTSTATUS status; + PH2_HANDLE_SNAPSHOT snapshot = NULL; + SIZE_T snapshotSize; + + if (RtlGetCurrentPeb()->OSMajorVersion > 6 || + (RtlGetCurrentPeb()->OSMajorVersion == 6 && + RtlGetCurrentPeb()->OSMinorVersion > 6)) + { + // Windows 8+ supports enumerating per-process handles + + PPROCESS_HANDLE_SNAPSHOT_INFORMATION buffer; + ULONG bufferSize = 0x800; // 2 KiB to start with + + do + { + buffer = RtlAllocateHeap(RtlGetCurrentPeb()->ProcessHeap, 0, bufferSize); + + if (!buffer) + return STATUS_NO_MEMORY; + + status = NtQueryInformationProcess( + NtCurrentProcess(), + ProcessHandleInformation, + buffer, + bufferSize, + &bufferSize + ); + + if (!NT_SUCCESS(status)) + RtlFreeHeap(RtlGetCurrentPeb()->ProcessHeap, 0, buffer); + + } while (status == STATUS_INFO_LENGTH_MISMATCH || status == STATUS_BUFFER_TOO_SMALL || status == STATUS_BUFFER_OVERFLOW); + + if (!NT_SUCCESS(status)) + return status; + + // Allocate the snapshot + snapshotSize = sizeof(H2_HANDLE_SNAPSHOT) + + sizeof(H2_HANDLE_ENTRY) * (buffer->NumberOfHandles - 1); + + snapshot = RtlAllocateHeap(RtlGetCurrentPeb()->ProcessHeap, 0, snapshotSize); + + if (snapshot) + { + // Save handle attributes + snapshot->NumberOfHandles = buffer->NumberOfHandles; + + for (ULONG_PTR i = 0; i < buffer->NumberOfHandles; i++) + { + snapshot->Handles[i].HandleValue = buffer->Handles[i].HandleValue; + snapshot->Handles[i].HandleAttributes = buffer->Handles[i].HandleAttributes; + snapshot->Handles[i].GrantedAccess = buffer->Handles[i].GrantedAccess; + snapshot->Handles[i].ObjectTypeIndex = buffer->Handles[i].ObjectTypeIndex; + } + } + + RtlFreeHeap(RtlGetCurrentPeb()->ProcessHeap, 0, buffer); + } + else + { + // Windows 7 requires enumerating all system handles + + PSYSTEM_HANDLE_INFORMATION_EX buffer; + ULONG bufferSize = 0x400000; // 4 MiB to start with + + do + { + buffer = RtlAllocateHeap(RtlGetCurrentPeb()->ProcessHeap, 0, bufferSize); + + if (!buffer) + return STATUS_NO_MEMORY; + + status = NtQuerySystemInformation( + SystemExtendedHandleInformation, + buffer, + bufferSize, + &bufferSize + ); + + if (!NT_SUCCESS(status)) + RtlFreeHeap(RtlGetCurrentPeb()->ProcessHeap, 0, buffer); + + } while (status == STATUS_INFO_LENGTH_MISMATCH || status == STATUS_BUFFER_TOO_SMALL || status == STATUS_BUFFER_OVERFLOW); + + if (!NT_SUCCESS(status)) + return status; + + // Count our handles + ULONG_PTR numberOfHandles = 0; + + for (ULONG_PTR i = 0; i < buffer->NumberOfHandles; i++) + { + if (buffer->Handles[i].UniqueProcessId == (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueProcess) + numberOfHandles++; + } + + // Allocate the snapshot + snapshotSize = sizeof(H2_HANDLE_SNAPSHOT) + + sizeof(H2_HANDLE_ENTRY) * (numberOfHandles - 1); + + snapshot = RtlAllocateHeap(RtlGetCurrentPeb()->ProcessHeap, 0, snapshotSize); + + if (snapshot) + { + // Save handle attributes + snapshot->NumberOfHandles = numberOfHandles; + + ULONG_PTR j = 0; + for (ULONG_PTR i = 0; i < buffer->NumberOfHandles; i++) + { + if (buffer->Handles[i].UniqueProcessId == (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueProcess) + { + snapshot->Handles[j].HandleValue = (HANDLE)buffer->Handles[i].HandleValue; + snapshot->Handles[j].HandleAttributes = buffer->Handles[i].HandleAttributes; + snapshot->Handles[j].GrantedAccess = buffer->Handles[i].GrantedAccess; + snapshot->Handles[j].ObjectTypeIndex = buffer->Handles[i].ObjectTypeIndex; + j++; + } + } + } + + RtlFreeHeap(RtlGetCurrentPeb()->ProcessHeap, 0, buffer); + } + + if (!snapshot) + return STATUS_NO_MEMORY; + + *Snapshot = snapshot; + return STATUS_SUCCESS; +} + +// Adjust inheritance for a set of handles +VOID +NTAPI +H2SetInheritanceHandles( + _In_reads_(NumberOfHandles) PH2_HANDLE_ENTRY Handles, + _In_ ULONG_PTR NumberOfHandles, + _In_ H2_INHERITACE_OPERATION Operation +) +{ + OBJECT_HANDLE_FLAG_INFORMATION handleFlags = { 0 }; + + switch (Operation) + { + case H2InheritanceEnable: + handleFlags.Inherit = TRUE; + break; + + case H2InheritanceDisable: + handleFlags.Inherit = FALSE; + break; + + case H2InheritanceRestore: + break; + + default: + return; + } + + for (ULONG_PTR i = 0; i < NumberOfHandles; i++) + { + if (Operation == H2InheritanceRestore) + handleFlags.Inherit = Handles[i].HandleAttributes & OBJ_INHERIT; + + handleFlags.ProtectFromClose = Handles[i].HandleAttributes & OBJ_PROTECT_CLOSE; + + NtSetInformationObject( + Handles[i].HandleValue, + ObjectHandleFlagInformation, + &handleFlags, + sizeof(handleFlags) + ); + } +} + +VOID +NTAPI +H2ReleaseHandleAttributes( + _Frees_ptr_ PH2_HANDLE_SNAPSHOT Snapshot +) +{ + RtlFreeHeap(RtlGetCurrentPeb()->ProcessHeap, 0, Snapshot); +} + +/* Shared memory */ + +// Allocate a shared memory region for communicating with the clone +NTSTATUS +NTAPI +H2MapSharedMamory( + _Outptr_ PVOID *BaseAddress, + _In_ SIZE_T AllocationSize, + _Out_opt_ SIZE_T *ReturnedSize +) +{ + NTSTATUS status; + HANDLE hSection; + PVOID baseAddress; + LARGE_INTEGER maximumSize; + SIZE_T viewSize; + + // Prepare a pagefile-backed section object + maximumSize.QuadPart = AllocationSize; + + status = NtCreateSection( + &hSection, + SECTION_ALL_ACCESS, + NULL, + &maximumSize, + PAGE_READWRITE, + SEC_COMMIT, + NULL + ); + + if (!NT_SUCCESS(status)) + return status; + + // Map it for sharing + baseAddress = NULL; + viewSize = 0; + + status = NtMapViewOfSection( + hSection, + NtCurrentProcess(), + &baseAddress, + 0, + 0, + NULL, + &viewSize, + ViewShare, + 0, + PAGE_READWRITE + ); + + NtClose(hSection); + + *BaseAddress = baseAddress; + + if (ReturnedSize) + *ReturnedSize = viewSize; + + return status; +} + +// Free a shared memory region +NTSTATUS +NTAPI +H2UnmapSharedMamory( + _In_ PVOID BaseAddress +) +{ + return NtUnmapViewOfSection(NtCurrentProcess(), BaseAddress); +} + +/* Cloning */ + +// Attach the clone to the console of the parent process +BOOL +WINAPI +H2AttachToParentConsole( + VOID +) +{ + return FreeConsole() && AttachConsole(ATTACH_PARENT_PROCESS); +} + +// Execute a callback in a clone of the current process +NTSTATUS +NTAPI +H2ExecuteInClone( + _In_ ULONG Flags, + _In_opt_ HANDLE TokenHandle, + _In_ PUSER_THREAD_START_ROUTINE Callback, + _In_opt_ PVOID Argument, + _Out_opt_ PNTSTATUS CompletionStatus, + _In_opt_ PLARGE_INTEGER Timeout, + _In_ BOOLEAN Alertable +) +{ + NTSTATUS status; + BOOLEAN timedOut = FALSE; + HANDLE hJob = NULL; + JOBOBJECT_EXTENDED_LIMIT_INFORMATION jobLimits = { 0 }; + PH2_HANDLE_SNAPSHOT handleSnapshot = NULL; + RTL_USER_PROCESS_INFORMATION processInfo = { 0 }; + + // Snapshot all handles so we can make them inheritable + if (Flags & H2_CLONE_PROCESS_FLAGS_INHERIT_ALL_HANDLES) + { + status = H2CaptureHandleAttributes(&handleSnapshot); + + if (!NT_SUCCESS(status)) + goto CLEANUP; + } + + // Create a job to put the cloned process into + status = NtCreateJobObject( + &hJob, + JOB_OBJECT_ALL_ACCESS, + NULL + ); + + if (!NT_SUCCESS(status)) + goto CLEANUP; + + // Make sure it terminates on unexpected errors or if the parent exits. + // Note that we snapshotted handles for inheritance before creating the job, so + // it won't prolong clone's lifetime. + jobLimits.BasicLimitInformation.LimitFlags = + JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE | + JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION | + JOB_OBJECT_LIMIT_BREAKAWAY_OK; + + status = NtSetInformationJobObject( + hJob, + JobObjectExtendedLimitInformation, + &jobLimits, + sizeof(jobLimits) + ); + + if (!NT_SUCCESS(status)) + goto CLEANUP; + + if (Flags & H2_CLONE_PROCESS_FLAGS_INHERIT_ALL_HANDLES) + { + // Enable inheritance for all handles + H2SetInheritanceHandles( + handleSnapshot->Handles, + handleSnapshot->NumberOfHandles, + H2InheritanceEnable + ); + } + + // NOTE: when debugging, do not single-step over RtlCloneUserProcess + // because it inserts a breakpoint (int 3) that will be copied + // to the clone, preventing it from executing the callback. + + // Clone the current process + status = RtlCloneUserProcess( + RTL_CLONE_PROCESS_FLAGS_CREATE_SUSPENDED | + (Flags & (H2_CLONE_PROCESS_FLAGS_INHERIT_HANDLES | H2_CLONE_PROCESS_FLAGS_INHERIT_ALL_HANDLES) ? + RTL_CLONE_PROCESS_FLAGS_INHERIT_HANDLES : 0), + NULL, + NULL, + NULL, + &processInfo + ); + + if (status == STATUS_PROCESS_CLONED) + { + // Execute the callback in the clone... + + status = STATUS_UNHANDLED_EXCEPTION; + + __try + { + #pragma warning(suppress: 6387) // Argument may be NULL + status = Callback(Argument); + } + __finally + { + NtTerminateProcess(NtCurrentProcess(), status); + } + } + + // Executing in the parent... + + if (Flags & H2_CLONE_PROCESS_FLAGS_INHERIT_ALL_HANDLES) + { + // Restore handle inheritance + H2SetInheritanceHandles( + handleSnapshot->Handles, + handleSnapshot->NumberOfHandles, + H2InheritanceRestore + ); + } + + if (!NT_SUCCESS(status)) + goto CLEANUP; + + // Try to put the clone into the job, but don't fail if we can't + // (which might happen on Windows 7, before nested jobs support) + NtAssignProcessToJobObject(hJob, processInfo.ProcessHandle); + + // Replace the primary token, if necessary + if (TokenHandle) + { + PROCESS_ACCESS_TOKEN tokenInfo; + + memset(&tokenInfo, 0, sizeof(tokenInfo)); + tokenInfo.Token = TokenHandle; + + status = NtSetInformationProcess( + processInfo.ProcessHandle, + ProcessAccessToken, + &tokenInfo, + sizeof(tokenInfo) + ); + + if (!NT_SUCCESS(status)) + goto CLEANUP; + } + + // Let the clone run + status = NtResumeThread(processInfo.ThreadHandle, NULL); + + if (!NT_SUCCESS(status)) + goto CLEANUP; + + do + { + // Wait for completion + status = NtWaitForSingleObject(processInfo.ProcessHandle, Alertable, Timeout); + } while (status == STATUS_USER_APC || status == STATUS_ALERTED); + + if (!NT_SUCCESS(status)) + goto CLEANUP; + + // Terminate the clone on timeout + if (status == STATUS_TIMEOUT) + { + timedOut = TRUE; + NtTerminateProcess(processInfo.ProcessHandle, STATUS_TIMEOUT); + } + + // Forward the result status to the caller + if (CompletionStatus) + { + PROCESS_BASIC_INFORMATION basicInfo; + + status = NtQueryInformationProcess( + processInfo.ProcessHandle, + ProcessBasicInformation, + &basicInfo, + sizeof(basicInfo), + NULL + ); + + if (!NT_SUCCESS(status)) + goto CLEANUP; + + *CompletionStatus = basicInfo.ExitStatus; + } + + if (timedOut) + status = STATUS_TIMEOUT; + +CLEANUP: + if (hJob) + { + NtTerminateJobObject(hJob, STATUS_CANCELLED); + NtClose(hJob); + } + + if (processInfo.ProcessHandle) + { + NtTerminateProcess(processInfo.ProcessHandle, STATUS_CANCELLED); + NtClose(processInfo.ProcessHandle); + } + + if (processInfo.ThreadHandle) + NtClose(processInfo.ThreadHandle); + + if (handleSnapshot) + H2ReleaseHandleAttributes(handleSnapshot); + + return status; +} diff --git a/5.Library/Library/cloning.h b/5.Library/Library/cloning.h new file mode 100644 index 0000000..5ecc26a --- /dev/null +++ b/5.Library/Library/cloning.h @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2023 Hunt & Hackett. + * + * This file is licensed under the MIT license. + * + * Authors: + * diversenok + * + */ + +#ifndef _CLONING_H +#define _CLONING_H + +#include +#include + +/* Handle inheritance */ + +typedef struct _H2_HANDLE_ENTRY { + HANDLE HandleValue; + ULONG HandleAttributes; + ULONG GrantedAccess; + ULONG ObjectTypeIndex; +} H2_HANDLE_ENTRY, *PH2_HANDLE_ENTRY; + +typedef struct _H2_HANDLE_SNAPSHOT { + ULONG_PTR NumberOfHandles; + _Field_size_(NumberOfHandles) H2_HANDLE_ENTRY Handles[1]; +} H2_HANDLE_SNAPSHOT, *PH2_HANDLE_SNAPSHOT; + +typedef enum _H2_INHERITACE_OPERATION { + H2InheritanceEnable = 1, + H2InheritanceDisable, + H2InheritanceRestore, +} H2_INHERITACE_OPERATION; + +// Snapshot current handle values and attributes +NTSTATUS +NTAPI +H2CaptureHandleAttributes( + _Outptr_ PH2_HANDLE_SNAPSHOT *Snapshot +); + +// Adjust inheritance for a set of handles +VOID +NTAPI +H2SetInheritanceHandles( + _In_reads_(NumberOfHandles) PH2_HANDLE_ENTRY Handles, + _In_ ULONG_PTR NumberOfHandles, + _In_ H2_INHERITACE_OPERATION Operation +); + +// Free the handle snapshot +VOID +NTAPI +H2ReleaseHandleAttributes( + _Frees_ptr_ PH2_HANDLE_SNAPSHOT Snapshot +); + +/* Shared memory */ + +// Allocate a shared memory region for communicating with the clone +NTSTATUS +NTAPI +H2MapSharedMamory( + _Outptr_ PVOID *BaseAddress, + _In_ SIZE_T AllocationSize, + _Out_opt_ SIZE_T *ReturnedSize +); + +// Free a shared memory region +NTSTATUS +NTAPI +H2UnmapSharedMamory( + _In_ PVOID BaseAddress +); + +/* Cloning */ + +// Attach the clone to the console of the parent process +BOOL +WINAPI +H2AttachToParentConsole( + VOID +); + +#define H2_CLONE_PROCESS_FLAGS_INHERIT_HANDLES 0x00000001 +#define H2_CLONE_PROCESS_FLAGS_INHERIT_ALL_HANDLES 0x00000002 + +// Execute a callback in a clone of the current process +NTSTATUS +NTAPI +H2ExecuteInClone( + _In_ ULONG Flags, + _In_opt_ HANDLE TokenHandle, + _In_ PUSER_THREAD_START_ROUTINE Callback, + _In_opt_ PVOID Argument, + _Out_opt_ PNTSTATUS CompletionStatus, + _In_opt_ PLARGE_INTEGER Timeout, + _In_ BOOLEAN Alertable +); + +#endif diff --git a/5.Library/example.c b/5.Library/example.c new file mode 100644 index 0000000..dc90cde --- /dev/null +++ b/5.Library/example.c @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2023 Hunt & Hackett. + * + * This file is licensed under the MIT license. + * + * Authors: + * diversenok + * + */ + +#include +#include +#include +#include + +NTSTATUS +NTAPI +Payload( + PVOID Parameter +) +{ + if (!H2AttachToParentConsole()) + return NTSTATUS_FROM_WIN32(GetLastError()); + + wprintf_s(L"Hello from clone! My PID is: %zu\r\n", (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueProcess); + return STATUS_SUCCESS; +} + +int wmain(int argc, wchar_t* argv[]) +{ + NTSTATUS status; + NTSTATUS completionStatus; + + wprintf_s(L"Simple demo for Process Cloning by Hunt & Hackett.\r\n\r\n"); + wprintf_s(L"Hello from parent process! My PID is: %zu\r\n", (ULONG_PTR)NtCurrentTeb()->ClientId.UniqueProcess); + + // H2ExecuteInClone is a wrapper that clones the current process, + // executes the provided function there, waits for its completion, + // and, optionally, forwards the exit status. It also supports + // inheriting all handles and using custom primary token for the + // new process. + + status = H2ExecuteInClone( + H2_CLONE_PROCESS_FLAGS_INHERIT_ALL_HANDLES, + NULL, + Payload, + NULL, + &completionStatus, + NULL, + FALSE + ); + + if (!NT_SUCCESS(status)) + { + wprintf_s(L"Unable to clone the current process: 0x%x\r\n", status); + return status; + } + + if (!NT_SUCCESS(completionStatus)) + { + wprintf_s(L"Clone exited with error code: 0x%x\r\n", status); + return status; + } + + wprintf_s(L"Clone exited with a successful code.\r\n"); + return STATUS_SUCCESS; +} diff --git a/Dependencies/phnt b/Dependencies/phnt new file mode 160000 index 0000000..7c1adb8 --- /dev/null +++ b/Dependencies/phnt @@ -0,0 +1 @@ +Subproject commit 7c1adb8a7391939dfd684f27a37e31f18d303944 diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..2f114d2 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Hunt & Hackett + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..d0ea6b6 --- /dev/null +++ b/Readme.md @@ -0,0 +1,427 @@ +# The Definitive Guide To Process Cloning on Windows + +![Blog cover](pictures/01-intro.jpg) + +While not everybody knows it, Windows natively offers functionality similar to the famous Unix `fork()` API. The primary OS mechanism that makes it possible is the support for **cloning the address space** of a given process. Despite its existence, this feature feels odd for an operating system that went for a completely different design path with process creation. And, as we know from experience in the cybersecurity industry, unusual often means untested, which serves as a great starting point for discovering new attack vectors that rely on abusing edge cases. That's why we often hear offers from security researchers to weaponize process cloning for offensive purposes, such as stealthy memory dumping [[1]](https://billdemirkapi.me/abusing-windows-implementation-of-fork-for-stealthy-memory-operations/), [[2]](https://splintercod3.blogspot.com/p/the-hidden-side-of-seclogon-part-2.html) and code injection [[3]](https://i.blackhat.com/EU-22/Thursday-Briefings/EU-22-Nissan-DirtyVanity.pdf). These ideas get exposure at the [top hacking conferences](https://www.blackhat.com/eu-22/briefings/schedule/index.html#dirty-vanity-a-new-approach-to-code-injection--edr-bypass-28417), so there seems to be potential. + +This article aims to provide the reader with a **comprehensive guide** to the technical details and the underlying design decisions of process cloning on Windows and how they affect its usability. We will explore why most techniques for code injection via cloning will almost inevitably struggle with evading security products, yet other attack vectors like credential dumping might find their niche. There is a lot to cover, so let's dive right in! + +> **Disclaimer:** the system functions (alongside their behavior) described below is officially undocumented and subject to potential (though unlikely) change. We assume that the myriad of pitfalls described below already serves as a good reason why, but let's stress it out: please, don't rely on them in production code! + +# Recap: Process Creation + +Windows provides a handful of documented ways for starting new processes: [CreateProcess](https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw), [ShellExecuteEx](https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecuteexw), [WMI](https://learn.microsoft.com/en-us/windows/win32/wmisdk/about-wmi)'s [Win32_Process.Create](https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/create-method-in-class-win32-process), [CreateProcessWithLogon](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createprocesswithlogonw), [WinExec](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-winexec) — you name it. Despite this seeming diversity, each one eventually calls [CreateProcessAsUser](https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessasuserw) (technically, `CreateProcessInternalW` implemented in kernelbase.dll), either directly or indirectly (i.e., via RPC). Going a bit lower, we reach the final stop before jumping into the kernel — **[`NtCreateUserProcess`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpsapi.h#L2201-L2216)** from ntdll.dll. Here are the most noticeable traits of this syscall: +- It **understands filenames** plus opens and **parses the executable** on our behalf. +- It automatically **writes process parameters** (command line arguments, current directory, environment variables, etc.) into the new process. +- It **always creates the initial thread**, automatically selecting stack size and entry point address. + +Here is a snippet from the function's definition in [phnt](https://github.com/processhacker/phnt): + +```c +typedef struct _PS_ATTRIBUTE +{ + ULONG_PTR Attribute; // Any of ~30 pre-defined PS_ATTRIBUTE_* values + SIZE_T Size; + ULONG_PTR Value; + PSIZE_T ReturnLength; +} PS_ATTRIBUTE, *PPS_ATTRIBUTE; + +typedef struct _PS_ATTRIBUTE_LIST +{ + SIZE_T TotalLength; + PS_ATTRIBUTE Attributes[ANYSIZE_ARRAY]; +} PS_ATTRIBUTE_LIST, *PPS_ATTRIBUTE_LIST; + +NTSYSCALLAPI +NTSTATUS +NTAPI +NtCreateUserProcess( + _Out_ PHANDLE ProcessHandle, + _Out_ PHANDLE ThreadHandle, + _In_ ACCESS_MASK ProcessDesiredAccess, + _In_ ACCESS_MASK ThreadDesiredAccess, + _In_opt_ POBJECT_ATTRIBUTES ProcessObjectAttributes, + _In_opt_ POBJECT_ATTRIBUTES ThreadObjectAttributes, + _In_ ULONG ProcessFlags, // PROCESS_CREATE_FLAGS_* + _In_ ULONG ThreadFlags, // THREAD_CREATE_FLAGS_* + _In_opt_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters, + _Inout_ PPS_CREATE_INFO CreateInfo, + _In_opt_ PPS_ATTRIBUTE_LIST AttributeList + ); +``` + +As you can see, `NtCreateUserProcess` is a high-level API that supports [substantial customization](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpsapi.h#L1847-L1881). Conveniently, it assumes reasonable defaults and can automatically infer almost everything it needs. So, while it might look intimidating, calling `NtCreateUserProcess` is not that complex, especially compared to other duties of `CreateProcess`, such as registering the new process with CSRSS. + +Before the era of Windows Vista (when `NtCreateUserProcess` didn't exit), `CreateProcess` used to rely on a different syscall — **[`NtCreateProcessEx`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpsapi.h#L1252-L1265)**. This older alternative exists until this day, although it remains available primarily for backward compatibility and supporting minimal processes. Here are its most distinct features: +- Instead of files, `NtCreateProcessEx` **only accepts memory projection objects** internally called image sections. +- This API is **unaware of** such user-mode concepts as **process parameters** (the previously mentioned command line arguments and others), thus, requiring the caller to allocate and deliver them manually. +- It **does not create threads** — only the process itself, leaving the rest up to the caller. + +The definition of this function looks innocently straightforward: + +```c +NTSYSCALLAPI +NTSTATUS +NTAPI +NtCreateProcessEx( + _Out_ PHANDLE ProcessHandle, + _In_ ACCESS_MASK DesiredAccess, + _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, + _In_ HANDLE ParentProcess, + _In_ ULONG Flags, // PROCESS_CREATE_FLAGS_* + _In_opt_ HANDLE SectionHandle, + _In_opt_ HANDLE DebugPort, + _In_opt_ HANDLE TokenHandle, + _Reserved_ ULONG JobMemberLevel + ); +``` + +> Technically, there is a pair of functions called `NtCreateProcess` and `NtCreateProcessEx`. But since the first one is merely a wrapper that invokes the second, we will refer to them as one. + +Don't let the function prototype deceive you: using `NtCreateProcessEx` in place of `NtCreateUserProcess` requires a **significant amount of work** consisting of many additional steps, such as opening and parsing the PE file, adjusting PEB, and creating the initial thread. Still, in exchange for this extra complexity, `NtCreateProcessEx` offers unique capabilities that we can weaponize against security software. +You can read more about these techniques (and even find some demos) in the [Process Tampering section](https://www.huntandhackett.com/blog/concealed-code-execution-techniques-and-detection) of one of our previous blog posts. + +Now, how does it all relate to cloning? The answer is simple: both syscalls support it, yet, with vastly different limitations. Shortly we will learn about the differences and how they affect various usage scenarios; for now, let's explore the role of inheritance in process creation. After all, what is cloning if not an extreme manifestation of resource inheritance? + +# What Does A New Process Inherit + +Process creation includes three roles — the *parent*, the *caller*, and the *child*: + +1. The **child** is the new process we create. +2. The **caller** is whoever invokes the process creation routine and, thus, is the one who controls which executable to run, its arguments, environment variables, and other parameters specified upon creation. The caller also determines which process to assign as a parent. Once the system creates the child, the caller gets handles to it and its initial thread. +3. The **parent** is the process that supplies the defaults for most inheritable properties (like handles) discussed below. Usually, the caller and the parent are one entity, but they don't have to be. In case of a mismatch, we say that the caller uses re-parenting. Of course, specifying another process as a parent requires opening it for `PROCESS_CREATE_PROCESS` (part of `GENERIC_WRITE` access), both when using the modern `NtCreateUserProcess` and the legacy `NtCreateProcessEx` syscalls. + +![Re-parenting during normal process creation](pictures/02-reparenting.png) + +Looking at the things that the child inherits from the parent, we can highlight a few properties: + +- **[Security context](https://learn.microsoft.com/en-us/windows/win32/secauthz/access-tokens)**. Here, the caller has two options: explicitly provide a token, or let the child inherit one from the parent. The rules for token inheritance have a few caveats, but generally, the child receives an identical copy of the parent's token. There are some exceptions (the no-child-process flags, trust levels, mandatory labels, security attributes, etc.), but they are all out of the scope of the discussion. This feature is supported by both process creation methods, despite the information you might find on the internet that comes from an outdated definition for `NtCreateProcess[Ex]`. + +- **[Handles](https://learn.microsoft.com/en-us/windows/win32/sysinfo/kernel-objects)**. The system can copy references to kernel objects from the parent's to the child's handle table. Again, the caller chooses whether to enable/disable this feature and, in the case of `NtCreateUserProcess`, can even narrow it down to a subset of entries. Keep in mind that copying only applies to handles already marked as inheritable. Although it is easy for a process to temporarily change the inheritance mode for any of its handles via [`NtSetInformationObject`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntobapi.h#L142-L150), it might not be so trivial to achieve during re-parenting. + +- **[Job object](https://learn.microsoft.com/en-us/windows/win32/procthread/job-objects)**, or the lack of one. Depending on the limitations configured on the parent's job, this feature might be either advantageous or unfavorable. Sometimes, the caller can request to break away the child from the job, which requires a special flag or system-level permissions. Alternatively, the caller can also put the child into more jobs — directly during creation with `NtCreateUserProcess` or post-factum via [`NtAssignProcessToJobObject`](https://learn.microsoft.com/en-us/windows/win32/api/jobapi2/nf-jobapi2-assignprocesstojobobject). + +- **[Virtual address space](https://learn.microsoft.com/en-us/windows/win32/memory/virtual-address-space)**. That's where things get interesting. Instead of initializing a clean memory for the child (and mapping its image there), the new process (called a clone in this case) receives a replica of the parent's address space. That includes duplicating all private pages plus most of the mapped memory regions. Because this feature is incompatible with selecting another executable, both `NtCreateUserProcess` and `NtCreateProcessEx` use this mode when the caller doesn't provide a filename or section object on input. + +But enough theory. We will discuss the exact rules of address space inheritance (that makes the bulk of cloning) in more detail later; for now, we are ready to start experimenting. + +# Cloning for Execution + +*Cloning offers a peculiar primitive*: it allows executing code in a temporary process identical to ours while skipping its initialization. In other words, if you don't have control over the `main()` function (because your code is merely part of a library, for example) and, therefore, cannot introduce custom startup arguments, yet, have to perform a simple operation that requires a new process, cloning seems like an ideal candidate. Just beware that you might be asking for too much if you want to use it in complex scenarios like for parallel handling of client requests or isolating browser tabs. Process cloning is certainly not free from caveats, which we will address shortly. + +## NtCreateUserProcess + +The recipe for cloning the current process with `NtCreateUserProcess` is exceedingly simple: don't specify the **image filename** (which usually comes as one of the Ps- attributes) and ignore the `ProcessParameters` argument. + +```c +PS_CREATE_INFO createInfo = { sizeof(createInfo) }; +HANDLE processHandle; +HANDLE threadHandle; + +NTSTATUS status = NtCreateUserProcess( + &processHandle, + &threadHandle, + PROCESS_ALL_ACCESS, + THREAD_ALL_ACCESS, + NULL, // ProcessObjectAttributes + NULL, // ThreadObjectAttributes + PROCESS_CREATE_FLAGS_INHERIT_HANDLES, // ProcessFlags + 0, // ThreadFlags + NULL, // ProcessParameters + &createInfo, + NULL // AttributeList +); +``` + +Of course, you can make it more complex by specifying non-conflicting Ps- attributes or overriding security descriptors, but you don't have to. As mentioned earlier, this syscall is quite intelligent — in addition to creating the process object (which, in this case, comes with a copy of our address space), it also **clones the current thread**. Naturally, this new thread continues executing (in a world almost indistinguishable from ours) right after exiting from the syscall. + +> Technically, the cloned thread starts in `LdrInitializeThunk` (just like any other thread). But it hardly matters because it skips loader initialization and quickly jumps back to the next instruction after the syscall. + +The semantic of using process cloning on Windows, therefore, becomes virtually identical to calling `fork()` on Unix-like systems: + +```c +NTSTATUS status = NtCreateUserProcess(...); + +if (status == STATUS_PROCESS_CLONED) +{ + // Executing in the clone/child +} +else +{ + // Executing in the parent/caller +} +``` + +To allow threads to tell each other apart, `NtCreateUserProcess` returns a **special status**: the cloned one always gets `STATUS_PROCESS_CLONED` (a successful code of 0x00000129) while the original receives everything else. The system also automatically adjusts the [`ClientID`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpebteb.h#L285) field in the new thread's [TEB](https://learn.microsoft.com/en-us/windows/win32/debug/thread-environment-block--debugging-notes-) (which remains at the same address) so that [`GetCurrentProcessId`](https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getcurrentprocessid) and [`GetCurrentThreadId`](https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getcurrentthreadid) continue returning relevant information. It also sets two other flags: [`InheritedAddressSpace`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpebteb.h#L71) in PEB and [`ClonedThread`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpebteb.h#L429) in TEB. The first one is used and cleared internally by `LdrpInitialize`; the second remains set and further allows distinguishing the clone from the parent. + +You can find the demo program that clones itself via `NtCreateUserProcess` in the [dedicated section](https://github.com/huntandhackett/process-cloning/blob/master/1.NtCreateUserProcess/main.c) of the repository. + +## NtCreateProcessEx? + +The first step of cloning the current process with `NtCreateProcessEx` is also simple — merely invoke the routine without specifying the **section handle**: + +```c +OBJECT_ATTRIBUTES objAttr; +HANDLE hProcess; + +InitializeObjectAttributes(&objAttr, NULL, 0, NULL, NULL); + +NTSTATUS status = NtCreateProcessEx( + &hProcess, + PROCESS_ALL_ACCESS, + &objAttr, + NtCurrentProcess(), // ParentProcess + PROCESS_CREATE_FLAGS_INHERIT_HANDLES, + NULL, // SectionHandle + NULL, // DebugPort + NULL, // TokenHandle + 0 // Reserved +); +``` + +The code above clones the process, but in contrast with `NtCreateUserProcess`, it doesn't clone the calling thread (or any threads, for that matter). Usually, we would continue by doing it ourselves using either of two options: +1. Using the modern [`NtCreateThreadEx`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpsapi.h#L2230-L2245) function that allocates a new TEB and stack and invokes the provided address. +2. Using the legacy [`NtCreateThread`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpsapi.h#L1445-L1457) API that allows repurposing existing stacks and starting with an [arbitrary context](https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getthreadcontext). It does create a new TEB, nonetheless. + +Unfortunately, it doesn't matter which method we prefer because the results will be identically disappointing: `STATUS_PROCESS_IS_TERMINATING`, or, in other words, "*An attempt was made to access an exiting process.*" The system considers the cloned threadless process as waiting for deletion and, thus, refuses to create threads in it – something we inevitably need to execute code. Sorry, but `NtCreateProcessEx`-based cloning is **incompatible with code execution**. + +> Note that it wasn't always the case. The kernel allowed creating threads in such processes until Windows 8.1. + +## RtlCloneUserProcess + +Returning to `NtCreateUserProcess`, we should notice that ntdll offers several wrappers that call this syscall under the hood and simplify its usage: [`RtlCreateUserProcess`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntrtl.h#L2745-L2759), [`RtlCreateUserProcessEx`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntrtl.h#L2763-L2787), and [**`RtlCloneUserProcess`**](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntrtl.h#L2815-L2831). The first two don't support cloning because they always specify the filename; the third one, however, is entirely dedicated to this task: + +```c +typedef struct _RTL_USER_PROCESS_INFORMATION +{ + ULONG Length; + HANDLE ProcessHandle; + HANDLE ThreadHandle; + CLIENT_ID ClientId; + SECTION_IMAGE_INFORMATION ImageInformation; +} RTL_USER_PROCESS_INFORMATION, *PRTL_USER_PROCESS_INFORMATION; + +#define RTL_CLONE_PROCESS_FLAGS_CREATE_SUSPENDED 0x00000001 +#define RTL_CLONE_PROCESS_FLAGS_INHERIT_HANDLES 0x00000002 +#define RTL_CLONE_PROCESS_FLAGS_NO_SYNCHRONIZE 0x00000004 + +NTSYSAPI +NTSTATUS +NTAPI +RtlCloneUserProcess( + _In_ ULONG ProcessFlags, + _In_opt_ PSECURITY_DESCRIPTOR ProcessSecurityDescriptor, + _In_opt_ PSECURITY_DESCRIPTOR ThreadSecurityDescriptor, + _In_opt_ HANDLE DebugPort, + _Out_ PRTL_USER_PROCESS_INFORMATION ProcessInformation + ); +``` + +As usually happens with wrappers, `RtlCloneUserProcess` doesn't offer the full customization potential of `NtCreateUserProcess`. For example, it doesn't support immediately putting the clone into a [job object](https://learn.microsoft.com/en-us/windows/win32/procthread/job-objects) — something that might be useful for improving stability. Luckily, [`NtAssignProcessToJobObject`](https://learn.microsoft.com/en-us/windows/win32/api/jobapi2/nf-jobapi2-assignprocesstojobobject) can achieve that after process creation. Another thing you might notice is that we cannot specify the token for the new process. However, it is not `RtlCloneUserProcess`'s fault — `PS_ATTRIBUTE_TOKEN` is incompatible with cloning even on `NtCreateUserProcess`'s level. Perhaps, that's because tokens also dictate the session to which the process belongs, and cross-session cloning is something the system cannot afford. And again, luckily, there is a workaround: we can use [`NtSetInformationProcess`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpsapi.h#L1359-L1367) with the [`ProcessAccessToken`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpsapi.h#L126) info class to change the clone's primary token (but not the session!) before it starts. + +So, why is `RtlCloneUserProcess` useful when we already have the more flexible `NtCreateUserProcess`? The reason might be surprising: **we cannot re-implement its functionality**, at least not entirely and precisely. To shed some light on this statement, we can consider a quote from Microsoft Research's [paper](https://www.microsoft.com/en-us/research/uploads/prod/2019/04/fork-hotos19.pdf) that highlights the conceptual problems of Unix's `fork()`, many of which equally apply to Windows's process cloning: + +> Any non-trivial OS facility must document its behaviour across a fork, and **user-mode libraries must be prepared for their state to be forked at any time**. + +If you look closer at `RtlCloneUserProcess` under a decompiler, you'll see that unless the caller specifies the no-synchronize flag, the function **prepares the state of ntdll** for cloning. More specifically: +- It drains the thread pool work queue. +- It temporarily acquires a handful of synchronization locks: the loader lock, the PEB lock, the TLS and FLS locks, heap manager locks, etc. + +Because most of these operations use unexported variables and functions, manually reproducing this behavior is problematic. That's why you should prefer calling `RtlCloneUserProcess` instead of `NtCreateUserProcess`. + +You can find the demo program that clones itself via `RtlCloneUserProcess` in the [dedicated section](https://github.com/huntandhackett/process-cloning/blob/master/2.RtlCloneUserProcess/main.c) of the repository. + +## The Myriads of Caveats + +Does it mean we are safe with `RtlCloneUserProcess`, then? Not even close. The primary factor determining whether the cloned code will execute correctly or crash dramatically is the **variety of OS facilities** it uses. On the one side of the scale, take programs that are single-threaded implementations of pure mathematical algorithms. Such examples are as compatible with cloning as they can be because the complete state of the memory is enough for them to continue operating without drawbacks. On the extreme opposite side, you can imagine a muli-threaded GUI application that uses hardware acceleration. Any of these properties is [problematic](https://www.microsoft.com/en-us/research/uploads/prod/2019/04/fork-hotos19.pdf) even when forking on Unix-like systems; combined, plus used on Windows, they are a recipe for disaster. + +So, let's walk through several categories of OS resources and document how they behave with cloning: + +- First and foremost, we have **kernel handles**. Because the handle table is a per-process structure shared by all libraries loaded into the application, most entries inside are merely an implementation detail of somebody else's code. As previously mentioned, it's possible to [iterate through all handles](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpsapi.h#L168) and [mark them as inheritable](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntobapi.h#LL52C39-L52C69). Once we clone the process, the OS copies the handles, preserving their indices. There is a problem, however: not all kernel types and handle instances support that. Notable examples of such exceptions include [exclusive handles](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/phnt_ntdef.h#L203), ALPC ports, and types protected by custom [Ob- callbacks](https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-obregistercallbacks). These entries will leave vacant spots in the cloned handle table. So if we cannot duplicate such objects by other means, it might be a good idea to occupy the corresponding slots with placeholder objects solely to prevent accidental collisions and double-use. + +- Secondly, there are **threads**. `NtCreateUserProcess` (and, subsequently, `RtlCloneUserProcess`) clones only the calling thread and not any other that might exist concurrently. As a general rule, the caller doesn't (and cannot) know the details about all threads in their process. Some might belong to Ntdll's thread pool, others to the runtime, shell extensions, 3rd-party libraries, security products, etc. It's usually safer to ignore them than to let them run uncontrolled. Note that cloning does copy stacks and TEBs of all threads, so if you ever want to try, [`NtCreateThread`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpsapi.h#L1445-L1457) can help since it supports reusing stacks and starting with arbitrary contexts. Additionally, there is an issue with existing [thread pools](https://learn.microsoft.com/en-us/windows/win32/procthread/thread-pools): they are not meant for sharing and will continue creating threads in the parent process even when used from the clone. + +- Closely related to the previous item, there are problems with **synchronization primitives** that can result in deadlocks. First, our attempt to fix compatibility by inheriting as many handles as possible has a downside — it introduces oversharing of kernel synchronization objects. Acquiring shared [mutexes](https://learn.microsoft.com/en-us/windows/win32/sync/mutex-objects), [events](https://learn.microsoft.com/en-us/windows/win32/sync/event-objects), or [semaphores](https://learn.microsoft.com/en-us/windows/win32/sync/semaphore-objects) in the clone also contends with the parent and might even deadlock its threads. User-mode primitives such as [wait-on-address](https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitonaddress), [condition variables](https://learn.microsoft.com/en-us/windows/win32/sync/condition-variables), [SRW locks](https://learn.microsoft.com/en-us/windows/win32/sync/slim-reader-writer--srw--locks), and [critical sections](https://learn.microsoft.com/en-us/windows/win32/sync/critical-section-objects) are also not trouble-free. On modern versions of Windows, they rely on [`NtWaitForAlertByThreadId`](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpsapi.h#L1672-L1678), and the IDs of cloned threads are different. + +- Strictly speaking, the new process does not always inherit a precise replica of the parent's **address space**. The catch is with mapped and image-backed memory. [`NtMapViewOfSection`](https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-zwmapviewofsection) has an argument called `InheritDispositon` that controls whether the system should share or unmap the memory view during cloning (note that the official documentation uses the term "child processes," which is, technically, incorrect because typical child processes don't inherit the address space). Even though most Win32 API functions ([`LoadLibrary`](https://learn.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibraryw), [`MapViewOfFileEx`](https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-mapviewoffileex), etc.) set it to `ViewShare`, some OS components can specify `ViewUnmap` instead. Notable examples include the CSR shared memory, CSR port heap, and GDI shared handle table. Luckily, this problem doesn't affect private regions and is otherwise predictable. Later in the text, we showcase a tool that inspects the layout of the address space of a given process and highlights problematic areas. + +So, what is safe to call from the clone? At the very least, most **NT syscalls**. Of course, the OS offers many other higher-level abstractions that rely on the previous facilities, which we cannot exhaustively cover here. Here are some examples of what might work and what not: +- **Loading more DLLs** in the clone gets stuck on Ntdll's locks. Alternatively, if we instruct `RtlCloneUserProcess` to bypass synchronization, it crashes with an access violation on the CSR port heap. That's because resolving DLL dependencies requires generating [SxS activation contexts](https://learn.microsoft.com/en-us/windows/win32/sbscs/activation-contexts) [for redirection](https://learn.microsoft.com/en-us/windows/win32/sbscs/dll-com-redirection-on-windows) and, thus, calling into CSR. Therefore, make sure to load the necessary libraries beforehand. Generally, we should expect most functionality that internally uses activation contexts (like COM) to misbehave. +- Yet, some **RPC-based functions** might still work, provided the clone inherits enough handles. For instance, [SCM](https://learn.microsoft.com/en-us/windows/win32/services/service-control-manager), [LSA](https://learn.microsoft.com/en-us/windows/win32/secmgmt/lsa-policy), [SAM](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntsam.h), and [WinStation](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/winsta.h) API operate mostly correctly. That means we can control services, look up SIDs, perform logon, etc. +- **Console I/O** requires a slight notch in the form of re-attaching: [`FreeConsole`](https://learn.microsoft.com/en-us/windows/console/freeconsole) + [`AttachConsole(ATTACH_PARENT_PROCESS)`](https://learn.microsoft.com/en-us/windows/console/attachconsole) does the trick. +- **Window- and graphics-related APIs** are unlikely to work, at least because the new process skipped win32k initialization and is missing the GDI shared handle table. Sorry, but no easy `MessageBox`'es from clones. + +# Cloning for Remote Execution + +If the previous discussion hasn't demotivated you from continuing experimenting, we can take the next logical step and apply cloning to other processes. At first glance, it might appear we merely need to specify the parent process handle to make it happen. A keen reader might spot a conceptual problem: `NtCreateUserProcess` is supposed to create a thread (that's one of the rules), yet cloning the caller's thread cannot work because it belongs to the wrong process. Cloning any of the parent's existing (unrelated) threads would also be strange since we don't control them. Finally, the function prototype has no parameters for specifying the start address. It all suggests that `NtCreateUserProcess` **cannot clone other processes**. Indeed, trying to do so causes it to fail with `STATUS_INVALID_PARAMETER`. + +## RtlCreateProcessReflection + +Here comes the lifehack of system programming: if you cannot do something cross-process, create a remote thread and do it in-process. Welcome, [**`RtlCreateProcessReflection`**](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntrtl.h#L2851-L2878): + +```c +#define RTL_PROCESS_REFLECTION_FLAGS_INHERIT_HANDLES 0x2 +#define RTL_PROCESS_REFLECTION_FLAGS_NO_SUSPEND 0x4 +#define RTL_PROCESS_REFLECTION_FLAGS_NO_SYNCHRONIZE 0x8 +#define RTL_PROCESS_REFLECTION_FLAGS_NO_CLOSE_EVENT 0x10 + +typedef struct _RTLP_PROCESS_REFLECTION_REFLECTION_INFORMATION +{ + HANDLE ReflectionProcessHandle; + HANDLE ReflectionThreadHandle; + CLIENT_ID ReflectionClientId; +} RTLP_PROCESS_REFLECTION_REFLECTION_INFORMATION, *PRTLP_PROCESS_REFLECTION_REFLECTION_INFORMATION; + +NTSYSAPI +NTSTATUS +NTAPI +RtlCreateProcessReflection( + _In_ HANDLE ProcessHandle, + _In_ ULONG Flags, + _In_opt_ PVOID StartRoutine, + _In_opt_ PVOID StartContext, + _In_opt_ HANDLE EventHandle, + _Out_opt_ PRTLP_PROCESS_REFLECTION_REFLECTION_INFORMATION ReflectionInformation + ); +``` + +Under the hood, this API performs the following sequence of operations involving three processes: + +**Inside the caller**: + 1. It prepares and maps a shared memory region between the caller and the parent, passing the required parameters via an `RTLP_PROCESS_REFLECTION_CONTEXT` structure. + 2. It creates a few events for synchronizing between processes and duplicates them into the parent. + 3. It creates a thread in the parent on an unexported `RtlpProcessReflectionStartup` function and waits until this thread either exits or notifies us that the clone has started. + 4. It duplicates the process and thread handles of the clone from the parent into the caller and exits. + +**Inside the parent**: + 1. After a bit of preparation, `RtlpProcessReflectionStartup` calls `RtlCloneUserProcess`. + 2. It duplicates event handles to the new process. + 3. Once the clone starts, it notifies the caller and exits. + +**Inside the clone**: + 1. It waits on the user-provided event (if there is one). + 2. Depending on the flags, `RtlpProcessReflectionStartup` invokes the provided callback, suspends itself, or does nothing. + 3. After that, the clone terminates. + +![Process reflection under the hood](pictures/03-reflection.png) + +Under normal circumstances, `RtlCreateProcessReflection` (as well as the injected thread in the parent) should exit almost immediately without waiting for the clone to complete. We can summarize the logic this API executes inside the new process with the following code: + +```c +if (Context->ReflectionStartEvent) +{ + // Wait on the user-provided event + NtWaitForSingleObject(Context->ReflectionStartEvent, FALSE, NULL); +} + +if (Context->ReflectionRoutine) +{ + // Invoke the user-provided callback + Context->ReflectionRoutine(Context->ReflectionParameter); +} +else if ((Context->ReflectionFlags & RTL_PROCESS_REFLECTION_FLAGS_NO_SUSPEND) == 0) +{ + // Suspend the clone + NtSuspendThread(NtCurrentThread(), NULL); +} + +// Terminate once done +NtTerminateProcess(NtCurrentProcess(), STATUS_SUCCESS); +``` + +As a result of the implementation details we just discussed, this API requires opening the parent for `PROCESS_VM_OPERATION | PROCESS_CREATE_THREAD | PROCESS_DUP_HANDLE` access and has additional stability considerations. First, the parent needs to be ready to accept remote threads and cannot be [frozen by a job](https://github.com/diversenok/Suspending-Techniques#freezing-via-a-job-object) (an [execution power request](https://github.com/winsiderss/systeminformer/blob/0c9970e182f05009272d6f02b616a15c17ce0ddf/phlib/native.c#L14094-L14145) might solve the problem) or [a debugger](https://github.com/diversenok/Suspending-Techniques#suspend-via-a-debug-object). Secondly, because the injected (and subsequently cloned) thread [skips DLL attaching](https://github.com/processhacker/phnt/blob/7c1adb8a7391939dfd684f27a37e31f18d303944/ntpsapi.h#L2221), it [slightly limits](https://m417z.com/A-guest-in-another-process-a-story-of-a-remote-thread-crash/) the number of supported operations that are safe to perform in the clone. + +Despite these challenges, [Windows Error Reporting](https://learn.microsoft.com/en-us/windows/win32/wer/about-wer) successfully relies on this function for asynchronously dumping and analyzing applications when they hang or encounter unhandled exceptions. + +## Offensive Code Injection? Unlikely. + +The recent Black Hat Europe 2022 held a talk about applying process cloning for offensive purposes called ["Dirty Vanity: A New Approach to Code Injection and EDR Bypass."](https://www.blackhat.com/eu-22/briefings/schedule/index.html#dirty-vanity-a-new-approach-to-code-injection--edr-bypass-28417) The speaker presented the research suggesting weaponizing the peculiarities of cloning for stealthy code injection. In this section, we will review this suggestion and discuss whether it's probable that we will see such techniques applied in the future. + +To start with, let's summarize our previous findings: +1. `NtCreateProcessEx` can clone other processes but **doesn't allow creating threads**. The [takeaways slide](https://i.blackhat.com/EU-22/Thursday-Briefings/EU-22-Nissan-DirtyVanity.pdf) of Dirty Vanity suggests exploring `NtCreateProcessEx`-based execution primitives, which are, unfortunately, impossible according to our research. +2. `NtCreateUserProcess` allows executing code but **only works on the current process** due to conceptual limitations. + +As the only workaround, we have `RtlCreateProcessReflection`, which can clone other processes "from the inside" via a remote thread. From the security perspective, it certainly offers a remarkable possibility but, at the same time, suffers from most of the shortcomings [typical for code injection](https://www.huntandhackett.com/blog/concealed-code-execution-techniques-and-detection#detection). **Gaining code execution in the clone requires first gaining execution in the parent**, which mostly defeats the purpose. We can hardly consider using `RtlCreateProcessReflection` a stealthy approach because it shares many detection vectors with popular offensive techniques: +- It opens a handle to another process (the parent), triggering the [Ob- callback](https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-obregistercallbacks). In itself, this fact isn't problematic. However, the access mask that the function requests look suspiciously similar to the one necessary for shellcode or DLL injection and includes heavily monitored rights. +- It maps a memory region into a different process, triggering [EtwTi](https://undev.ninja/introduction-to-threat-intelligence-etw/). At least this region is not executable, lowering its chances of triggering behavioral alerts. +- It performs cross-process thread creation, triggering the [corresponding Ps- callback](https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddk/nf-ntddk-pssetcreatethreadnotifyroutineex) and implying that we might attempt to compromise the parent process. Remote thread creation is a particularly invasive operation that alone might be enough to raise alerts. +- Other less suspicious indicators of compromise include anomalous process creation (typically caught via [another Ps- callback](https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddk/nf-ntddk-pssetcreateprocessnotifyroutineex)) and remote process/thread handle duplication (again, visible via [Ob- callbacks](https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ns-wdm-_ob_pre_duplicate_handle_information)). + +As a result, EDRs that collect telemetry from sources capable of detecting classical DLL and shellcode injection should have no trouble seeing the underlying shenanigans required to achieve code injection via cloning. Of course, like any other new approach, Dirty Vanity breaks known and easily recognizable patterns and, thus, has a higher chance of success than classical techniques. Yet, we can argue that it doesn't offer severe improvements in counteracting runtime detection, making it merely slightly appealing for red-teaming applications. It's also worth mentioning that the outcome could've been drastically different (much in favor of undetectability) if `NtCreateProcessEx`-based cloning was compatible with execution like it was before Windows 8.1. + +# Cloning for Memory Dumping + +**Process cloning is quick** (usually taking the order of milliseconds). The reason is the [copy-on-write mechanism](https://devblogs.microsoft.com/oldnewthing/20220314-00/?p=106346) that allows duplicating the address space without immediately copying the underlying memory and storing the data twice. Beware that this feature works at the expense of extensive commit charge (which guarantees that the OS can always duplicate pages on demand), so it is still possible to exhaust system resources. + +Effectively, cloning provides **lightweight checkpoints** that capture the state of a process's address space at a specific moment. As a result, this mechanism becomes convenient for debugging purposes. If we want to read and save huge chunks of memory (like when making [minidumps](https://learn.microsoft.com/en-us/windows/win32/debug/minidump-files)), it's usually better to work on suspended or frozen processes. That's because writing several hundred megabytes on the disk can be a lengthy operation, and performing it while the target is running introduces race conditions. Cloning offers a non-intrusive alternative to suspension because it allows operating in parallel with the target. + +If we compare the API calls that make remote clone-based memory dumping possible, `NtCreateProcessEx` outmatches `RtlCreateProcessReflection` both in stability and stealthiness: +- It **doesn't intrude** into the target as opposed to reflection that can theoretically crash it. +- It **works on frozen** processes. +- It relies on **less-monitored rights** (child process creation vs. remote thread creation, memory modification, and handle duplication). +- It **doesn't trigger** [Ps- callbacks](https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddk/nf-ntddk-pssetcreateprocessnotifyroutineex). Since `NtCreateProcessEx` doesn't insert the initial thread, the system doesn't notify drivers about the new (cloned) process. + +With these advantages in mind, you can find blog posts from other security researchers [[1]](https://billdemirkapi.me/abusing-windows-implementation-of-fork-for-stealthy-memory-operations/), [[2]](https://splintercod3.blogspot.com/p/the-hidden-side-of-seclogon-part-2.html) that describe using `NtCreateProcessEx` for memory dumping. Interestingly, the required concepts (address space inheritance and the required access for it) have been documented more than two decades ago in [Gary Nebbett's book "Native API Reference"](https://www.google.com/books/edition/Windows_NT_2000_Native_API_Reference/Fp1ct-bKYdcC) from 2000. The book even provides a code sample for cloning/forking via `NtCreateProcess`, which (being the only process creation syscall at the time) permitted creating threads. + +Here is a code snippet for dumping the memory of another process via cloning. + +```c +CLIENT_ID clientId = { ... }; +HANDLE hFile = { ... }; + +OBJECT_ATTRIBUTES objAttr; +InitializeObjectAttributes(&objAttr, NULL, 0, NULL, NULL); + +// Open the target process +HANDLE hParent; +NTSTATUS status = NtOpenProcess(&hParent, PROCESS_CREATE_PROCESS, &objAttr, &clientId); + +if (!NT_SUCCESS(status)) + return status; + +// Clone it +HANDLE hClone; +status = NtCreateProcessEx( + &hClone, + PROCESS_ALL_ACCESS, + &objAttr, + hParent, // ParentProcess + 0, // Flags + NULL, // SectionHandle + NULL, // DebugPort + NULL, // TokenHandle + 0 // Reserved +); + +if (!NT_SUCCESS(status)) + return status; + +// Proceed reading clone's memory +BOOL success = MiniDumpWriteDump( + hClone, // hProcess + 0, // ProcessId + hFile, // hFile + MiniDumpWithFullMemory, // DumpType + NULL, // ExceptionParam + NULL, // UserStreamParam + NULL // CallbackParam +); +``` + +You can find the complete version of [the code](https://github.com/huntandhackett/process-cloning/blob/master/3.CloneAndMinidump/main.c) and [the pre-compiled binary](https://github.com/huntandhackett/process-cloning/releases/tag/v1.0) in the dedicated sections of the repository: + +Starting from Windows 8.1, Microsoft also offers a documented [**process snapshotting** API](https://learn.microsoft.com/en-us/windows/win32/api/_proc_snap/) that relies on `NtCreateProcessEx`-based cloning. This API helps retrieve, iterate, and save information about the target process. It's funny to think that anti-virus products that don't filter out or monitor `PROCESS_CREATE_PROCESS` access on LSASS (thus, allowing admins to leverage it for indirectly reading credentials) are, in fact, vulnerable to the officially documented memory dumping API. Internally, these documented Pss* exports (`PssCaptureSnapshot`, and co.) from kernel32/kernelbase are merely wrappers over NtPss* functions (`PssNtCaptureSnapshot`, etc.) from ntdll that do most of the heavy lifting. + +# Memory Tampering & Troubleshooting + +The previous section established that `PROCESS_CREATE_PROCESS` (aka. child process creation) access effectively includes `PROCESS_VM_READ` (remote memory reading) access. However, we haven't seen anybody mentioning another similar attack vector that allows a limited `PROCESS_VM_WRITE` primitive. The key to this idea is **writable mapped memory**. Remember the copy-on-write mechanism described earlier? It's important to understand that it only applies to private memory, plus otherwise merely presents an implementation detail. If there were no performance penalties, Microsoft could easily replace it with complete copying. Mapped memory, on the other hand, is designed for sharing and therefore works differently. When the clone inherits a mapped region, it uses the same underlying storage, assuming the view or allocation protection doesn't force the copy-on-write semantics. In other words, any inheritable writable view from the parent also allows writing from the clone and presents a potential attack surface. Unfortunately, such regions are not plentiful, but they are also not necessarily rare. For instance, many programs map files into their address space to perform simplified I/O. Cloning offers a potential backdoor for modifying these files without reopening them or directly writing into the target process. + +![](pictures/04-inspect.png) + +We present a small tool shown in the screenshot above to help identify problematic regions both in terms of potential for exploitation and troubleshooting access violations. It clones a process of your choice and then compares the address space layouts, highlighting the differences. As always, you can find [the source code](https://github.com/huntandhackett/process-cloning/blob/master/4.InspectClonedMemory/main.c) and [the binary](https://github.com/huntandhackett/process-cloning/releases/tag/v1.0) in the dedicated sections of the repository. + +# Conclusions + +**Cloning** is the ultimate form of inheritance, an abstraction that breaks the principle of least privileges by trying to share as much as possible. In some cases, it serves as a pleasant benefit; in others — it is an undesirable attack vector. In any of them, it is a peculiar primitive worth investigating. We hope the behavior we documented in this (rather lengthy) blog post serves as a strong foundation for all further research on the topic. In addition to the previously mentioned examples and tools, we also share a [small library](https://github.com/huntandhackett/process-cloning/tree/master/5.Library) (that works on top of [PHNT headers](https://github.com/processhacker/phnt)) that might offer a convenient starting point for additional experimentation. + +![](pictures/05-taxonomy.png) diff --git a/pictures/01-intro.jpg b/pictures/01-intro.jpg new file mode 100644 index 0000000000000000000000000000000000000000..89395f571834c1a41907eb7d59b20ecf812d79a2 GIT binary patch literal 332739 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

y9^`Cb&u+d) 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

C|ww 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 z

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 PaRJClDM?m|8~FbpV$T9h literal 0 HcmV?d00001