内容简介:本文是关于使用WMIC(Windows Management Instrumentation Command)进行后期利用。当攻击者在远程PC上取得权限时,他可以枚举大量信息并使用WMI命令行进行快速更改。因此,首先要会远程获取权限,我们可以从
本文是关于使用WMIC(Windows Management Instrumentation Command)进行后期利用。当攻击者在远程PC上取得权限时,他可以枚举大量信息并使用WMI命令行进行快速更改。
因此,首先要会远程获取权限,我们可以从 这里 学习。获得权限后,将其升级为管理员(提权),我们可以从 这里 学习。
我们可以通过windows cmd访问WMIC命令行,并通过meterpreter shell中访问该类型的“ shell ”。
现在让我们一起来学习下wmic命令及其工作原理
WMIC
此命令用于显示wmic命令中使用的全局选项。WMIC Global Options用于设置WMIC环境的属性。通过全局选项和别名的组合,我们可以通过wmic环境管理系统。
语法/示例: wmic /?
获取系统角色,用户名和制造商
我们可以通过wmic命令的计算机系统别名列举有关受攻击者系统的大量信息,包括其名称,域名,制造商,型号以及更多信息。
我们正在添加以下过滤器以获得特定结果。
角色:它提供受攻击者系统的所有角色,如工作站,服务器,浏览器等。
制造商:它给制造商的系统,有时在特定模型中会存在某些漏洞。因此,我们可以使用此信息来搜索任意漏洞。
UserName:它提供了系统的用户名,这被证明非常有用,通过它,我们可以区分管理员和普通用户。
format:list:以列表格式对输出进行排序。
示例:wmic computersystem获取名称,域,制造商,型号,用户名,角色/格式:列表
获取SID
通过枚举这些SID,我们可以使用wmic的组别名。
语法/示例: wmic group获取Caption,InstallDate,LocalAccount,Domain,SID,Status
如下图所示,我们找到了帐户名,域,本地组成员状态,SID及其状态。
创建一个流程
我们可以使用wmic命令的进程别名在受攻击者的系统上创建许多进程,
为的是运行任意后门或占满被攻击者系统的内存。
语法:wmic process call create“[Process Name]”
示例: wmic进程调用create“taskmgr.exe”
正如下图展示的,该命令不仅创建了一个进程,还提供了“ 进程ID ”,以便我们根据所需操作该进程。
注意:如果进程创建了一个类似任务管理器,cmd等窗口,那么此命令将在受攻击者的系统上打开该窗口,并被受攻击者怀疑。
更改流程的优先级
我们可以借助wmic命令的进程别名来更改在受攻击者系统上运行的任何进程的优先级。
这是一个重要的功能,因为它可以用于操作流程,因为我们可以提高我们选择的任何流程的优先级或降低任何流程的优先级。降低任何进程的优先级可能导致该特定应用程序崩溃,并且增加可能导致整个系统崩溃。
示例: wmic process其中name =“explorer.exe”调用设置优先级64
终止进程
我们可以借助wmic命令的进程别名终止在受攻击者系统上运行的进程。
示例: wmic进程,其中name =“explorer.exe”调用终止
获取可执行文件列表
我们可以得到一个列表,其中包含除windows之外的可执行文件的位置。
示例: wmic进程,其中“NOT ExecutablePath LIKE'%Windows%'”GET ExecutablePath
获取文件夹属性
要提取受攻击者系统上文件夹的基本信息,我们可以使用wmic命令行的 fsdir 别名。
它可以枚举有关文件夹的以下信息:
压缩,压缩方法,创建日期,文件大小,可读,可写,系统文件与否,加密,加密类型等等。
示例: wmic fsdir where =“drive ='c:'and filename ='test'”get / format:list'
找到系统文件
提取所有重要系统文件的路径,如temp文件夹,win目录等等。
示例: wmic environment get Description,VariableValue
从下面给出的图像中,您可以读取带有给定描述的 variablevalue。
获取已安装的应用程序列表
我们可以获得受攻击者系统上安装的应用程序或软件列表
示例: wmic product获取名称
获取正在运行的服务列表
我们可以获取正在运行的服务列表以及自动启动或不启动的服务。
示例: wmic service其中(state =“running”)获取标题,名称,startmode
下图所示的图像中,您可以将startmode视为“自动”或“手动”,并为给定服务指示“正在运行”。
获取启动服务
我们可以使用启动别名为Windows启动期间运行的所有服务枚举启动服务。
示例: wmic startup获取Caption,Command
获取系统驱动详情
我们可以使用 sysdrive别名 枚举名称,路径和服务类型等驱动程序详细信息 。
此命令提供驱动程序文件的路径,其状态(正在运行或已停止),其类型(内核或文件系统)
示例: wmic sysdriver获取Caption,Name,PathName,ServiceType,State,Status / format:list
获取OS详细信息
可以使用设置系统的时区来枚举受攻击者的位置,这可以使用 操作系统别名 来提取。
我们还使用os别名获取上次启动更新时间和注册用户数和处理器数以及有关物理和虚拟内存的信息。
示例: wmic os获取CurrentTimeZone,FreePhysicalMemory,FreeVirtualMemory,LastBootUpdate,NumberofProcesses,NumberofUsers,Organization,RegisteredUsers,Status / format:list
获取主板详细信息
我们可以使用wmic命令行的 基板别名 来枚举受攻击者系统的主板细节。我们可以列举的主题是主板制造商,序列号和版本
示例: wmic baseboard,get Manufacturer,Product,SerialNumber,Version
获取BIOS序列号
可以使用wmic命令行的 bios别名 来枚举受攻击者系统的bios细节。
示例: wmic bios,获取serialNumber
从下面给出的图像中,您可以查看我们列举的受攻击者系统的BIOS序列号。
获取硬盘分区详细信息
可以使用 logicaldisk 别名获取有关硬盘分区的信息。
我们使用此命令获取名称,压缩状态,文件系统(NTFS,FAT)等等。
示例: wmic logicaldisk其中drivetype = 3 get Name,Compressed,Description,FileSystem,FreeSpace,SupportsDiskQuotas,VolumeDirty,VolumeName
从下面给出的图像中,您可以根据您的要求阅读磁盘描述以及文件系统,即NTFS和可用空间以及更多详细信息。
获取内存缓存细节
可以使用 memcache别名 获取有关内存缓存的信息。我们可以使用此命令获取名称,块大小,目的等等。
示例: wmic memcache获取Name,BlockSize,Purpose,MaxCacheSize,Status
从下面的图片中可以看到,它显示了两个缓存的详细信息。
获取内存芯片详情
可以使用 memorychip别名 获取有关RAM的信息。
我们使用此命令获取RAM的序列号,而无需移除RAM或物理上靠近系统。
示例: wmic memorychip获取PartNumber,SerialNumber
检测受攻击者系统是主机操作系统还是通过VMware安装
可以列举有关受攻击者系统的信息,该系统正在运行主机操作系统,即直接安装在硬盘驱动器上或使用VMware或Virtual Box虚拟运行。
语法: wmic onboarddevice get Desciption,DeviceType,Enabled,Status / format:list
在下面的图片中,如果您将观察突出显示的文本,那么您会看到它在描述中显示VMware。
用户帐户管理
锁定用户帐户
可以使用useraccount别名限制本地用户使用其帐户,在这里我们将锁定用户帐户。
示例: wmic useraccount其中name ='demo'set disabled = false
从下面给出的图像中,您可以观察到我们已成功锁定用户“demo”的用户帐户。
删除日志记录的密码要求
可以使用 useraccount别名 删除本地用户对其登录密码的要求
示例: wmic useraccount其中name ='demo'set PasswordRequired = false
重命名用户帐户
可以使用 useraccount别名 重命名本地用户
示例: wmic useraccount其中name ='demo'重命名黑客
限制用户更改密码
可以使用 useraccount别名 限制本地用户更改其密码
示例: wmic useraccount其中name ='hacker'set passwordchangeable = false
获取防病毒详细信息
还可以枚举受攻击者系统上安装的防病毒及其位置和版本。
语法: wmic / namespace:\ root securitycenter2 path antivirusproduct GET displayName,productState,pathToSignedProductExe
清除系统日志
Wmic可用于使用 nteventlog别名 删除系统日志。这是一个非常简单的命令,我们提到日志的名称,然后使用选项nteventlog并清除日志文件。在黑客攻击任何系统后进行清理时,它可以是一个有效的命令。
语法: wmic nteventlog where filename ='[logfilename]'cleareventlog
示例: wmic nteventlog其中filename ='system'cleareventlog
原文作者:帕万迪普·辛格,是一位渗透测试研究员,技术作家。可以联系 这里
审核人:yiwang 编辑:边边
以上所述就是小编给大家介绍的《比CMD更强大的命令行——WMIC后期利用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 比CMD更强大的命令行:WMIC后渗透利用(系统命令)
- 利用Python写属于自己的翻译命令行
- 利用CouchDB未授权访问漏洞执行任意系统命令
- 利用telnet命令测试邮件服务器是否可用
- 利用expect命令实现Shell自动化交互的方法详解
- Couchdb未授权访问可执行系统命令(利用cloudeye神器回显)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。