メインストリーム Windows x64 バージョンの CsrClientCallServer を使用した NtCreateUserProcess。
これを再実装します: NtCreateUserProcess->BasepConstructSxsCreateProcessMessage->
->CsrCaptureMessageMultiUnicodeStringsInPlace->CsrClientCallServer
このプロジェクトは役に立たないかもしれませんが、学ぶことにも役立ちます。
いくつかの既知のバグを修正しようとします。質問、提案、プルは大歓迎です:)
私は主に、Win 7 から Win 11 までのすべての Windows x64 バージョンをサポートしようとします。
NtCreateUserProcess-Native サポート標準 IO リダイレクト。
NtCreateUserProcess-Native は、BasepConstructSxsCreateProcessMessage、RtlCreateProcessParametersEx、CsrCaptureMessageMultiUnicodeStringsInPlace を削除するネイティブ エディションです...関数フックを防ぐだけですか?
NtCreateUserProcess-Native は、OPSEC、RedTeam の目的で作成されます。
NtCreateUserProcess-Native プロジェクト設定で CFG を有効にしました。
このプロジェクトでは AppX パッケージをサポートする予定はありません。
Windows 21H* の CreateProcessInternalW のリバース エンジニアリングがほぼ完了しました。
しかし、構造、データ型など、いくつかの改善が必要です。もっと時間が必要です...
代わりに CreateProcessInternalW-Full を試してください
後の CreateProcessInternalW プロジェクトが、さまざまな知識と理解を得るのに役立つことを願っています。
AppX、16 ビット RaiseError、.bat && .cmd ファイルをサポートするために再実装されました。
Direct-NtCreateUserProcess のリリースと D0pam1ne705 による記事の後、
CreateProcessInternalW のリバース エンジニアリングの結果も共有する必要があると思います (非公開にしておく必要はありません)。
彼の逆ルートとは異なり、私は ALPC と csrss.exe をカーネル デバッグしませんでした。
ただし、主に IDA とメモリ分析パラメータに依存します。
NtCreateUserProcess-Post.exe (イメージパス)
(NtCreateUserProcess-Post は一時的に非推奨になりました??? 怠け者です...ovO)
(デフォルトは特別な ImagePath を持たない C:WindowsSystem32dfrgui.exe です)
(1) NtCreateUserProcess-Post.exe
(2) NtCreateUserProcess-Post.exe C:WindowsSystem32notepad.exe
(3) NtCreateUserProcess-Post.exe C:WindowsSystem32taskkmgr.exe
(4) NtCreateUserProcess-Post.exe「C:Program Files (x86)MicrosoftEdgeApplicationmsedge.exe」
等々...
C:WindowsSystem32DisplaySwitch.exe
「C:プログラムファイルGoogleChromeApplicationchrome.exe」
C:WindowsSystem32Magnify.exe
……
NtCreateUserProcess-Native.exe (-c ImagePath) (-i InteractType)
(標準ファイル IO リダイレクトは NtCreateUserProcess-Native ですでにサポートされています!)
-i 0: (デフォルト) CREATE_NEW_CONSOLE などの対話モードは使用されません。
-i 1: AttributeList 経由の StdHandle (bInheritHandles = FALSE など)
-i 2: bInheritHandles = TRUE のように、CurrentProcessParameters 値を使用して ProcessParameters Std Input、Output、OutError を設定します。
(デフォルトは特別な引数なしの C:WindowsSystem32dfrgui.exe です)
(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 は動作するはずです)
リリースx64
これが複雑で冗長だと思われる場合は、ネイティブ エディションのNtCreateUserProcess-Nativeをお試しください。
注意: Windows 11 では、notepad.exe は AppX であるため、機能しません
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 Server 2019 x64 (17763.107)
Windows 10 1709 x64 (16299.125)
Windows 10 1703 x64 (15063.2078)
Windows Server 2016 x64 (14393.5066)
Windows 10 1607 x64 (14393.447)
Windows 10 1511 x64 (10586.164)
Windows 10 1507 x64 (10240)
Windows Server 2012 R2 x64 (9600)
Windows Server 2012 x64 (9200)
Windows Server 2008 R2 x64 (7601)
Windows 7 SP1 x64 (7601)
Windows Server 2008 R2 x64 (7600)
Windows Server 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