比CMD更强大的命令行:WMIC后渗透利用(系统命令)

article/2025/9/23 18:30:44

写在前面的话

在这篇文章中,我们将讨论如何在攻击的后渗透利用阶段使用WMIC(Windows Management InstrumentationCommand Line)。当攻击者在远程PC上拿到meterpreter会话之后,他们就可以枚举大量的系统信息,并利用WMI命令行工具来进行更深程度的操作。

首先,我们会介绍如何拿到远程PC的meterpreter会话。拿到会话之后,我们还会告诉大家如何提权至管理员权限。

WMIC命令行可以通过Windows CMD来访问,直接在meterpreter shell中输入“shell“即可。接下来,我们一起看一看WMIC命令以及相应的工作机制。

WMIC

下面这个命令可以查看WMIC命令的全局选项,WMIC全局选项可以用来设置WMIC环境的各种属性,通过结合各种全局选项以及参数,我们就可以通过WMIC环境来管理整个系统了。

wmic /?

2.png

获取系统角色、用户名和制造商

铜鼓WMIC命令的操作系统指令,我们可以枚举出大量关于目标系统的信息,包括主机名、域名、制造商以及设备型号等等。

我们还可以添加下列过滤器来获取更精准的扫描结果:

Roles:它可以给我们提供目标设备在整个网络系统中所扮演的角色,例如工作站、服务器或个人PC等等。

Manufacturer:它可以给我们提供目标系统的制造商和设备型号,因为某些特定制造商所生产的特定型号设备会存在特定的漏洞,因此我们可以利用这部分信息来寻找存在漏洞的设备。

UserName:它可以给我们返回系统的用户名,我们可以利用这部分信息来区分谁是管理员谁是普通用户。

[/format:list]:以列表格式输出数据并排列。

wmic computersystem get Name, Domain, Manufacturer, Model, Username, Roles/format:list

3.png

获取SID

为了枚举出SID,我们需要用到WMIC的group选项:

wmic group get Caption, InstallDate, LocalAccount, Domain, SID, Status

如下图所示,我们已经查找到了账户名、域名、本地组成员状态、SID以及相应的状态:

4.png

创建一个进程

WMIC命令的process选项可以帮助我们在目标用户的系统中创建各种进程。这种功能可以帮助我们创建后门,或占用大量目标系统的内存:

 

 

wmic process call create “[Process Name]”

wmic process call create “taskmgr.exe”

 

你可以从下图中看到,这个命令不仅会创建一个进程,而且还会赋予相应的进程ID,所以我们就可以根据我们的需要来修改进程信息了。

5.png

注意:如果进程创建了一个类似任务管理器和CMD这样的窗口,那么这条命令将会在目标系统中打开这个窗口,这样会引起目标用户的怀疑。

修改进程优先级

WMIC命令的process选项还可以帮我们修改目标系统中运行进程的优先级,这是一个非常有用的功能。降低某个进程的优先级可能会导致特定的应用程序发生崩溃,而提升某个进程的优先级甚至还会导致整个系统发生崩溃。

wmic process where name=”explorer.exe” call set priority 64

6.png

终止进程

WMIC命令还可以帮我们终止目标系统正在运行的进程:

wmic process where name=”explorer.exe” call terminate

7.png

获取可执行文件列表

下面的命令可以枚举出整个系统中所有可执行文件的路径地址:

wmic process where “NOT ExecutablePath LIKE ‘%Windows%’” GET ExecutablePath

8.png

获取目录属性

WMIC命令的fsdir选项可以提取目标系统中文件目录的基本信息,其中包括压缩方法、创建日期、文件大小、是否可读写、是否为系统文件、加密状态以及加密类型等等:

wmic fsdir where=”drive=’c:’ and filename=’test’” get /format:list’

9.png

获取文件属性

WMIC命令的datafile选项可以获取目标系统中文件的基本信息,其中包括压缩方法、创建日期、文件大小、是否可读写、是否为系统文件、加密状态以及加密类型等等:

 

 

wmic datafile where=’[Path of File]’ get /format:list

wmic datafile where name=’c:\\windows\\system32\\demo\\demo.txt’ get /format:list

10.png

定位系统文件

WMIC可以提取出所有重要系统文件的路径,例如temp目录和win目录等等:

wmic environment get Description, VariableValue

11.png

获取已安装的应用程序列表

wmic product get name

12.png

获取正在运行的服务列表

获取到正在运行的服务列表之后,WMIC还可以提供服务的启动模式,例如“自动”、“手动”和“运行中”:

wmic service where (state=”running”) get caption, name, startmode

13.png

获取系统驱动详情

sysdrive选项可以枚举出驱动的名称、路径和服务类型等数据:

wmic sysdriver get Caption, Name, PathName, ServiceType, State, Status /format:list

14.png

获取操作系统详情

os选项可以列举出目标系统的上一次启动时间、注册的用户数量、处理器数量、物理/虚拟内存信息和安装的操作系统类型等等:

 

wmic os get CurrentTimeZone, FreePhysicalMemory, FreeVirtualMemory, LastBootUpdate,NumberofProcesses, NumberofUsers, Organization, RegisteredUsers, Status/format:list

15.png

获取主板信息和BIOS序列号

wmic baseboard, get Manufacturer, Product, SerialNumber, Version

16.png

wmic bios, get serialNumber

17.png

获取内存缓存数据

memcache选项可以获取到内存缓存名和块大小等信息:

wmic memcache get Name, BlockSize, Purpose, MaxCacheSize, Status

18.png

获取内存芯片信息

memorychip选项可以获取到RAM的相关信息,例如序列号等等:

wmic memorychip get PartNumber, SerialNumber

19.png

判断目标系统是否为虚拟机

我们可以根据onboarddevice选项返回的信息来判断目标系统到底是真实的主机操作系统,还是一台虚拟机(VMware或Virtual Box):

wmic onboarddevice get Desciption, DeviceType, Enabled, Status /format:list

20.png

用户账号管理

锁定用户账号

我们可以使用useraccount选项来锁定本地用户账号:

wmic useraccount where name=’demo’ set disabled=false

21.png

用户账号重命名

wmic useraccount where name=’demo’ rename hacker

22.png

限制用户修改密码

我们还可以限制本地用户的密码修改操作:

wmic useraccount where name=’hacker’ set passwordchangeable=false

23.png

获取反病毒产品详情

我们可以枚举出目标系统安装的反病毒产品信息,包括安装位置和版本:

wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState, pathToSignedProductExe

24.png

清理系统日志

WMIC命令的nteventlog选项还可以清除系统的日志记录,当你入侵了某个系统之后,这个命令可以帮助你掩盖攻击痕迹:

 

 

wmic nteventlog where filename='[logfilename]’ cleareventlog

wmic nteventlog where filename=’system’ cleareventlog

25.png

*参考来源:hackingarticles,


http://chatgpt.dhexx.cn/article/HgEK6NR3.shtml

相关文章

“教务管理系统”ER模型

将ER模型转换成逻辑数据模型 ⑴学生表(学号,姓名,性别,出生日期,专业,籍贯,联系电话,班级编号); ⑵课程表(课程编号,课程名称&#…

【MySQL必知必会】 范式 | ER模型

范式 第一范式 第一范式要求:所有的字段都是基本数据字段,不可进一步拆分。 第二范式 第二范式:在满足第一范式的基础上,还要满足数据表里的每一条数据记录,都是可唯一标识的。而且所有字段,都必须完…

ER模型、ER分析介绍

关注公众号【程猿薇茑】 【仅需一次订阅,作者所有专栏都能看】 推荐【消息队列Kafka】https://bigbird.blog.csdn.net/article/details/108770504 推荐【大数据Flink】https://blog.csdn.net/hellozpc/article/details/109413465 推荐【SpringBoot】https://blog.c…

数据库实验—ER模型

E—R图 实体性用举行表示,矩形内写明实体名。 属性用椭圆表示,并用无向边将其与相应的实体性连接起来。 练习用菱形框表示,框内写出联系名称,用无向边分别与有关实体型链接起来,同时要在无向边上注明联系的类型&#x…

数据库系统笔记4: ER模型

基本概念 Entity(实体):对象,如学生、教师,用方形表示Entity Set(实体集):类 一个实体集必须至少有一个非主键的属性或者它是多对一/多对多关系中的“多”Attribute(属性…

数据库原理之如何设计一个ER模型

数据库原理之如何设计一个ER模型 前言 这里是 数据库系统原理 系列文章,主要介绍数据库系统理论以及数据库实用技术。 数据库技术是计算机学科中的一个重要分支,它的应用非常广泛,几乎涉及所有的应用领域。 关于作者: 小白&#…

在mysql中er是什么模型_er模型是反映数据库应用系统的什么模型

展开全部 er模型是e5a48de588b662616964757a686964616f31333431353365反映数据库应用系统的概念模型 ,表示概念模型的方式有多种其中最常用的是E-R模型,由P.PChen于1976年提出,中文为实体-联系模型。 概念数据模型是面向用户、面向现实世界的…

mysql学生选课系统的关系模型_数据库系统原理ER模型与关系模型

数据库系统是软件的一种,数据库系统自然而然也有他自己的生命周期生存期。它的生存期从规划开始,一直到将它卸载不用了。它的中间过程很复杂,为了实现用户的想法,数据库有关人员将现实生活中的数据进行抽象,然后在进行…

数据库设计(ER模型和UML模型及转换为关系模型的公式)

本文根据b站鲁老师的教学视频整理而来,可能会偏理论化,有点枯燥,但是如果认真看完,还是会有所收获哒。 从本文可以学习到: 对于一个即将展开的项目,我们应该怎么设计及实现数据库。 掌握概念模型&#xff0…

4000字细说ER模型基础概念•业务建模系列

前言 接下来几篇文章会围绕「业务建模」这个方向,展开总结一下。讲到业务建模就联想到ER模型,ER建模可以说是B端产品经理必要掌握的技能。 本文会从以下几个点进行基础指引: 什么是ER模型? ER模型有什么作用? ER图的核…

2.3.2 ER模型

1.实体 定义:用于表示现实世界具有相同属性描述的集合,它表示某一种类所有事物的集合。 表示形状:矩形 说明:(1)一个E-R图中通常包括多个实体 (2)每个实体→一张表 每个实例→一条记录 2.属性 定义:表示实体或实体间…

[MySQL进阶]——ER模型

🏳️‍🌈个人网站:code宝藏 👈,欢迎访问🎉🎉 🙏如果大家觉得博主写的还不错的话,可以点点关注,及时获取我的最新文章 🤝非常感谢大家的支持与点赞…

ER模型详解

ER(实体联系)模型中有三个主要的概念:实体集、属性、联系集。 实体集对应的是数据库中的一个表,一个实体则对应数据库表中的一行。一个属性则对应数据库表中的一列,则就是一个字段。 联系集就是表与表之间的关联关系; 一对一关联…

数据模型及E-R模型

数据模型的基本概念 模型就是对现实世界特征的模拟和抽象,数据模型是对现实世界数据特征的抽象。对于具体的模型人们并不陌生,如航模飞机、地图和建筑设计沙盘等都是具体的模型。最常用的数据模型分为概念数据模型和基本数据模型。 1)概念数据…

E-R模型

知识点 E-R模型(Entity-relationship model)表示: 实体: 用矩形框表示。 属性: 实体的属性用椭圆框表示。 联系:实体间的联系用菱形框表示,并在连线上标明联系的类型,即1—1、1—n或…

ER模型

定义:ER模型即实体-关系模型,ER图即实体-关系图。提供不受任何DBMS约束的面向用户的表达方法, 在数据库设计中被广泛用作数据建模的工具。E-R模型的构成成分是实体集、属性和联系集 其表示方法如下: (1)…

Mysql——ER模型

ER模型 数据库设计是牵一发而动全身的。那有没有什么办法提前看到数据库的全貌呢?比如需要哪些数据表、数据表中应该有哪些字段,数据表与数据表之间有什么关系、通过什么字段进行连接,等等。这样我们才能进行整体的梳理和设计。 其实,ER模…

从图像解释采样定理

在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的2.56~4倍;采样定理…

采样定理的直观解释

在 傅里叶级数和傅里叶变换之间的关系 这篇文章中,已经介绍了以下基本知识,建议在阅读本文之前掌握: 梳状函数的频谱图仍然是梳状函数梳状函数与别的函数卷积的结果一定是周期信号 这里的梳状函数 δ T s ( t ) {\delta}_{T_s}(t) δTs​​…

深入理解采样定理 + Matlab 仿真 Sa 函数的采样与恢复

建议配合国宝老师的视频食用。 信号与线性系统分析 吴大正 郭宝龙 文章目录 (1) 采样的说明1. 为什么要取样2. 什么是取样 (2) 采样定理1. 为什么要有奈奎斯特频率2. 什么是采样定理 (3) 信号的恢复(4) Matlab的Sa函数取样仿真1. 采样信号Sa函数的说明2. 进行参数的说明及相关计…