Windows--Wmic/Get-CimInstance

什么是WMIC

WMI的全名为“Windows Management Instrumentation”。从Windows 98开始,Windows操作系统都支持WMI。WMI是由一系列工具集组成的,可以在本地或者远程管理计算机系统。

常规用法

进程与服务

  • 获取系统进程信息
    【brief摘要信息,full全部信息】
wmic process list brief/full
#获取指定信息
wmic process get [属性]
#wmic process get processid,name,executablepath 
  • 创建/删除 进程
wmic process call  create/delete “[Process Name]#e.g
#wmic process call create calc (创建计算机进程,打开计算器)
wmic process call create "FilePath"
#wmic process call create "C:\windows\system32\cmd.exe "(打开某一个路径的程序,杀软拦截的比较狠)
  • 终止进程
wmic process where name=”explorer.exe” call terminate
  • 查詢服务信息
wmic service list brief
#查看运行中的服务
wmic service where "state='running'" list brief
  • 开启/关闭服务
#开去服务
wmic service where "name='【SERVERNAME】'" call startservice
#关闭服务
wmic service where "name='【SERVERNAME】'" call stopservice

系统应用程序

  • 查看安装的软件信息
wmic product get name,version

文件管理

  • 获取可执行文件列表
wmic process where "NOT ExecutablePath LIKE '%Windows%'" GET ExecutablePath
  • 获取目录属性
 wmic fsdir where "drive='【盘符】:' and filename='【目录名】'" get /format:list
#wmic fsdir where "drive='f:' and filename='kk'" get /format:list
  • 删除目录
wmic fsdir where "[盘符]:\\[目录名]" call delete
#使用双斜杆转义
#wmic fsdir where "f:\\test" call delete

用户账号管理

  • 用户信息获取
wmic useraccount
wmic useraccount list brief
  • 用户账号重命名
wmic useraccount where "name='%UserName%'" call rename newUserName   // 更改当前用户名
wmic useraccount where "name='Administrator'" call Rename admin  // 更改指定用户名

其他

  • 以文件的形式输出获取的内容
wmic /output:d:\install.txt product get name,version

WMIC之信息收集

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

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

获取操作系统详情

wmic os get /all /format:list

获取补丁信息

wmic qfe get Caption,Description,HotFixID,InstalledOn

获取SID

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

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

 wmic product get name,version

获取正在运行的服务列表

wmic service where "state='running'" list brief

获取反病毒产品详情

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

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

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

清理系统日志

wmic nteventlog list brief
wmic nteventlog where  logfileName=’system’ call cleareventlog

WMIC之内网横移

手动横移

由于wmic执行远程命令没有回显,所以要将结果写入到txt中

wmic /node:[TargetIp] /user:[UserName] /password:[Password] process call create "cmd.exe /c ipconfig > c:\result.txt"
# /node:指定将对其进行操作的服务器
type result.txt

脚本横移

wmiexec

参考链接
参考链接

Get-CimInstance

Get-CimInstance–wmic的替代品
配合WmiExplorer使用

常规操作

获取WMI类

Get-CimClass -Namespace root/CIMV2 |
  Where-Object CimClassName -like Win32* |
    Select-Object CimClassName

常规用法

进程与服务

  • 获取系统进程信息
Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Process|format-table processid,name,executablepath |Select-Object -First 10

#-Namespace 			指定命名空间
#-Class 				指定类名
#format-table/list		格式化输出
#Select-Object -First 	选取前十行

#筛选某一进程
Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Process -Filter "name = 'qq.exe'"|format-table processid,name,executablepath
  • 创建/删除 进程
#删除进程
Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Process -Filter "name = 'qq.exe'" |Invoke-CimMethod -Name Terminate 
[| Out-NULL]
  • 查詢服务信息
Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Service 

Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Service -Filter "State='Running'"
  • 开启/关闭服务
#开启打印后台处理程序
Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Service -Filter "name='spooler'"|Invoke-CimMethod -Name startservice
#关闭打印后台处理程序
Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Service -Filter "name='spooler'"|Invoke-CimMethod -Name stopservice

系统应用程序

  • 查看安装的软件信息
Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Product |format-table[Select-Object] name,version |Select-Object -First 10

文件管理

  • 获取可执行文件列表
Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Process -Filter "NOT ExecutablePath LIKE '%Windows%'"|format-table ExecutablePath
  • 获取目录属性
Get-CimInstance -Namespace ROOT\CIMV2 -Class win32_directory -filter "drive='f:' and filename='kk'" |select-object -first 10
  • 删除目录
Get-CimInstance -Namespace ROOT\CIMV2 -Class win32_directory -filter"drive='f:' and filename='test'" |Invoke-CimMethod -Name delete

用户账号管理

  • 用户信息获取
 Get-CimInstance -Namespace ROOT\CIMV2 -Class win32_useraccount
  • 用户账号重命名
Get-CimInstance -Namespace ROOT\CIMV2 -Class win32_useraccount-filter  "name='%UserName%'" |Invoke-CimMethod -Name rename("newUserName ")

GIM之信息收集

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

Get-CimInstance -Namespace ROOT\CIMV2 -Class win32_computersystem |select-object Name,Domain,Manufacturer,Model,Username,Roles

获取补丁信息

Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_QuickFixEngineering |select-object Caption,Description,HotFixID,InstalledOn

获取SID

Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Group |format-table caption,InstallDate,LocalAccount,Domain,SID,Status

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

Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Product |format-table[Select-Object] name,version |Select-Object -First 10

获取正在运行的服务列表

Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_Service -Filter "State='Running'"

获取反病毒产品详情

Get-CimInstance -Namespace ROOT\SecurityCenter2 -Class AntiVirusProduct | select-object displayName,productState, pathToSignedProductExe

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

Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_OnBoardDevice | select-object  Desciption,DeviceType,Enabled,Status

清理系统日志

Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_NTEventlogFile

#需要管理员权限
Get-CimInstance -Namespace ROOT\CIMV2 -Class Win32_NTEventlogFile -filter "logfilename='windows powershell'" |Invoke-CimMethod -Name ClearEventlog

官方文档
参考链接
参考链接
参考链接
红队技巧

你可能感兴趣的:(Learing)