Add files via upload

This commit is contained in:
雾島风起時
2025-09-25 03:56:33 +08:00
committed by GitHub
parent 88fa0c589d
commit d3799b9ab3
27 changed files with 1049 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
### 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 框架内的操作 |
| 场景 | 当你需要在远程机器上启动一个程序时 | 当你需要查询远程机器的状态或执行管理任务时 |