一、介绍:
PsExec 是一种轻量级 telnet 替代品,可让你在其他系统上执行进程,并为控制台应用程序提供完整交互性,而无需手动安装客户端软件。 PsExec 最强大的用途包括在远程系统上启动交互式命令提示符,以及 IpConfig,CMD等远程启用工具,否则无法显示有关远程系统的信息。
服务器:Windows 2012 R2 IP:10.3.0.233
客户端:Windows 10
二、安装
官方下载地址:PsExec - Sysinternals | Microsoft Learn
客户端安装:本例是下载C盘
配置环境变量
三、使用前提条件
1、服务器必须开启 IPC$,ADMIN$,默认安装时都是打开的
PS C:\Users\Administrator> net share
共享名 资源 注解
-------------------------------------------------------------------------------
C$ C:\ 默认共享
IPC$ 远程 IPC
ADMIN$ C:\Windows 远程管理
命令成功完成。
2、防火墙 445 端口要放行,文件和打印机共享(SMB-In)
四、用法
PsExec 相关参数说明
-accepteula:第一次运行psexec会弹出确认框,使用该参数就不会弹出确认框
-u:用户名
-p:密码
-d:指的是执行完命令不等待程序执行完成,命令行恢复到可输入状态。
-s:以system权限运行运程进程,获得一个system权限的交互式shell。如果不使用该参数,会获得一个连接所用用户权限的shell
-i: 运行该程序,以便它与远程系统上指定会话的桌面进行交互。如果没有指定会话,进程将在控制台会话中运行
1、建立 IPC$ 连接
net use \\10.3.0.233\ipc$ /user:administrator Admin@123
2、远程打开 cmd 命令
PS C:\Users\Administrator> psexec \\10.3.0.233 cmd
# 输出
PsExec v2.43 - Execute processes remotely
Copyright (C) 2001-2023 Mark Russinovich
Sysinternals - www.sysinternals.com
Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。
# 成功连接
C:\Windows\system32>
# 验证,显示的是服务器的IP地址
C:\Windows\system32>ipconfig
Windows IP 配置
以太网适配器 以太网:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::b17d:a13d:4859:66cb%12
IPv4 地址 . . . . . . . . . . . . : 10.3.0.233
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 10.3.0.1
隧道适配器 isatap.{5F993BE3-92E0-4365-A0D1-9827107330FF}:
媒体状态 . . . . . . . . . . . . : 媒体已断开
连接特定的 DNS 后缀 . . . . . . . :
3、如果开始没有建立 IPC$ 连接,也可以用 psexec 命令时指定用户名密码
psexec \\10.3.0.233 -u administrator -p Admin@123 -i cmd
4、如何显示远程机器UI界面
(1)远程连接上服务器
# 远程服务器
psexec \\10.3.0.233 cmd
# 输出
PsExec v2.43 - Execute processes remotely
Copyright (C) 2001-2023 Mark Russinovich
Sysinternals - www.sysinternals.com
(2)查询服务器上面用户会话 ID,执行完退出
# 查询用户ID,这里查到的是1
C:\Windows\system32>query session
# 输出
会话名 用户名 ID 状态 类型 设备
>services 0 断开
console Administrator 1 运行中
rdp-tcp
# 退出
C:\Windows\system32>exit
cmd exited on 10.3.0.233 with error code 9009.
(3)在客户端远程执行服务器带UI界面的程序
PS C:\Users\Administrator> psexec \\10.3.0.233 -u administrator -p Admin@123 -i 1 -d cmd
PsExec v2.43 - Execute processes remotely
Copyright (C) 2001-2023 Mark Russinovich
Sysinternals - www.sysinternals.com
cmd started on 10.3.0.233 with process ID 944.
(4)服务器上面查看
5、也可以通过计划任务打开界面
# 创建任务
SCHTASKS /Create /S 10.3.0.233 /U administrator /P Admin@123 /TN calc /TR C:\windows\system32\calc.exe /SC once /ST 09:00
# 运行任务
SCHTASKS /Run /S 10.3.0.233 /U administrator /P Admin@123 /TN calc