我在Windows下使用Dev-C ++。 我的问题是我如何启动远程机器上的进程? 我知道PsExec可以做到这一点,但如果可能的话,我想避免使用它。 如果有人可以举一些例子的代码,我将不胜感激:)
提前致谢!
kampi
在Python中发现所有窗口的exepath
以编程方式通过Winapi编辑Windows审核策略时,权限错误
在Windows 10的HTA(HTML应用程序)中可以使用x-ms-webview吗?
窗口8 64位RTM&PHPcurl启用
如何索引malloc'd缓冲区和输出
如何安全地将临时文件存储在Windows中,特别是使用阻止TEMP目录的安全入侵防护应用程序
如何捕捉特殊的关键事件?
钩closures应用程序
通过Python脚本更改提示工作目录
运行应用程序作为系统(没有PSTools)
如果这很容易,黑客会在所有暴露在互联网上的机器上启动恶意软件。
PSExec通过局域网上的服务控制管理器从“here”(即运行它的机器)启动服务EXE。 它需要很多安全特权 – 例如管理员权限。
如果您不想这样做,您可以查看SSH(有开源示例)或远程命令提示符(在Windows资源工具包中)。
你可以使用WMI …(C#示例,所以你必须找到相应的C ++)
Connectionoptions connectOptions = new Connectionoptions(); connectOptions.Username = "Administrator"; connectOptions.Password = "TopSecret"; ManagementScope scope = new ManagementScope( @"\" + machine + @"rootcimv2",connectOptions); scope.Connect(); ManagementPath path = new ManagementPath(@"Win32_Process"); ManagementClass proc = new ManagementClass(scope,path,new ObjectGetoptions()); ManagementBaSEObject args = proc.getmethodParameters("Create"); args["CommandLine"] = "C:\Windows\notepad.exe"; proc.InvokeMethod("Create",args,null);
如果你已经有一个服务运行在远程机器上,你可以要求运行一个程序。 Windows本身并没有提供任何有用的东西, 它附带一个远程外壳服务(通常是停用的或者甚至没有安装)。
IIUC,psexec做的是这样的:
使用管理共享将二进制文件复制到远程计算机上
使用服务控制管理器API远程启动服务。
如果你不想使用psexec,你仍然可以这样做。 请注意,您需要相当的权限来执行此操作。
简单的答案是你不能。 你所能做的就是发送一条消息给远程机器,要求它为你启动进程。 PsExec在远程机器上运行,监听特定的消息并响应这些消息启动进程。
你可以使用现有的协议,比如PsExec,或者创建你自己的协议。 创建你自己的需要你可以在远程机器上安装一个服务。 如果远程机器不在您的控制之下,那么这是不可能的。 如果设计自己的系统,那么在设计协议时一定要小心,因为您不希望在系统中无意中打开安全漏洞。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。