NtCreateUserProcess avec CsrClientCallServer pour la version grand public de Windows x64.
Réimplémentez ceci : NtCreateUserProcess->BasepConstructSxsCreateProcessMessage->
->CsrCaptureMessageMultiUnicodeStringsInPlace->CsrClientCallServer
Ce projet pourrait être inutile, mais il est aussi utile pour apprendre !
Je vais essayer de corriger quelques bugs connus. Toutes les questions, suggestions et suggestions sont les bienvenues :)
J'essaierai principalement de prendre en charge TOUTES les versions de Windows x64, de Win 7 à Win 11.
NtCreateUserProcess-Native prend en charge la redirection d’E/S standard.
NtCreateUserProcess-Native est l'édition native qui supprime BasepConstructSxsCreateProcessMessage, RtlCreateProcessParametersEx, CsrCaptureMessageMultiUnicodeStringsInPlace... empêche simplement tout hook de fonction ?
NtCreateUserProcess-Native est créé à des fins OPSEC et RedTeam.
J'ai activé CFG dans les paramètres du projet NtCreateUserProcess-Native.
Il n'est pas prévu de prendre en charge le package AppX dans ce projet.
J'ai presque terminé le Reverse Engineering de CreateProcessInternalW de Windows 21H*,
mais quelques améliorations, structures, types de données... requis, j'ai besoin de plus de temps...
Essayez plutôt CreateProcessInternalW-Full
J'espère que le dernier projet CreateProcessInternalW vous aidera à acquérir des connaissances et une compréhension différentes,
qui est réimplémenté pour prendre en charge AppX, RaiseError 16 bits, .bat && .cmd File.
Après la sortie de Direct-NtCreateUserProcess et l'article de D0pam1ne705,
Je pense que je devrais également partager mes résultats d'ingénierie inverse de CreateProcessInternalW (il n'est pas nécessaire de le garder privé).
Différent de sa route inverse, je n'ai pas débogué le noyau ALPC et csrss.exe,
mais dépend principalement de l'IDA et du paramètre d'analyse de la mémoire.
NtCreateUserProcess-Post.exe (ImagePath)
(NtCreateUserProcess-Post temporairement obsolète ??? Je suis paresseux... ovO)
(La valeur par défaut est C:WindowsSystem32dfrgui.exe sans ImagePath spécial)
(1) NtCreateUserProcess-Post.exe
(2) NtCreateUserProcess-Post.exe C:WindowsSystem32notepad.exe
(3) NtCreateUserProcess-Post.exe C:WindowsSystem32taskmgr.exe
(4) NtCreateUserProcess-Post.exe "C:Program Files (x86)MicrosoftEdgeApplicationmsedge.exe"
et ainsi de suite...
C:WindowsSystem32DisplaySwitch.exe
"C:Program FilesGoogleChromeApplicationchrome.exe"
C:WindowsSystem32Magnify.exe
......
NtCreateUserProcess-Native.exe (-c ImagePath) (-i InteractType)
(La redirection standard des E/S de fichiers est déjà prise en charge dans NtCreateUserProcess-Native !)
-i 0 : (par défaut) Aucun mode d'interaction ne sera utilisé, comme CREATE_NEW_CONSOLE
-i 1 : StdHandle via AttributeList, comme bInheritHandles = FALSE
-i 2 : définissez ProcessParameters Std Input, Output, OutError avec la valeur CurrentProcessParameters, comme bInheritHandles = TRUE
(La valeur par défaut est C:WindowsSystem32dfrgui.exe sans argument spécial)
(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:Program FilesGoogleChromeApplicationchrome.exe" -i 0
......
Visual Studio 2022 (Visual Studio 2019 devrait fonctionner)
Relâcher x64
Eh bien, si vous pensez que celui-ci est complexe et redondant, essayez l'édition native NtCreateUserProcess-Native
Remarque : sous Windows 11, notepad.exe est AppX, donc cela ne fonctionne pas
Windows 11 23H2 Insider x64 (26020.1000)
Windows 11 21H2 x64 (22000.613)
Windows 10 21H2 x64 (19044.1706)
Windows 10 21H1 x64 (19043.1023)
Windows 10 2004 x64 (19041.264)
Windows 10 1909 x64 (18363.2274)
Windows Serveur 2019 x64 (17763.107)
Windows 10 1709 x64 (16299.125)
Windows 10 1703 x64 (15063.2078)
Windows Serveur 2016 x64 (14393.5066)
Windows 10 1607 x64 (14393.447)
Windows 10 1511 x64 (10586.164)
Windows 10 1507 x64 (10240)
Windows Serveur 2012 R2 x64 (9600)
Windows Serveur 2012 x64 (9200)
Windows Serveur 2008 R2 x64 (7601)
Windows 7 SP1 x64 (7601)
Windows Serveur 2008 R2 x64 (7600)
Windows Serveur 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