比CMD更强大的命令行:WMIC后渗透利用(系统命令)
写在前面的话
在这篇文章中,我们将讨论如何在攻击的后渗透利用阶段使用WMIC(Windows Management InstrumentationCommand Line)。当攻击者在远程PC上拿到meterpreter会话之后,他们就可以枚举大量的系统信息,并利用WMI命令行工具来进行更深程度的操作。
首先,我们会介绍如何拿到远程PC的meterpreter会话。拿到会话之后,我们还会告诉大家如何提权至管理员权限。
WMIC命令行可以通过Windows CMD来访问,直接在meterpreter shell中输入“shell“即可。接下来,我们一起看一看WMIC命令以及相应的工作机制。
WMIC
下面这个命令可以查看WMIC命令的全局选项,WMIC全局选项可以用来设置WMIC环境的各种属性,通过结合各种全局选项以及参数,我们就可以通过WMIC环境来管理整个系统了。
wmic /?
获取系统角色、用户名和制造商
铜鼓WMIC命令的操作系统指令,我们可以枚举出大量关于目标系统的信息,包括主机名、域名、制造商以及设备型号等等。
我们还可以添加下列过滤器来获取更精准的扫描结果:
Roles:它可以给我们提供目标设备在整个网络系统中所扮演的角色,例如工作站、服务器或个人PC等等。
Manufacturer:它可以给我们提供目标系统的制造商和设备型号,因为某些特定制造商所生产的特定型号设备会存在特定的漏洞,因此我们可以利用这部分信息来寻找存在漏洞的设备。
UserName:它可以给我们返回系统的用户名,我们可以利用这部分信息来区分谁是管理员谁是普通用户。
[/format:list]:以列表格式输出数据并排列。
wmic computersystem get Name, Domain, Manufacturer, Model, Username, Roles/format:list
获取SID
为了枚举出SID,我们需要用到WMIC的group选项:
wmic group get Caption, InstallDate, LocalAccount, Domain, SID, Status
如下图所示,我们已经查找到了账户名、域名、本地组成员状态、SID以及相应的状态:
创建一个进程
WMIC命令的process选项可以帮助我们在目标用户的系统中创建各种进程。这种功能可以帮助我们创建后门,或占用大量目标系统的内存:
wmic process call create “[Process Name]”
wmic process call create “taskmgr.exe”
你可以从下图中看到,这个命令不仅会创建一个进程,而且还会赋予相应的进程ID,所以我们就可以根据我们的需要来修改进程信息了。
注意:如果进程创建了一个类似任务管理器和CMD这样的窗口,那么这条命令将会在目标系统中打开这个窗口,这样会引起目标用户的怀疑。
修改进程优先级
WMIC命令的process选项还可以帮我们修改目标系统中运行进程的优先级,这是一个非常有用的功能。降低某个进程的优先级可能会导致特定的应用程序发生崩溃,而提升某个进程的优先级甚至还会导致整个系统发生崩溃。
wmic process where name=”explorer.exe” call set priority 64
终止进程
WMIC命令还可以帮我们终止目标系统正在运行的进程:
wmic process where name=”explorer.exe” call terminate
获取可执行文件列表
下面的命令可以枚举出整个系统中所有可执行文件的路径地址:
wmic process where “NOT ExecutablePath LIKE ‘%Windows%’” GET ExecutablePath
获取目录属性
WMIC命令的fsdir选项可以提取目标系统中文件目录的基本信息,其中包括压缩方法、创建日期、文件大小、是否可读写、是否为系统文件、加密状态以及加密类型等等:
wmic fsdir where=”drive=’c:’ and filename=’test’” get /format:list’
获取文件属性
WMIC命令的datafile选项可以获取目标系统中文件的基本信息,其中包括压缩方法、创建日期、文件大小、是否可读写、是否为系统文件、加密状态以及加密类型等等:
wmic datafile where=’[Path of File]’ get /format:list
wmic datafile where name=’c:\\windows\\system32\\demo\\demo.txt’ get /format:list
定位系统文件
WMIC可以提取出所有重要系统文件的路径,例如temp目录和win目录等等:
wmic environment get Description, VariableValue
获取已安装的应用程序列表
wmic product get name
获取正在运行的服务列表
获取到正在运行的服务列表之后,WMIC还可以提供服务的启动模式,例如“自动”、“手动”和“运行中”:
wmic service where (state=”running”) get caption, name, startmode
获取系统驱动详情
sysdrive选项可以枚举出驱动的名称、路径和服务类型等数据:
wmic sysdriver get Caption, Name, PathName, ServiceType, State, Status /format:list
获取操作系统详情
os选项可以列举出目标系统的上一次启动时间、注册的用户数量、处理器数量、物理/虚拟内存信息和安装的操作系统类型等等:
wmic os get CurrentTimeZone, FreePhysicalMemory, FreeVirtualMemory, LastBootUpdate,NumberofProcesses, NumberofUsers, Organization, RegisteredUsers, Status/format:list
获取主板信息和BIOS序列号
wmic baseboard, get Manufacturer, Product, SerialNumber, Version
wmic bios, get serialNumber
获取内存缓存数据
memcache选项可以获取到内存缓存名和块大小等信息:
wmic memcache get Name, BlockSize, Purpose, MaxCacheSize, Status
获取内存芯片信息
memorychip选项可以获取到RAM的相关信息,例如序列号等等:
wmic memorychip get PartNumber, SerialNumber
判断目标系统是否为虚拟机
我们可以根据onboarddevice选项返回的信息来判断目标系统到底是真实的主机操作系统,还是一台虚拟机(VMware或Virtual Box):
wmic onboarddevice get Desciption, DeviceType, Enabled, Status /format:list
用户账号管理
锁定用户账号
我们可以使用useraccount选项来锁定本地用户账号:
wmic useraccount where name=’demo’ set disabled=false
用户账号重命名
wmic useraccount where name=’demo’ rename hacker
限制用户修改密码
我们还可以限制本地用户的密码修改操作:
wmic useraccount where name=’hacker’ set passwordchangeable=false
获取反病毒产品详情
我们可以枚举出目标系统安装的反病毒产品信息,包括安装位置和版本:
wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState, pathToSignedProductExe
清理系统日志
WMIC命令的nteventlog选项还可以清除系统的日志记录,当你入侵了某个系统之后,这个命令可以帮助你掩盖攻击痕迹:
wmic nteventlog where filename='[logfilename]’ cleareventlog
wmic nteventlog where filename=’system’ cleareventlog
*参考来源:hackingarticles,
比CMD更强大的命令行:WMIC后渗透利用(系统命令)相关推荐
- oh-my-zsh(更强大的命令行工具)
点击上方"罗晓胜",马上关注,您的支持对我帮助很大 / 前言 / oh-my-zsh更强大的命令行工具,解放双手,比系统自带bash更加酷炫.高效,可以实现更强大的命令补全 ...
- windows比cmd更强大的 WMIC命令使用详解
文章目录 什么是wmic ? WMIC能做什么? WMIC命令使用帮助文档 WMIC命令使用实例 wmic的运行方式可以有两种法 1.显示进程的详细信息 2.停止.暂停和运行服务功能 3.显示出BIO ...
- rtorrent - 强大的命令行BT客户端
rtorrent - 强大的命令行BT客户端 NOTE - 文中展示的所有示例和指令都已经在Ubuntu 13.04中测试过. 一. 安装 [root@GY-10000 data] ...
- LFTP : 一个功能强大的命令行FTP程序
LFTP : 一个功能强大的命令行FTP程序 大家好,这篇文章是介绍Lftp以及如何在Linux操作系统下安装的.Lftp是一个基于命令行的文件传输软件(也被称为FTP客户端),由Alexander ...
- Ledger-复式记账的一个功能强大的命令行工具
无论你是一个电脑极客还是普通用户,记录账户开销总是必不可少的.虽然在Linux上有很多基于GUI的记账工具(比如 - GNUCash)受到大家欢迎,但是工作在命令行的记账工具是很多用户难以想象的.在本 ...
- dos命令行说adb不是系统命令
如果是在windows上安装好sdk后,在运行中输入cmd,调出windows命令行之后,输入adb,系统反馈说不是系统命令..... 解决办法很简单: 去Android sdk目录下边的tools目 ...
- Linux启动tomcat命令行关闭后服务会停止
最近因为项目需要迁移到云服务器上.自己一个开发还要兼顾运维的事情真是太难了.由于不熟悉.遇到一些各种各样的小坑.在此记录一下. 问题:Linux启动tomcat命令行关闭后服务会停止? 一般Linux ...
- dos命令行设置网络优先级_替代windows系统下cmd的10款命令行工具
喜欢用linux系统的或者从事开发编程的朋友可能会经常用到命令行工具,下面会整理一些windows下命令行工具. 1.powershell 系统自带 powershell 它可以说cmd的升级版.补充 ...
- windows使用linux命令行工具,替代Windows系统下cmd的10款命令行工具
喜欢用Linux系统的或者从事开发编程的朋友可能会经常用到命令行工具,下面会整理一些Windows下命令行工具. 1.powershell 系统自带 powershell 它可以说cmd的升级版.补充 ...
- linux tee 日志输出_25 个 Linux 下最炫酷又强大的命令行神器,你用过其中哪几个呢?...
众所周知,我们在 Linux 下大多数时候是使用命令行来处理任务的.这样不但操作起来效率比较高,而且界面也比较炫酷.下面,我们就给大家推荐一些不但炫酷又好用的 Linux 命令行神器. 1. exa ...
最新文章
- 数字基带传输与码间干扰
- DL:The development history of the important stage of DL
- 二十三、前端必学Node.js入门
- 阿里云边缘云荣获“分布式云创新奖”与“先进边缘云架构奖”
- 删除数据库的表中某字段的值《转》
- 求10 翻译c语言,求助:谁能帮我翻译下最基础的C语言,我是新手,谢谢了!
- java string 加密_java字符串加密解密
- 部署flas到服务器:No module named flask
- Java 数据类型和 MySql 数据类型对应一览表
- 中小微企业税务数据的指标分析
- 【车道线检测与寻迹】4月17 【多方内容总结】大模块:车辆检测,车道线检测,车辆压线判别
- 【无标题】AMAZINGIC晶焱科技:预防TVS闩锁风险的方法与实际案例分析
- hdu-2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 HDU - 2191(多重背包)
- windows打开iis7服务器远程桌面管理器
- Jexi设计 (1) Lexi研究
- 3D迷宫(DirextX9)
- java课程设计atm机_java课程设计报告-自动取款机模拟程序.doc
- 服务器IUSR_机器名账号找不到怎么办?(转自百度问问)
- 打印机出现无法共享问题0x0000842,0x000006d9等问题
- 【cpg控制】Hopf振荡器的一种python实现
热门文章
- jQuery手机网站导航下拉菜单代码
- 软件测试书在线阅读,软件测试实用教程
- 用计算机怎么安装新思路软件,新思路计算机二级
- ClientToScreen ScreenToClient GetWindowRect GetClientRect
- c语言代码混淆器,工具:c 混淆器——AvIator
- html怎么设置border-radius,CSS border-radius 能做什么?
- smartPrinter安装报错
- 桂林理工大学 就业指导 2021 创业项目计划书样本
- Java包装类,异常,集合,多线程,反射,IO,String类,lambda表达式,File类
- 官方VM tools下载地址