如何在目标机器上不使用管理员权限的情况下使用 psexec?

如何在目标机器上不使用管理员权限的情况下使用 psexec?

是否可以psexec在没有远程计算机管理员权限的情况下在远程计算机上执行命令?

我尝试运行psexec \\<machine> -u <username> -p <password>,其中<username> <password>是非管理员凭据,但出现“拒绝访问”错误

我可以使用相同的凭据通过远程桌面进入远程机器,没有任何问题。

我的本地计算机运行的是 Windows 7 Enterprise 64 位,远程计算机运行的是 Windows Server 2008 64 位。我在本地计算机上拥有管理员权限。

编辑:对所有反对这个问题的人:我不是试图规避任何类型的安全措施。我已经可以跑了通过远程桌面进入远程计算机并运行它来执行远程计算机上的进程。我只是在寻找一种命令行方式来执行我已可以通过 GUI 执行的操作。

答案1

参见:https://stackoverflow.com/questions/534426/psexec-help-needed

您需要拥有目标的管理员权限,因为 psexec 会在目标上启动 Windows 服务,并且您需要管理员权限才能执行此操作。

psexec 将 psexecsvc 文件复制到管理共享,然后使用远程管理启动使用该文件的服务。它打开命名管道并使用它进行进一步通信。完成后,它会自行整理。

虽然我找不到说同样事情的官方文献。

答案2

要求成为该机器的本地管理员。

编辑:或者将命令作为计划任务运行。或者在 PsExec 中使用 -l 开关:以受限用户身份运行进程(剥离管理员组并仅允许分配给用户组的权限)。在 Windows Vista 上,该进程以低完整性运行。参见此处:http://technet.microsoft.com/en-us/sysinternals/bb897553。很抱歉,但请阅读我的文章!

例如:要以受限用户权限运行 Internet Explorer,请使用以下命令:

psexec -l -d “c:\program files\internet explorer\iexplore.exe”

请注意,密码以明文形式传输到远程系统。

答案3

不,没什么用。你为什么要这么做,而不是成为管理员?

答案4

以前这是可能的。Windows 提供了一个名为 IPC$ 的虚拟共享。因为 IPC$ 是共享给所有人的。直到 NT4 SP2。后来它被限制为“经过身份验证的用户”,然后在 2009 年左右,MS 删除了所有默认共享,例如“文件和打印机共享”,从 Windows 7 / SErver 2008R2 开始,内置防火墙按照“需要有”的原则运行,并且毫无例外地关闭。先生们,谷仓门时代已经一去不复返了。“一切管理员”已经消失,“系统管理员”已经消失,您必须做令人头疼的事情。IPC 表示进程间通信,在早期,这是谷仓门,因为在 Windows NT 的第一个权限概念中,默认情况下有一个“来宾”帐户处于活动状态,来宾可以启动进程。如今(2023 年),安全概念是“以尽可能少的权限完成任务”。过去,人们总是赋予每个人管理员权限,但现在,由于 IT 安全领域的无能,这些人将失去工作,如果我的某个员工说“好吧,我们将使用管理员帐户”,我会问他从谁那里得到奖金,才这么说。黑客无处不在,自动机器人寻找爆炸可能性是标准做法。因此,没有人必须成为管理员,但我们到底需要什么?PSexec 将在会话 0 中启动一个进程。为此,使用的帐户需要“作为服务登录”的权限,可能还需要“交互式登录”,当然,非管理员帐户必须具有“读取执行”权限才能访问要启动的 .exe 文件,该进程很可能会处理存储在文件夹中的某些数据,而该用户帐户必须具有“修改”权限。并且,该进程必须在没有 GUI 的情况下运行,例如没有模式对话框,并且完全使用脚本或启动参数实现自动化。

摘自 systinternals“远程进程浏览器”文档

端口 135 (TCP) - 用于远程过程调用 (RPC) 服务(psexec 也会执行此操作)端口 137 (UDP) - 用于 NetBIOS 名称服务端口 138 (UDP) - 用于 NetBIOS Netlogon 和浏览(用于 PSEXEC 验证提供的用户名和密码)端口 139 (TCP) - 用于 NetBIOS 会话 (NET USE) 端口 1024 以上 (TCP) - 用于 RPC 通信。DCOM 需要打开 1024-5000 范围内的 UDP 端口。

相关内容