NtCreateUserProcess com CsrClientCallServer para a versão principal do Windows x64.
Reimplemente isto: NtCreateUserProcess->BasepConstructSxsCreateProcessMessage->
->CsrCaptureMessageMultiUnicodeStringsInPlace->CsrClientCallServer
Este projeto pode ser inútil, mas também é útil para aprender!
Tentarei corrigir alguns bugs conhecidos. Qualquer dúvida, sugestão e sugestão serão bem-vindas :)
Tentarei principalmente oferecer suporte a TODAS as versões do Windows x64, do win 7 ao win 11.
Suporte NtCreateUserProcess-Native Redirecionamento IO padrão.
NtCreateUserProcess-Native é a edição nativa que remove BasepConstructSxsCreateProcessMessage, RtlCreateProcessParametersEx, CsrCaptureMessageMultiUnicodeStringsInPlace... apenas evita qualquer gancho de função?
NtCreateUserProcess-Native é criado para OPSEC, propósito RedTeam.
Habilitei o CFG nas configurações do projeto NtCreateUserProcess-Native.
Não há planos para oferecer suporte ao pacote AppX neste projeto.
Quase terminei a engenharia reversa do CreateProcessInternalW do Windows 21H*,
mas algumas melhorias, estrutura, tipo de dados... são necessárias, preciso de mais tempo...
Tente CreateProcessInternalW-Full
Espero que o projeto CreateProcessInternalW posterior o ajude a obter diferentes conhecimentos e compreensão,
que reimplementa para suportar AppX, RaiseError de 16 bits, arquivo .bat && .cmd.
Após o lançamento do Direct-NtCreateUserProcess e do artigo de D0pam1ne705,
Acho que também deveria compartilhar meus resultados de engenharia reversa de CreateProcessInternalW (não há necessidade de mantê-los privados).
Diferente de sua rota reversa, eu não depurei o kernel ALPC e csrss.exe,
mas depende principalmente do IDA e do parâmetro de análise de memória.
NtCreateUserProcess-Post.exe (ImagePath)
(NtCreateUserProcess-Post temporariamente obsoleto??? Sou preguiçoso...ovO)
(O padrão é C:WindowsSystem32dfrgui.exe sem ImagePath especial)
(1) NtCreateUserProcess-Post.exe
(2) NtCreateUserProcess-Post.exe C: WindowsSystem32notepad.exe
(3) NtCreateUserProcess-Post.exe C: WindowsSystem32taskmgr.exe
(4) NtCreateUserProcess-Post.exe "C:Arquivos de programas (x86)MicrosoftEdgeApplicationmsedge.exe"
e assim por diante...
C:WindowsSystem32DisplaySwitch.exe
"C:Arquivos de ProgramasGoogleChromeApplicationchrome.exe"
C:WindowsSystem32Magnify.exe
......
NtCreateUserProcess-Native.exe (-c ImagePath) (-i InteractType)
(O redirecionamento de IO de arquivo padrão já é compatível com NtCreateUserProcess-Native!)
-i 0: (Padrão) Nenhum modo de interação será usado, como CREATE_NEW_CONSOLE
-i 1: StdHandle via AttributeList, como bInheritHandles = FALSE
-i 2: Defina ProcessParameters Std Input,Output,OutError com valor CurrentProcessParameters, como bInheritHandles = TRUE
(O padrão é C: WindowsSystem32dfrgui.exe sem argumento especial)
(1) NtCreateUserProcess-Native.exe
(2) NtCreateUserProcess-Native.exe -c C: Windowssystem32cmd.exe -i 1
(3) NtCreateUserProcess-Native.exe -c "C: WindowsSystem32WindowsPowerShellv1.0powershell.exe" -i 2
(4) NtCreateUserProcess-Native.exe -c "C:Arquivos de programasGoogleChromeApplicationchrome.exe" -i 0
......
Visual Studio 2022 (Visual Studio 2019 deve funcionar)
Liberar x64
Bem, se você acha que este é complexo e redundante, experimente a Native Edition NtCreateUserProcess-Native
Aviso: no Windows 11 notepad.exe é AppX, então não funciona
Windows 11 23H2 Insider x64 (26020.1000)
Janelas 11 21H2 x64 (22000.613)
Janelas 10 21H2 x64 (19044.1706)
Janelas 10 21H1 x64 (19043.1023)
Janelas 10 2004 x64 (19041.264)
Janelas 10 1909 x64 (18363.2274)
Servidor Windows 2019 x64 (17763.107)
Janelas 10 1709 x64 (16299.125)
Janelas 10 1703 x64 (15063.2078)
Servidor Windows 2016 x64 (14393.5066)
Janelas 10 1607 x64 (14393.447)
Janelas 10 1511 x64 (10586.164)
Janelas 10 1507x64 (10240)
Servidor Windows 2012 R2 x64 (9600)
Servidor Windows 2012 x64 (9200)
Servidor Windows 2008 R2 x64 (7601)
Janelas 7 SP1 x64 (7601)
Servidor Windows 2008 R2 x64 (7600)
Servidor Windows 2008 x64 (6002)
Windows Vista SP2 x64 (6002)
Windows Vista x64 (6000)
1: https://github.com/Microwave89/createuserprocess
2: https://github.com/PorLaCola25/PPID-Spoofing
3: https://github.com/processhacker/processhacker
4: https://www.geoffchappell.com/studies/windows/win32/csrsrv/api/apireqst/api_msg.htm
5: https://github.com/leecher1337/ntvdmx64
6: https://github.com/klezVirus/SysWhispers3
7: https://bbs.pediy.com/thread-207429.htm
8: https://doxygen.reactos.org
9: https://github.com/waleedassar/NativeDebugger
10: https://stackoverflow.com/questions/69599435/running-programs-using-rtlcreateuserprocess-only-works-occasionally
11: https://medium.com/philip-tsukerman/activation-contexts-a-love-story-5f57f82bccd
12: https://github.com/ShashankKumarSaxena/nt5src
13: https://github.com/D4stiny/spectre
14: https://github.com/x64dbg/TitanEngine
15: https://github.com/x64dbg/ScyllaHide
16: https://github.com/deroko/activationcontext
17: https://medium.com/philip-tsukerman/activation-contexts-a-love-story-5f57f82bccd
18: https://wasm.in/threads/csrclientcallserver-v-windows-7.29743/
19: https://bbs.csdn.net/topics/360229611
20: https://www.exploit-db.com/exploits/46712
11: https://googleprojectzero.github.io/0days-in-the-wild/0day-RCAs/2020/CVE-2020-1027.html
22: https://ii4gsp.tistory.com/288
23: https://www.unknowncheats.me/forum/c-and-c-/121045-ntdll-module-callback.html