MOn*_*DaR 3 linux windows remote pstools
当我在 Windows 上时,我使用PsExec在其他 Windows 机器上启动进程。我现在想从 Linux 机器上做到这一点。
幸运的是有winexe,一个应该像 PsExec 一样工作的小程序,只适用于 Linux 世界。我安装它没有问题,我可以启动 cmd.exe 之类的进程。
问题是我无法启动 Windows 用户可见的进程。如果我启动 calc.exe,我可以看到它在任务管理器中启动,但没有 GUI。
问题:
如何启动在 Windows 机器上实际可见的进程?
如何启动在 Windows 机器上实际可见的进程?
一个好的开始是在当前登录用户的会话中创建进程。如果只有一个人登录,那通常是会话 1。如果多人登录,则可能是会话 2、3 或 27。您必须首先运行 wtsapi32.dll 中的代码才能找到谁连接到了哪个会话。在现代版本的 Windows 中,会话 0 保留用于服务和系统功能。
您正在会话 0 中启动一个进程,因此没有人可以看到它。
psexec 可以启动一个远程进程,并让您选择一个不同的会话来启动它,但我不知道任何 Linux 等价物。我查看了 winexe 的手册页,它似乎没有该选项。
编辑:Microsoft 的官方立场是远程启动交互式进程存在太大的安全风险,因此它们会抑制您执行此操作的能力……但如果我们愿意弄脏,我们仍然可以解决它:
schtasks.exe /create /S COMPUTERNAME /RU "NT AUTHORITY\SYSTEM" /RL HIGHEST /SC ONSTART /TN "RemoteProcess" /TR "program.exe \"argument 1\" \"argument 2\""
schtasks.exe /Run /S COMPUTERNAME /I /TN "RemoteProcess"
schtasks.exe /Delete /S COMPUTERNAME /TN "RemoteProcess"
Run Code Online (Sandbox Code Playgroud)