Files
2025-09-25 03:56:33 +08:00

64 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### psexec 和 wmic 区别
**PsExec**
**PsExec** 是 Sysinternals 套件中的一个工具,主要用于在远程计算机上 **执行** 进程。它通过 SMB 协议在远程系统上创建一个临时的服务(名为 `psexecsvc`)来运行你指定的命令,然后将命令的输出返回给你
**核心特点**
- **功能**:在远程机器上以高权限(通常是 SYSTEM)执行命令或启动程序
- **工作原理**
1. 连接到远程机器的 Admin$ 共享
2. 将 PsExec 客户端文件复制到 `Admin$\System32\psexec.exe`(或类似路径)
3. 通过服务管理器(SCM)创建一个临时服务来执行命令
4. 命令执行完毕后,删除服务和客户端文件
- **典型用途**
- 在远程服务器上启动交互式命令提示符 (`PsExec \\remote-pc cmd`)
- 以 SYSTEM 权限运行程序 (`PsExec -s \\remote-pc <program.exe>`)
- 执行远程脚本或批处理文件。
**优点与缺点**
- **优点**
- **远程执行能力强**:能以高权限运行任何可执行文件或命令
- **支持交互式会话**:可以打开一个远程命令提示符,就像在本地操作一样
- **不依赖** PowerShell 或 WMI 的特定配置
- **缺点**
- **依赖文件共享**:需要 Admin$ 共享可用,且端口 445 必须开放
- **可能被安全软件检测**:其工作方式(文件复制、创建服务)与一些恶意软件类似,可能被杀毒软件或 EDR 标记
- **网络流量**:在执行过程中会产生一些网络流量
**WMIC**
**WMIC** (Windows Management Instrumentation Command-line) 是一个命令行工具,用于与 **WMI** 框架进行交互。WMI 是一个内置于 Windows 的管理接口,提供了查询和管理几乎所有系统信息的标准化方法。WMIC 让你能够从命令行执行这些查询和操作
**核心特点**
- **功能**:查询系统信息、执行管理任务。它不是用于直接执行远程可执行文件,而是通过 WMI 接口来管理系统
- **工作原理**
1. 通过 DCOM 协议连接到远程机器的 WMI 服务
2. 向 WMI 存储库发送查询或命令请求
3. WMI 服务在远程机器上执行请求,并返回结果
- **典型用途**
- 查询系统信息:例如,查看远程机器的进程列表 (`wmic /node:"remote-pc" process list brief`)、服务状态、硬件信息、网络配置等
- 执行管理任务:例如,终止远程进程 (`wmic /node:"remote-pc" process where name="calc.exe" call terminate`)、启动或停止服务、修改注册表项等
**优点与缺点**
- **优点**
- **系统内置**:是 Windows 的一部分,不需要额外下载或分发文件
- **强大的查询能力**:能够通过 `WHERE` 语句进行复杂的过滤,查询各种系统对象
- **隐蔽性好**:工作在 WMI 协议层,不会像 PsExec 那样创建临时服务或复制文件,因此更难被检测
- **缺点**
- **命令复杂**:语法相对复杂,需要熟悉 WMI 的类和别名
- **功能限制**:虽然可以执行任务,但不能像 PsExec 那样灵活地运行任意的本地程序
- **依赖**:需要远程 WMI 服务开启且 DCOM 端口(通常是 135/TCP)可用
| 特性 | PsExec | WMIC |
| ---- | ------------------------------------ | ------------------------------------------ |
| 用途 | 远程执行命令和程序 | 远程查询和管理系统信息 |
| 原理 | 远程创建服务,运行可执行文件 | 通过 WMI 接口发送管理命令 |
| 协议 | SMB (TCP 445) | DCOM (TCP 135) |
| 优势 | 远程执行能力强、支持交互式会话 | 系统内置、强大的查询过滤、隐蔽性好 |
| 缺点 | 需要文件共享、可能被检测、会产生文件 | 语法复杂、功能限于 WMI 框架内的操作 |
| 场景 | 当你需要在远程机器上启动一个程序时 | 当你需要查询远程机器的状态或执行管理任务时 |